using System; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Plugins; using MediaBrowser.Controller.Session; using MediaBrowser.Model.Diagnostics; using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; using MediaBrowser.Model.Threading; using System.Collections.Generic; using System.Threading; namespace MediaBrowser.Api { /// /// Class ServerEntryPoint /// public class ApiEntryPoint : IServerEntryPoint { /// /// The instance /// public static ApiEntryPoint Instance; /// /// Gets or sets the logger. /// /// The logger. internal ILogger Logger { get; private set; } internal IHttpResultFactory ResultFactory { get; private set; } /// /// The application paths /// private readonly IServerConfigurationManager _config; private readonly ISessionManager _sessionManager; private readonly IFileSystem _fileSystem; private readonly IMediaSourceManager _mediaSourceManager; public readonly ITimerFactory TimerFactory; public readonly IProcessFactory ProcessFactory; private readonly Dictionary _transcodingLocks = new Dictionary(); /// /// Initializes a new instance of the class. /// /// The logger. /// The session manager. /// The configuration. /// The file system. /// The media source manager. public ApiEntryPoint(ILogger logger, ISessionManager sessionManager, IServerConfigurationManager config, IFileSystem fileSystem, IMediaSourceManager mediaSourceManager, ITimerFactory timerFactory, IProcessFactory processFactory, IHttpResultFactory resultFactory) { Logger = logger; _sessionManager = sessionManager; _config = config; _fileSystem = fileSystem; _mediaSourceManager = mediaSourceManager; TimerFactory = timerFactory; ProcessFactory = processFactory; ResultFactory = resultFactory; Instance = this; } public static string[] Split(string value, char separator, bool removeEmpty) { if (string.IsNullOrWhiteSpace(value)) { return new string[] { }; } if (removeEmpty) { return value.Split(new[] { separator }, StringSplitOptions.RemoveEmptyEntries); } return value.Split(separator); } public void Run() { } public void Dispose() { GC.SuppressFinalize(this); } } }