aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-02-27 11:46:48 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-02-27 11:46:48 -0500
commitca7ee684730fe0d99a6160659c679c36a1646c88 (patch)
tree9f422d7e01d4affa330e448fbaba05c249fce627 /MediaBrowser.Common.Implementations/BaseApplicationHost.cs
parentff6325efc5ae478c68dc140c5adbae089a6f7f4b (diff)
fixed the plugin catalog not loading
Diffstat (limited to 'MediaBrowser.Common.Implementations/BaseApplicationHost.cs')
-rw-r--r--MediaBrowser.Common.Implementations/BaseApplicationHost.cs40
1 files changed, 39 insertions, 1 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
index e8acf2975..65d170382 100644
--- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
+++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
@@ -1,5 +1,13 @@
-using MediaBrowser.Common.Kernel;
+using MediaBrowser.Common.IO;
+using MediaBrowser.Common.Implementations.HttpServer;
+using MediaBrowser.Common.Implementations.Udp;
+using MediaBrowser.Common.Implementations.WebSocket;
+using MediaBrowser.Common.Kernel;
+using MediaBrowser.Common.Net;
+using MediaBrowser.Common.ScheduledTasks;
+using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
+using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Serialization;
using SimpleInjector;
using System;
@@ -130,6 +138,18 @@ namespace MediaBrowser.Common.Implementations
/// </summary>
/// <returns>IApplicationPaths.</returns>
protected abstract IApplicationPaths GetApplicationPaths();
+
+ /// <summary>
+ /// Finds the parts.
+ /// </summary>
+ protected virtual void FindParts()
+ {
+ Resolve<ITaskManager>().AddTasks(GetExports<IScheduledTask>(false));
+
+ Resolve<IHttpServer>().Init(GetExports<IRestfulService>(false));
+
+ Resolve<IServerManager>().AddWebSocketListeners(GetExports<IWebSocketListener>());
+ }
/// <summary>
/// Discovers the types.
@@ -144,6 +164,24 @@ namespace MediaBrowser.Common.Implementations
}
/// <summary>
+ /// Registers resources that classes will depend on
+ /// </summary>
+ protected virtual void RegisterResources(ITaskManager taskManager, INetworkManager networkManager, IServerManager serverManager)
+ {
+ RegisterSingleInstance(LogManager);
+ RegisterSingleInstance(Logger);
+
+ RegisterSingleInstance(ApplicationPaths);
+ RegisterSingleInstance(taskManager);
+ RegisterSingleInstance<IWebSocketServer>(() => new AlchemyServer(Logger));
+ RegisterSingleInstance(ProtobufSerializer);
+ RegisterSingleInstance<IUdpServer>(new UdpServer(Logger), false);
+
+ RegisterSingleInstance(networkManager);
+ RegisterSingleInstance(serverManager);
+ }
+
+ /// <summary>
/// Gets a list of types within an assembly
/// This will handle situations that would normally throw an exception - such as a type within the assembly that depends on some other non-existant reference
/// </summary>