aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Session/RokuController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Session/RokuController.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Session/RokuController.cs149
1 files changed, 0 insertions, 149 deletions
diff --git a/MediaBrowser.Server.Implementations/Session/RokuController.cs b/MediaBrowser.Server.Implementations/Session/RokuController.cs
deleted file mode 100644
index f7ca43c9f2..0000000000
--- a/MediaBrowser.Server.Implementations/Session/RokuController.cs
+++ /dev/null
@@ -1,149 +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.Session
-{
- public class RokuController : ISessionController
- {
- private readonly IHttpClient _httpClient;
- private readonly IJsonSerializer _json;
- private readonly IServerApplicationHost _appHost;
-
- public SessionInfo Session { get; private set; }
-
- public RokuController(IHttpClient httpClient, IJsonSerializer json, IServerApplicationHost appHost, SessionInfo session)
- {
- _httpClient = httpClient;
- _json = json;
- _appHost = appHost;
- Session = session;
- }
-
- public bool SupportsMediaRemoteControl
- {
- get { return true; }
- }
-
- public bool IsSessionActive
- {
- get
- {
- return (DateTime.UtcNow - Session.LastActivityDate).TotalMinutes <= 10;
- }
- }
-
- public Task SendSystemCommand(SystemCommand command, CancellationToken cancellationToken)
- {
- return SendCommand(new WebSocketMessage<string>
- {
- MessageType = "SystemCommand",
- Data = command.ToString()
-
- }, cancellationToken);
- }
-
- public Task SendMessageCommand(MessageCommand command, CancellationToken cancellationToken)
- {
- return SendCommand(new WebSocketMessage<MessageCommand>
- {
- MessageType = "MessageCommand",
- Data = command
-
- }, cancellationToken);
- }
-
- public Task SendPlayCommand(PlayRequest command, CancellationToken cancellationToken)
- {
- return SendCommand(new WebSocketMessage<PlayRequest>
- {
- MessageType = "Play",
- Data = command
-
- }, cancellationToken);
- }
-
- public Task SendBrowseCommand(BrowseRequest command, CancellationToken cancellationToken)
- {
- return SendCommand(new WebSocketMessage<BrowseRequest>
- {
- MessageType = "Browse",
- 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 = "mb/remotecontrol",
- CancellationToken = cancellationToken,
- RequestContent = json,
- RequestContentType = "application/json"
- });
- }
- }
-}