From 2e4db7554041ecf481d3a38656fccc309e13eb5b Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Sat, 23 Feb 2013 17:31:51 -0500 Subject: extracted http server, web socket server and udp server dependancies --- MediaBrowser.ServerApplication/App.xaml.cs | 50 +++++++++++++++++----- .../MediaBrowser.ServerApplication.csproj | 30 +++++++++++++ MediaBrowser.ServerApplication/packages.config | 5 +++ 3 files changed, 74 insertions(+), 11 deletions(-) (limited to 'MediaBrowser.ServerApplication') diff --git a/MediaBrowser.ServerApplication/App.xaml.cs b/MediaBrowser.ServerApplication/App.xaml.cs index 4aa3cdbb4..1b6b6f98e 100644 --- a/MediaBrowser.ServerApplication/App.xaml.cs +++ b/MediaBrowser.ServerApplication/App.xaml.cs @@ -11,6 +11,9 @@ using MediaBrowser.Model.Logging; using MediaBrowser.Model.MediaInfo; using MediaBrowser.Model.Updates; using MediaBrowser.Networking.Management; +using MediaBrowser.Networking.Udp; +using MediaBrowser.Networking.Web; +using MediaBrowser.Networking.WebSocket; using MediaBrowser.Server.Uninstall; using MediaBrowser.ServerApplication.Implementations; using Microsoft.Win32; @@ -195,10 +198,10 @@ namespace MediaBrowser.ServerApplication /// protected async void LoadKernel() { - RegisterResources(); - Kernel = new Kernel(this, Logger); + RegisterResources(); + try { new MainWindow(Logger).Show(); @@ -511,15 +514,18 @@ namespace MediaBrowser.ServerApplication /// private void RegisterResources() { - Register(this); - Register(Logger); + RegisterSingleInstance(this); + RegisterSingleInstance(Logger); IsoManager = new PismoIsoManager(Logger); - Register(IsoManager); - Register(new BdInfoExaminer()); - Register(new DotNetZipClient()); - Register(typeof (INetworkManager), typeof (NetworkManager)); + RegisterSingleInstance(IsoManager); + RegisterSingleInstance(() => new BdInfoExaminer()); + RegisterSingleInstance(() => new NetworkManager()); + RegisterSingleInstance(() => new DotNetZipClient()); + RegisterSingleInstance(() => new AlchemyServer(Logger)); + Register(typeof(IUdpServer), typeof(UdpServer)); + RegisterSingleInstance(() => new HttpServer(this, Kernel, Logger, "Media Browser", "index.html")); } /// @@ -546,12 +552,34 @@ namespace MediaBrowser.ServerApplication /// /// /// The obj. - public void Register(T obj) + public void RegisterSingleInstance(T obj) where T : class { _container.RegisterSingle(obj); } + /// + /// Registers the specified func. + /// + /// + /// The func. + public void Register(Func func) + where T : class + { + _container.Register(func); + } + + /// + /// Registers the single instance. + /// + /// + /// The func. + public void RegisterSingleInstance(Func func) + where T : class + { + _container.RegisterSingle(func); + } + /// /// Resolves this instance. /// @@ -559,7 +587,7 @@ namespace MediaBrowser.ServerApplication /// ``0. public T Resolve() { - return (T)_container.GetRegistration(typeof (T), true).GetInstance(); + return (T)_container.GetRegistration(typeof(T), true).GetInstance(); } /// @@ -569,7 +597,7 @@ namespace MediaBrowser.ServerApplication /// ``0. public T TryResolve() { - var result = _container.GetRegistration(typeof (T), false); + var result = _container.GetRegistration(typeof(T), false); if (result == null) { diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index 9b27351a1..0a364756a 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -128,6 +128,36 @@ False ..\ThirdParty\UPnP\Libs\Platinum.Managed.dll + + False + ..\packages\ServiceStack.3.9.37\lib\net35\ServiceStack.dll + + + False + ..\packages\ServiceStack.Common.3.9.37\lib\net35\ServiceStack.Common.dll + + + False + ..\packages\ServiceStack.Common.3.9.37\lib\net35\ServiceStack.Interfaces.dll + + + False + ..\packages\ServiceStack.OrmLite.SqlServer.3.9.37\lib\ServiceStack.OrmLite.dll + + + ..\packages\ServiceStack.OrmLite.SqlServer.3.9.37\lib\ServiceStack.OrmLite.SqlServer.dll + + + ..\packages\ServiceStack.Redis.3.9.37\lib\net35\ServiceStack.Redis.dll + + + False + ..\packages\ServiceStack.3.9.37\lib\net35\ServiceStack.ServiceInterface.dll + + + False + ..\packages\ServiceStack.Text.3.9.37\lib\net35\ServiceStack.Text.dll + False ..\packages\SimpleInjector.2.0.0-beta5\lib\net40-client\SimpleInjector.dll diff --git a/MediaBrowser.ServerApplication/packages.config b/MediaBrowser.ServerApplication/packages.config index e1beae6da..28d6202f8 100644 --- a/MediaBrowser.ServerApplication/packages.config +++ b/MediaBrowser.ServerApplication/packages.config @@ -3,6 +3,11 @@ + + + + + \ No newline at end of file -- cgit v1.2.3