using MediaBrowser.Model.Session; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Session { public interface ISessionRemoteController { /// /// Supportses the specified session. /// /// The session. /// true if XXXX, false otherwise bool Supports(SessionInfo session); /// /// Sends the system command. /// /// The session. /// The command. /// The cancellation token. /// Task. Task SendSystemCommand(SessionInfo session, SystemCommand command, CancellationToken cancellationToken); /// /// Sends the message command. /// /// The session. /// The command. /// The cancellation token. /// Task. Task SendMessageCommand(SessionInfo session, MessageCommand command, CancellationToken cancellationToken); /// /// Sends the play command. /// /// The session. /// The command. /// The cancellation token. /// Task. Task SendPlayCommand(SessionInfo session, PlayRequest command, CancellationToken cancellationToken); /// /// Sends the browse command. /// /// The session. /// The command. /// The cancellation token. /// Task. Task SendBrowseCommand(SessionInfo session, BrowseRequest command, CancellationToken cancellationToken); /// /// Sends the playstate command. /// /// The session. /// The command. /// The cancellation token. /// Task. Task SendPlaystateCommand(SessionInfo session, PlaystateRequest command, CancellationToken cancellationToken); } }