2021-05-07 08:43:50 -04:00
|
|
|
#nullable disable
|
|
|
|
|
2020-01-22 15:00:07 -05:00
|
|
|
#pragma warning disable CS1591
|
|
|
|
|
2019-01-13 14:54:44 -05:00
|
|
|
using System;
|
2016-10-29 18:22:20 -04:00
|
|
|
|
2016-10-29 18:34:54 -04:00
|
|
|
namespace Emby.Dlna.Eventing
|
2016-10-29 18:22:20 -04:00
|
|
|
{
|
|
|
|
public class EventSubscription
|
|
|
|
{
|
|
|
|
public string Id { get; set; }
|
2020-06-15 17:43:52 -04:00
|
|
|
|
2016-10-29 18:22:20 -04:00
|
|
|
public string CallbackUrl { get; set; }
|
2020-06-15 17:43:52 -04:00
|
|
|
|
2016-10-29 18:22:20 -04:00
|
|
|
public string NotificationType { get; set; }
|
|
|
|
|
|
|
|
public DateTime SubscriptionTime { get; set; }
|
2020-06-15 17:43:52 -04:00
|
|
|
|
2016-10-29 18:22:20 -04:00
|
|
|
public int TimeoutSeconds { get; set; }
|
|
|
|
|
|
|
|
public long TriggerCount { get; set; }
|
|
|
|
|
2020-01-22 15:00:07 -05:00
|
|
|
public bool IsExpired => SubscriptionTime.AddSeconds(TimeoutSeconds) >= DateTime.UtcNow;
|
|
|
|
|
2016-10-29 18:22:20 -04:00
|
|
|
public void IncrementTriggerCount()
|
|
|
|
{
|
|
|
|
if (TriggerCount == long.MaxValue)
|
|
|
|
{
|
|
|
|
TriggerCount = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
TriggerCount++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|