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