using MediaBrowser.Model.Dlna;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Dlna
{
public interface IEventManager
{
///
/// Cancels the event subscription.
///
/// The subscription identifier.
EventSubscriptionResponse CancelEventSubscription(string subscriptionId);
///
/// Renews the event subscription.
///
/// The subscription identifier.
/// The timeout seconds.
/// EventSubscriptionResponse.
EventSubscriptionResponse RenewEventSubscription(string subscriptionId, int? timeoutSeconds);
///
/// Creates the event subscription.
///
/// Type of the notification.
/// The timeout seconds.
/// The callback URL.
/// EventSubscriptionResponse.
EventSubscriptionResponse CreateEventSubscription(string notificationType, int? timeoutSeconds, string callbackUrl);
///
/// Gets the subscription.
///
/// The identifier.
/// EventSubscription.
EventSubscription GetSubscription(string id);
///
/// Triggers the event.
///
/// Type of the notification.
/// The state variables.
/// Task.
Task TriggerEvent(string notificationType, IDictionary stateVariables);
}
}