EventSubscription.cs 688 B

12345678910111213141516171819202122232425262728
  1. using System;
  2. namespace Emby.Dlna.Eventing
  3. {
  4. public class EventSubscription
  5. {
  6. public string Id { get; set; }
  7. public string CallbackUrl { get; set; }
  8. public string NotificationType { get; set; }
  9. public DateTime SubscriptionTime { get; set; }
  10. public int TimeoutSeconds { get; set; }
  11. public long TriggerCount { get; set; }
  12. public void IncrementTriggerCount()
  13. {
  14. if (TriggerCount == long.MaxValue)
  15. {
  16. TriggerCount = 0;
  17. }
  18. TriggerCount++;
  19. }
  20. public bool IsExpired => SubscriptionTime.AddSeconds(TimeoutSeconds) >= DateTime.UtcNow;
  21. }
  22. }