using MediaBrowser.Model.Entities; using MediaBrowser.Model.Session; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Session { public interface ISessionController { /// /// Gets a value indicating whether [supports media remote control]. /// /// true if [supports media remote control]; otherwise, false. bool SupportsMediaRemoteControl { get; } /// /// Gets a value indicating whether this instance is session active. /// /// true if this instance is session active; otherwise, false. bool IsSessionActive { get; } /// /// Sends the message command. /// /// The command. /// The cancellation token. /// Task. Task SendMessageCommand(MessageCommand command, CancellationToken cancellationToken); /// /// Sends the play command. /// /// The command. /// The cancellation token. /// Task. Task SendPlayCommand(PlayRequest command, CancellationToken cancellationToken); /// /// Sends the browse command. /// /// The command. /// The cancellation token. /// Task. Task SendBrowseCommand(BrowseRequest command, CancellationToken cancellationToken); /// /// Sends the playstate command. /// /// The command. /// The cancellation token. /// Task. Task SendPlaystateCommand(PlaystateRequest command, CancellationToken cancellationToken); /// /// Sends the generic command. /// /// The command. /// The cancellation token. /// Task. Task SendGeneralCommand(GeneralCommand command, CancellationToken cancellationToken); /// /// Sends the library update info. /// /// The info. /// The cancellation token. /// Task. Task SendLibraryUpdateInfo(LibraryUpdateInfo info, CancellationToken cancellationToken); /// /// Sends the restart required message. /// /// The cancellation token. /// Task. Task SendRestartRequiredNotification(CancellationToken cancellationToken); /// /// Sends the user data change info. /// /// The info. /// The cancellation token. /// Task. Task SendUserDataChangeInfo(UserDataChangeInfo info, CancellationToken cancellationToken); /// /// Sends the server shutdown notification. /// /// The cancellation token. /// Task. Task SendServerShutdownNotification(CancellationToken cancellationToken); /// /// Sends the server restart notification. /// /// The cancellation token. /// Task. Task SendServerRestartNotification(CancellationToken cancellationToken); } }