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 +++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 11 deletions(-) (limited to 'MediaBrowser.ServerApplication/App.xaml.cs') 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) { -- cgit v1.2.3