IEventManager.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using MediaBrowser.Model.Dlna;
  2. using System.Collections.Generic;
  3. using System.Threading.Tasks;
  4. namespace MediaBrowser.Controller.Dlna
  5. {
  6. public interface IEventManager
  7. {
  8. /// <summary>
  9. /// Cancels the event subscription.
  10. /// </summary>
  11. /// <param name="subscriptionId">The subscription identifier.</param>
  12. EventSubscriptionResponse CancelEventSubscription(string subscriptionId);
  13. /// <summary>
  14. /// Renews the event subscription.
  15. /// </summary>
  16. /// <param name="subscriptionId">The subscription identifier.</param>
  17. /// <param name="timeoutSeconds">The timeout seconds.</param>
  18. /// <returns>EventSubscriptionResponse.</returns>
  19. EventSubscriptionResponse RenewEventSubscription(string subscriptionId, int? timeoutSeconds);
  20. /// <summary>
  21. /// Creates the event subscription.
  22. /// </summary>
  23. /// <param name="notificationType">Type of the notification.</param>
  24. /// <param name="timeoutSeconds">The timeout seconds.</param>
  25. /// <param name="callbackUrl">The callback URL.</param>
  26. /// <returns>EventSubscriptionResponse.</returns>
  27. EventSubscriptionResponse CreateEventSubscription(string notificationType, int? timeoutSeconds, string callbackUrl);
  28. /// <summary>
  29. /// Gets the subscription.
  30. /// </summary>
  31. /// <param name="id">The identifier.</param>
  32. /// <returns>EventSubscription.</returns>
  33. EventSubscription GetSubscription(string id);
  34. /// <summary>
  35. /// Triggers the event.
  36. /// </summary>
  37. /// <param name="notificationType">Type of the notification.</param>
  38. /// <param name="stateVariables">The state variables.</param>
  39. /// <returns>Task.</returns>
  40. Task TriggerEvent(string notificationType, IDictionary<string,string> stateVariables);
  41. }
  42. }