From af7aa597c35279e286ee88641854db69744e7b15 Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Thu, 28 Feb 2013 14:32:41 -0500 Subject: referenced core plugins, fixed some dashboard issues, extracted library manager --- MediaBrowser.ServerApplication/ApplicationHost.cs | 26 ++++++++++------------ .../LibraryExplorer.xaml.cs | 9 +++++--- MediaBrowser.ServerApplication/MainWindow.xaml.cs | 9 +++++--- .../MediaBrowser.ServerApplication.csproj | 16 ++++++------- 4 files changed, 31 insertions(+), 29 deletions(-) (limited to 'MediaBrowser.ServerApplication') diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 5ba0485edf..d97f4b53fc 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -1,14 +1,12 @@ -using BDInfo; +using MediaBrowser.Api; using MediaBrowser.ClickOnce; using MediaBrowser.Common.Implementations; -using MediaBrowser.Common.Implementations.HttpClientManager; 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.Implementations.Udp; using MediaBrowser.Common.IO; using MediaBrowser.Common.Kernel; using MediaBrowser.Common.Net; @@ -23,11 +21,12 @@ 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.Library; using MediaBrowser.ServerApplication.Implementations; +using MediaBrowser.WebDashboard.Api; using System; using System.Collections.Generic; -using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; @@ -120,7 +119,6 @@ namespace MediaBrowser.ServerApplication RegisterSingleInstance(this); - RegisterSingleInstance(new UserManager(Kernel, Logger)); RegisterSingleInstance(ServerApplicationPaths); RegisterSingleInstance(new PismoIsoManager(Logger)); @@ -129,6 +127,11 @@ namespace MediaBrowser.ServerApplication RegisterSingleInstance(_jsonSerializer); RegisterSingleInstance(_xmlSerializer); RegisterSingleInstance(ServerFactory.CreateServer(this, ProtobufSerializer, Logger, "Media Browser", "index.html"), false); + + var userManager = new UserManager(Kernel, Logger); + RegisterSingleInstance(userManager); + + RegisterSingleInstance(new LibraryManager(Kernel, Logger, taskManager, userManager)); } /// @@ -186,16 +189,11 @@ namespace MediaBrowser.ServerApplication yield return pluginAssembly; } - var runningDirectory = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName); - var corePluginDirectory = Path.Combine(runningDirectory, "CorePlugins"); + // Include composable parts in the Api assembly + yield return typeof(ApiService).Assembly; - // This will prevent the .dll file from getting locked, and allow us to replace it when needed - foreach (var pluginAssembly in Directory - .EnumerateFiles(corePluginDirectory, "*.dll", SearchOption.TopDirectoryOnly) - .Select(LoadAssembly).Where(a => a != null)) - { - yield return pluginAssembly; - } + // Include composable parts in the Dashboard assembly + yield return typeof(DashboardInfo).Assembly; // Include composable parts in the Model assembly yield return typeof(SystemInfo).Assembly; diff --git a/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs b/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs index b88b649880..2c07effde3 100644 --- a/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs +++ b/MediaBrowser.ServerApplication/LibraryExplorer.xaml.cs @@ -31,7 +31,8 @@ namespace MediaBrowser.ServerApplication private readonly ILogger _logger; private readonly IJsonSerializer _jsonSerializer; - + private readonly ILibraryManager _libraryManager; + /// /// The current user /// @@ -39,7 +40,7 @@ namespace MediaBrowser.ServerApplication /// /// Initializes a new instance of the class. /// - public LibraryExplorer(IJsonSerializer jsonSerializer, ILogger logger, IApplicationHost appHost, IUserManager userManager) + public LibraryExplorer(IJsonSerializer jsonSerializer, ILogger logger, IApplicationHost appHost, IUserManager userManager, ILibraryManager libraryManager) { _logger = logger; _jsonSerializer = jsonSerializer; @@ -51,6 +52,8 @@ namespace MediaBrowser.ServerApplication ddlProfile.Items.Insert(0,new User {Name = "Physical"}); ddlProfile.SelectedIndex = 0; ddlIndexBy.Visibility = ddlSortBy.Visibility = lblIndexBy.Visibility = lblSortBy.Visibility = Visibility.Hidden; + + _libraryManager = libraryManager; } /// @@ -77,7 +80,7 @@ namespace MediaBrowser.ServerApplication await Task.Run(() => { IEnumerable children; - children = CurrentUser.Name == "Physical" ? Kernel.Instance.RootFolder.Children.OrderBy(i => i.SortName) : Kernel.Instance.RootFolder.GetChildren(CurrentUser, sortBy: LocalizedStrings.Instance.GetString("NameDispPref")); + children = CurrentUser.Name == "Physical" ? _libraryManager.RootFolder.Children.OrderBy(i => i.SortName) : _libraryManager.RootFolder.GetChildren(CurrentUser, sortBy: LocalizedStrings.Instance.GetString("NameDispPref")); foreach (Folder folder in children) { diff --git a/MediaBrowser.ServerApplication/MainWindow.xaml.cs b/MediaBrowser.ServerApplication/MainWindow.xaml.cs index dbb3c9842b..4904eb0f7b 100644 --- a/MediaBrowser.ServerApplication/MainWindow.xaml.cs +++ b/MediaBrowser.ServerApplication/MainWindow.xaml.cs @@ -54,6 +54,8 @@ namespace MediaBrowser.ServerApplication /// The _log manager /// private readonly ILogManager _logManager; + + private readonly ILibraryManager _libraryManager; /// /// Initializes a new instance of the class. @@ -62,7 +64,7 @@ namespace MediaBrowser.ServerApplication /// The logger. /// The app host. /// logger - public MainWindow(ILogManager logManager, IApplicationHost appHost) + public MainWindow(ILogManager logManager, IApplicationHost appHost, ILibraryManager libraryManager) { if (logManager == null) { @@ -72,6 +74,7 @@ namespace MediaBrowser.ServerApplication _logger = logManager.GetLogger("MainWindow"); _appHost = appHost; _logManager = logManager; + _libraryManager = libraryManager; InitializeComponent(); @@ -231,8 +234,8 @@ namespace MediaBrowser.ServerApplication /// The e. void KernelReloadCompleted(object sender, EventArgs e) { - Kernel.Instance.LibraryManager.LibraryChanged -= Instance_LibraryChanged; - Kernel.Instance.LibraryManager.LibraryChanged += Instance_LibraryChanged; + _libraryManager.LibraryChanged -= Instance_LibraryChanged; + _libraryManager.LibraryChanged += Instance_LibraryChanged; if (_appHost.IsFirstRun) { diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index 30f9565025..230b26fa74 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -254,9 +254,9 @@ - - {07b509c0-0c28-4f3f-8963-5263281f7e3d} - BDInfo + + {4fd51ac5-2c16-4308-a993-c3a84f3b4582} + MediaBrowser.Api {cc96bf3e-0bda-4809-bc4b-bb6d418f4a84} @@ -286,6 +286,10 @@ {2e781478-814d-4a48-9d80-bff206441a65} MediaBrowser.Server.Implementations + + {5624b7b5-b5a7-41d8-9f10-cc5611109619} + MediaBrowser.WebDashboard + @@ -364,12 +368,6 @@ - - Always - - - Always - Always -- cgit v1.2.3