aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Common.Implementations/BaseApplicationHost.cs')
-rw-r--r--MediaBrowser.Common.Implementations/BaseApplicationHost.cs42
1 files changed, 42 insertions, 0 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
index f7a889954..811f3e92a 100644
--- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
+++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs
@@ -1,7 +1,19 @@
+<<<<<<< HEAD
+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.Common.Implementations.Updates;
using MediaBrowser.Common.Kernel;
using MediaBrowser.Common.Updates;
+>>>>>>> c9f48fe0d0d5cf4aec62df1d1e97f629967aff6f
using MediaBrowser.Model.Logging;
+using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Serialization;
using SimpleInjector;
using System;
@@ -137,6 +149,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.
@@ -151,6 +175,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>