diff options
| author | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-28 14:32:41 -0500 |
|---|---|---|
| committer | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-28 14:32:41 -0500 |
| commit | af7aa597c35279e286ee88641854db69744e7b15 (patch) | |
| tree | 09cddf891558aed82f62bd5802fd9ff9ab21f116 /MediaBrowser.ServerApplication | |
| parent | 4435e83e696c9172b2dcb8a5d48d866f767a421c (diff) | |
referenced core plugins, fixed some dashboard issues, extracted library manager
Diffstat (limited to 'MediaBrowser.ServerApplication')
4 files changed, 31 insertions, 29 deletions
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 5ba0485ed..d97f4b53f 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<IApplicationHost>(this); - RegisterSingleInstance<IUserManager>(new UserManager(Kernel, Logger)); RegisterSingleInstance(ServerApplicationPaths); RegisterSingleInstance<IIsoManager>(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<IUserManager>(userManager); + + RegisterSingleInstance<ILibraryManager>(new LibraryManager(Kernel, Logger, taskManager, userManager)); } /// <summary> @@ -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 b88b64988..2c07effde 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; + /// <summary> /// The current user /// </summary> @@ -39,7 +40,7 @@ namespace MediaBrowser.ServerApplication /// <summary> /// Initializes a new instance of the <see cref="LibraryExplorer" /> class. /// </summary> - 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; } /// <summary> @@ -77,7 +80,7 @@ namespace MediaBrowser.ServerApplication await Task.Run(() => { IEnumerable<BaseItem> 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 dbb3c9842..4904eb0f7 100644 --- a/MediaBrowser.ServerApplication/MainWindow.xaml.cs +++ b/MediaBrowser.ServerApplication/MainWindow.xaml.cs @@ -54,6 +54,8 @@ namespace MediaBrowser.ServerApplication /// The _log manager /// </summary> private readonly ILogManager _logManager; + + private readonly ILibraryManager _libraryManager; /// <summary> /// Initializes a new instance of the <see cref="MainWindow" /> class. @@ -62,7 +64,7 @@ namespace MediaBrowser.ServerApplication /// <param name="logger">The logger.</param> /// <param name="appHost">The app host.</param> /// <exception cref="System.ArgumentNullException">logger</exception> - 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 /// <param name="e">The e.</param> 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 30f956502..230b26fa7 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -254,9 +254,9 @@ </None> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\BDInfo\BDInfo.csproj"> - <Project>{07b509c0-0c28-4f3f-8963-5263281f7e3d}</Project> - <Name>BDInfo</Name> + <ProjectReference Include="..\MediaBrowser.Api\MediaBrowser.Api.csproj"> + <Project>{4fd51ac5-2c16-4308-a993-c3a84f3b4582}</Project> + <Name>MediaBrowser.Api</Name> </ProjectReference> <ProjectReference Include="..\MediaBrowser.ClickOnce\MediaBrowser.ClickOnce.csproj"> <Project>{cc96bf3e-0bda-4809-bc4b-bb6d418f4a84}</Project> @@ -286,6 +286,10 @@ <Project>{2e781478-814d-4a48-9d80-bff206441a65}</Project> <Name>MediaBrowser.Server.Implementations</Name> </ProjectReference> + <ProjectReference Include="..\MediaBrowser.WebDashboard\MediaBrowser.WebDashboard.csproj"> + <Project>{5624b7b5-b5a7-41d8-9f10-cc5611109619}</Project> + <Name>MediaBrowser.WebDashboard</Name> + </ProjectReference> </ItemGroup> <ItemGroup> <Resource Include="Resources\Images\icon.ico" /> @@ -364,12 +368,6 @@ </BootstrapperPackage> </ItemGroup> <ItemGroup> - <Content Include="CorePlugins\MediaBrowser.Api.dll"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </Content> - <Content Include="CorePlugins\MediaBrowser.WebDashboard.dll"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </Content> <Content Include="x64\SQLite.Interop.dll"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> |
