using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Notifications; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Notifications { public interface INotificationManager { /// /// Sends the notification. /// /// The request. /// The cancellation token. /// Task. Task SendNotification(NotificationRequest request, CancellationToken cancellationToken); /// /// Adds the parts. /// /// The services. void AddParts(IEnumerable services); } public interface INotificationService { /// /// Gets the name. /// /// The name. string Name { get; } /// /// Sends the notification. /// /// The request. /// The cancellation token. /// Task. Task SendNotification(UserNotification request, CancellationToken cancellationToken); /// /// Determines whether [is enabled for user] [the specified user identifier]. /// /// The user. /// true if [is enabled for user] [the specified user identifier]; otherwise, false. bool IsEnabledForUser(User user); } }