using System; using InABox.Core; namespace InABox.Mobile { public class TransportConnectedEventArgs : EventArgs { } public delegate void TransportConnectedEvent(TransportConnectedEventArgs args); public class TransportDisconnectedEventArgs : EventArgs { } public delegate void BackgroundUpdateStatusEvent(object sender, EventArgs args); public delegate void TransportDisconnectedEvent(TransportDisconnectedEventArgs args); public interface IModelHost { bool IsConnected(); event TransportDisconnectedEvent TransportDisconnected; event TransportConnectedEvent TransportConnected; 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(); } }