namespace Quadarax.Foundation.Core.QMonitor.Interfaces { public delegate void ReceiverHandlerDataChanged(IReceiverHandler sender, ReceiverHandlerStateEnum state); public interface IReceiverHandler : IDisposable { string InstanceIdentifier { get; } MonItemGeneral Descriptor { get; } ReceiverHandlerStateEnum State { get; } bool IsLiveBroadcast { get; } DateTime Timestamp { get; } event ReceiverHandlerDataChanged? DataChanged; void Play(bool isLive); void Stop(); void Rewind(TimeSpan? duration = null, bool isBackward = false); void Record(); DateTime? GetFirstAvailableDataTimestamp(); } public enum ReceiverHandlerStateEnum { Play, Stop, Rewind, Record } }