diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-05-12 14:04:25 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-05-12 14:04:25 -0400 |
| commit | 631442883085b10e36675fca5117fa3a49a608e0 (patch) | |
| tree | 1b542459c3d6a3e6833c2993b4c8a7e4992de61a /MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs | |
| parent | b9b568de13d81f9db1a8502d50940475c1d79c72 (diff) | |
Add remote control chapter menu
Diffstat (limited to 'MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs deleted file mode 100644 index ad9db947aa..0000000000 --- a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs +++ /dev/null @@ -1,144 +0,0 @@ -using MediaBrowser.Common.Net; -using MediaBrowser.Controller; -using MediaBrowser.Controller.Session; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Net; -using MediaBrowser.Model.Serialization; -using MediaBrowser.Model.Session; -using MediaBrowser.Model.System; -using System; -using System.Threading; -using System.Threading.Tasks; - -namespace MediaBrowser.Server.Implementations.Roku -{ - public class RokuSessionController : ISessionController - { - private readonly IHttpClient _httpClient; - private readonly IJsonSerializer _json; - private readonly IServerApplicationHost _appHost; - - public SessionInfo Session { get; private set; } - - public RokuSessionController(IHttpClient httpClient, IJsonSerializer json, IServerApplicationHost appHost, SessionInfo session) - { - _httpClient = httpClient; - _json = json; - _appHost = appHost; - Session = session; - } - - public bool SupportsMediaRemoteControl - { - get { return false; } - } - - public bool IsSessionActive - { - get - { - return (DateTime.UtcNow - Session.LastActivityDate).TotalMinutes <= 10; - } - } - - public Task SendSessionEndedNotification(SessionInfoDto sessionInfo, CancellationToken cancellationToken) - { - return Task.FromResult(true); - } - - public Task SendPlaybackStartNotification(SessionInfoDto sessionInfo, CancellationToken cancellationToken) - { - return Task.FromResult(true); - } - - public Task SendPlaybackStoppedNotification(SessionInfoDto sessionInfo, CancellationToken cancellationToken) - { - return Task.FromResult(true); - } - - public Task SendPlayCommand(PlayRequest command, CancellationToken cancellationToken) - { - return SendCommand(new WebSocketMessage<PlayRequest> - { - MessageType = "Play", - Data = command - - }, cancellationToken); - } - - public Task SendPlaystateCommand(PlaystateRequest command, CancellationToken cancellationToken) - { - return SendCommand(new WebSocketMessage<PlaystateRequest> - { - MessageType = "Playstate", - Data = command - - }, cancellationToken); - } - - public Task SendLibraryUpdateInfo(LibraryUpdateInfo info, CancellationToken cancellationToken) - { - // Roku probably won't care about this - return Task.FromResult(true); - } - - public Task SendRestartRequiredNotification(CancellationToken cancellationToken) - { - return SendCommand(new WebSocketMessage<SystemInfo> - { - MessageType = "RestartRequired", - Data = _appHost.GetSystemInfo() - - }, cancellationToken); - } - - public Task SendUserDataChangeInfo(UserDataChangeInfo info, CancellationToken cancellationToken) - { - // Roku probably won't care about this - return Task.FromResult(true); - } - - public Task SendServerShutdownNotification(CancellationToken cancellationToken) - { - return SendCommand(new WebSocketMessage<string> - { - MessageType = "ServerShuttingDown", - Data = string.Empty - - }, cancellationToken); - } - - public Task SendServerRestartNotification(CancellationToken cancellationToken) - { - return SendCommand(new WebSocketMessage<string> - { - MessageType = "ServerRestarting", - Data = string.Empty - - }, cancellationToken); - } - - private Task SendCommand(object obj, CancellationToken cancellationToken) - { - var json = _json.SerializeToString(obj); - - return _httpClient.Post(new HttpRequestOptions - { - Url = "http://" + Session.RemoteEndPoint + "/mb/remotecontrol", - CancellationToken = cancellationToken, - RequestContent = json, - RequestContentType = "application/json" - }); - } - - public Task SendGeneralCommand(GeneralCommand command, CancellationToken cancellationToken) - { - return SendCommand(new WebSocketMessage<GeneralCommand> - { - MessageType = "Command", - Data = command - - }, cancellationToken); - } - } -} |
