From 2ca4b7d03adfa3cc7c9c6a597a11762142d5b34b Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Mon, 4 Mar 2013 00:43:06 -0500 Subject: Created IConfigurationManager --- MediaBrowser.ServerApplication/ApplicationHost.cs | 127 ++++++++-------------- 1 file changed, 46 insertions(+), 81 deletions(-) (limited to 'MediaBrowser.ServerApplication/ApplicationHost.cs') diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index fa9ba2b8f0..c36e0fa7fa 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -1,18 +1,16 @@ using MediaBrowser.Api; +using MediaBrowser.Common; +using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Constants; using MediaBrowser.Common.Implementations; using MediaBrowser.Common.Implementations.HttpServer; using MediaBrowser.Common.Implementations.Logging; -using MediaBrowser.Common.Implementations.NetworkManagement; using MediaBrowser.Common.Implementations.ScheduledTasks; -using MediaBrowser.Common.Implementations.Serialization; -using MediaBrowser.Common.Implementations.ServerManager; using MediaBrowser.Common.IO; using MediaBrowser.Common.Kernel; -using MediaBrowser.Common.Net; -using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Common.Updates; using MediaBrowser.Controller; +using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; @@ -21,13 +19,12 @@ using MediaBrowser.IsoMounter; using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; using MediaBrowser.Model.MediaInfo; -using MediaBrowser.Model.Serialization; using MediaBrowser.Model.System; using MediaBrowser.Model.Updates; using MediaBrowser.Server.Implementations; using MediaBrowser.Server.Implementations.BdInfo; +using MediaBrowser.Server.Implementations.Configuration; using MediaBrowser.Server.Implementations.Library; -using MediaBrowser.Server.Implementations.Library.Resolvers; using MediaBrowser.ServerApplication.Implementations; using MediaBrowser.WebDashboard.Api; using System; @@ -43,112 +40,80 @@ namespace MediaBrowser.ServerApplication /// /// Class CompositionRoot /// - public class ApplicationHost : BaseApplicationHost, IApplicationHost + public class ApplicationHost : BaseApplicationHost { /// - /// Gets or sets the kernel. + /// The _web socket events /// - /// The kernel. - internal Kernel Kernel { get; private set; } - - /// - /// The json serializer - /// - private readonly IJsonSerializer _jsonSerializer = new JsonSerializer(); - - /// - /// The _XML serializer - /// - private readonly IXmlSerializer _xmlSerializer = new XmlSerializer(); - private WebSocketEvents _webSocketEvents; /// - /// Gets the server application paths. + /// Gets the server kernel. /// - /// The server application paths. - protected IServerApplicationPaths ServerApplicationPaths + /// The server kernel. + protected Kernel ServerKernel { - get { return (IServerApplicationPaths)ApplicationPaths; } + get { return (Kernel)Kernel; } } /// - /// Initializes a new instance of the class. + /// Gets the server configuration manager. /// - /// The logger. - public ApplicationHost() - : base() + /// The server configuration manager. + public IServerConfigurationManager ServerConfigurationManager { + get { return (IServerConfigurationManager)ConfigurationManager; } } /// - /// Inits this instance. + /// Gets the kernel. /// - /// Task. - public override async Task Init() + /// IKernel. + protected override IKernel GetKernel() { - await base.Init().ConfigureAwait(false); - - Kernel = new Kernel(this, ServerApplicationPaths, _xmlSerializer, Logger); - - var networkManager = new NetworkManager(); - - var serverManager = new ServerManager(this, Kernel, networkManager, _jsonSerializer, Logger); - - var taskManager = new TaskManager(ApplicationPaths, _jsonSerializer, Logger, serverManager); - - LogManager.ReloadLogger(Kernel.Configuration.EnableDebugLevelLogging ? LogSeverity.Debug : LogSeverity.Info); - - Logger.Info("Version {0} initializing", ApplicationVersion); - - RegisterResources(taskManager, networkManager, serverManager); - - FindParts(); + return new Kernel(this, XmlSerializer, LogManager, ServerConfigurationManager); } /// - /// Gets the application paths. + /// Gets the name of the log file prefix. /// - /// IApplicationPaths. - protected override IApplicationPaths GetApplicationPaths() + /// The name of the log file prefix. + protected override string LogFilePrefixName { - return new ServerApplicationPaths(); + get { return "Server"; } } /// - /// Gets the log manager. + /// Gets the configuration manager. /// - /// ILogManager. - protected override ILogManager GetLogManager() + /// IConfigurationManager. + protected override IConfigurationManager GetConfigurationManager() { - return new NlogManager(ApplicationPaths.LogDirectoryPath, "Server"); + return new ServerConfigurationManager(ApplicationPaths, LogManager, XmlSerializer); } /// /// Registers resources that classes will depend on /// - protected override void RegisterResources(ITaskManager taskManager, INetworkManager networkManager, IServerManager serverManager) + protected override void RegisterResources() { - base.RegisterResources(taskManager, networkManager, serverManager); - - RegisterSingleInstance(Kernel); - RegisterSingleInstance(Kernel); + base.RegisterResources(); - RegisterSingleInstance(this); + RegisterSingleInstance(ApplicationPaths); + + RegisterSingleInstance(ServerKernel); + RegisterSingleInstance(ServerConfigurationManager); - - RegisterSingleInstance(ServerApplicationPaths); RegisterSingleInstance(new PismoIsoManager(Logger)); RegisterSingleInstance(new BdInfoExaminer()); RegisterSingleInstance(new DotNetZipClient()); - RegisterSingleInstance(_jsonSerializer); - RegisterSingleInstance(_xmlSerializer); RegisterSingleInstance(ServerFactory.CreateServer(this, ProtobufSerializer, Logger, "Media Browser", "index.html"), false); - var userManager = new UserManager(Kernel, Logger); + var userManager = new UserManager(ServerKernel, Logger, ServerConfigurationManager); + RegisterSingleInstance(userManager); - RegisterSingleInstance(new LibraryManager(Kernel, Logger, taskManager, userManager)); + RegisterSingleInstance(new LibraryManager(ServerKernel, Logger, TaskManager, userManager, ServerConfigurationManager)); } /// @@ -160,15 +125,15 @@ namespace MediaBrowser.ServerApplication Resolve().AddParts(GetExports(), GetExports(), GetExports(), GetExports()); - Kernel.InstallationManager = (InstallationManager)CreateInstance(typeof(InstallationManager)); + ServerKernel.InstallationManager = (InstallationManager)CreateInstance(typeof(InstallationManager)); - _webSocketEvents = new WebSocketEvents(Resolve(), Resolve(), Resolve(), Resolve(), Resolve(), Kernel.InstallationManager); + _webSocketEvents = new WebSocketEvents(Resolve(), Resolve(), Resolve(), Resolve(), Resolve(), ServerKernel.InstallationManager); } /// /// Restarts this instance. /// - public void Restart() + public override void Restart() { App.Instance.Restart(); } @@ -177,9 +142,9 @@ namespace MediaBrowser.ServerApplication /// Gets or sets a value indicating whether this instance can self update. /// /// true if this instance can self update; otherwise, false. - public bool CanSelfUpdate + public override bool CanSelfUpdate { - get { return Kernel.Configuration.EnableAutoUpdate; } + get { return ConfigurationManager.CommonConfiguration.EnableAutoUpdate; } } /// @@ -188,11 +153,11 @@ namespace MediaBrowser.ServerApplication /// The cancellation token. /// The progress. /// Task{CheckForUpdateResult}. - public async Task CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress progress) + public async override Task CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress progress) { var pkgManager = Resolve(); - var availablePackages = await pkgManager.GetAvailablePackages(Resolve(), Resolve(), Kernel.SecurityManager, Kernel.ResourcePools, Resolve(), CancellationToken.None).ConfigureAwait(false); - var version = Kernel.InstallationManager.GetLatestCompatibleVersion(availablePackages, Constants.MBServerPkgName, Kernel.Configuration.SystemUpdateLevel); + var availablePackages = await pkgManager.GetAvailablePackages(CancellationToken.None).ConfigureAwait(false); + var version = ServerKernel.InstallationManager.GetLatestCompatibleVersion(availablePackages, Constants.MBServerPkgName, ConfigurationManager.CommonConfiguration.SystemUpdateLevel); return version != null ? new CheckForUpdateResult { AvailableVersion = version.version, IsUpdateAvailable = version.version > ApplicationVersion, Package = version } : new CheckForUpdateResult { AvailableVersion = ApplicationVersion, IsUpdateAvailable = false }; @@ -205,10 +170,10 @@ namespace MediaBrowser.ServerApplication /// The cancellation token. /// The progress. /// Task. - public Task UpdateApplication(PackageVersionInfo package, CancellationToken cancellationToken, IProgress progress) + public override Task UpdateApplication(PackageVersionInfo package, CancellationToken cancellationToken, IProgress progress) { var pkgManager = Resolve(); - return pkgManager.InstallPackage(Resolve(), Resolve(), Kernel.ResourcePools, progress, Kernel.ApplicationPaths, package, cancellationToken); + return pkgManager.InstallPackage(progress, package, cancellationToken); } /// @@ -254,7 +219,7 @@ namespace MediaBrowser.ServerApplication /// /// Shuts down. /// - public void Shutdown() + public override void Shutdown() { App.Instance.Dispatcher.Invoke(App.Instance.Shutdown); } -- cgit v1.2.3