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);
}
}