using System; using InABox.Core; namespace InABox.Avalonia { // public class TransportConnectedEventArgs : EventArgs // { // // } // public delegate void TransportConnectedEvent(object sender, TransportConnectedEventArgs args); // // public class TransportDisconnectedEventArgs : EventArgs // { // // } // public delegate void TransportDisconnectedEvent(object sender, TransportDisconnectedEventArgs args); public delegate void BackgroundUpdateStatusEvent(object sender, EventArgs args); public enum ConnectionStatus { Disconnected, Connecting, Connected } public interface IModelHost { ConnectionStatus Status { get; } bool IsBackgroundUpdateStatusActive { get; } event BackgroundUpdateStatusEvent BackgroundUpdateStatusChanged; void AddUpdateQueue(QueueUpdater queueUpdater) where TEntity : Entity, IPersistent, IRemotable, new(); void RemoveUpdateQueue(QueueUpdater queueUpdater) where TEntity : Entity, IPersistent, IRemotable, new(); } }