IReceiverHandler.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. namespace Quadarax.Foundation.Core.QMonitor.Interfaces
  2. {
  3. public delegate void ReceiverHandlerStateChanged(IReceiverHandler sender, ReceiverHandlerStateEnum state);
  4. public delegate void ReceiverHandlerDataChanged(IReceiverHandler sender, MonData newData);
  5. public interface IReceiverHandler : IDisposable
  6. {
  7. string InstanceIdentifier { get; }
  8. MonItemGeneral Descriptor { get; }
  9. ReceiverHandlerStateEnum State { get; }
  10. bool IsLiveBroadcast { get; }
  11. DateTime? Timestamp { get; }
  12. TimeSpan RefreshInterval { get; set; }
  13. MonData[]? CurrentData { get; }
  14. event ReceiverHandlerStateChanged? ReceiverHandlerStateChanged;
  15. event ReceiverHandlerDataChanged? ReceiverHandlerDataChanged;
  16. void Play(bool isLive);
  17. void Stop();
  18. void Rewind(TimeSpan? duration = null, bool isBackward = false);
  19. void RewindToNextChange();
  20. void RewindToPreviousChange();
  21. void Record();
  22. DateTime? GetFirstAvailableDataTimestamp();
  23. }
  24. public enum ReceiverHandlerStateEnum
  25. {
  26. Play,
  27. Stop,
  28. Rewind,
  29. Record
  30. }
  31. }