aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-05-12 14:04:25 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-05-12 14:04:25 -0400
commit631442883085b10e36675fca5117fa3a49a608e0 (patch)
tree1b542459c3d6a3e6833c2993b4c8a7e4992de61a /MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs
parentb9b568de13d81f9db1a8502d50940475c1d79c72 (diff)
Add remote control chapter menu
Diffstat (limited to 'MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs144
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);
- }
- }
-}