jellyfin-server/MediaBrowser.Server.Implementations/Roku/RokuControllerFactory.cs
2014-03-21 23:35:03 -04:00

38 lines
1.2 KiB
C#

using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Serialization;
using System;
using System.Collections.Generic;
namespace MediaBrowser.Server.Implementations.Roku
{
public class RokuControllerFactory : ISessionControllerFactory
{
private readonly IHttpClient _httpClient;
private readonly IJsonSerializer _json;
private readonly IServerApplicationHost _appHost;
public RokuControllerFactory(IHttpClient httpClient, IJsonSerializer json, IServerApplicationHost appHost)
{
_httpClient = httpClient;
_json = json;
_appHost = appHost;
}
public ISessionController GetSessionController(SessionInfo session)
{
if (string.Equals(session.Client, "roku", StringComparison.OrdinalIgnoreCase))
{
session.PlayableMediaTypes = new List<string> { MediaType.Video, MediaType.Audio };
session.SupportsFullscreenToggle = false;
return new RokuSessionController(_httpClient, _json, _appHost, session);
}
return null;
}
}
}