diff options
| author | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-27 11:46:48 -0500 |
|---|---|---|
| committer | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-27 11:46:48 -0500 |
| commit | ca7ee684730fe0d99a6160659c679c36a1646c88 (patch) | |
| tree | 9f422d7e01d4affa330e448fbaba05c249fce627 /MediaBrowser.Common.Implementations | |
| parent | ff6325efc5ae478c68dc140c5adbae089a6f7f4b (diff) | |
fixed the plugin catalog not loading
Diffstat (limited to 'MediaBrowser.Common.Implementations')
| -rw-r--r-- | MediaBrowser.Common.Implementations/BaseApplicationHost.cs | 40 | ||||
| -rw-r--r-- | MediaBrowser.Common.Implementations/ServerManager/ServerManager.cs | 17 |
2 files changed, 55 insertions, 2 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> diff --git a/MediaBrowser.Common.Implementations/ServerManager/ServerManager.cs b/MediaBrowser.Common.Implementations/ServerManager/ServerManager.cs index bd584bf0c..31f6922c2 100644 --- a/MediaBrowser.Common.Implementations/ServerManager/ServerManager.cs +++ b/MediaBrowser.Common.Implementations/ServerManager/ServerManager.cs @@ -96,6 +96,12 @@ namespace MediaBrowser.Common.Implementations.ServerManager } /// <summary> + /// Gets the web socket listeners. + /// </summary> + /// <value>The web socket listeners.</value> + private List<IWebSocketListener> WebSocketListeners = new List<IWebSocketListener>(); + + /// <summary> /// Initializes a new instance of the <see cref="ServerManager" /> class. /// </summary> /// <param name="applicationHost">The application host.</param> @@ -234,7 +240,7 @@ namespace MediaBrowser.Common.Implementations.ServerManager /// <param name="result">The result.</param> private async void ProcessWebSocketMessageReceived(WebSocketMessageInfo result) { - var tasks = _kernel.WebSocketListeners.Select(i => Task.Run(async () => + var tasks = WebSocketListeners.Select(i => Task.Run(async () => { try { @@ -514,5 +520,14 @@ namespace MediaBrowser.Common.Implementations.ServerManager ReloadExternalWebSocketServer(); } } + + /// <summary> + /// Adds the web socket listeners. + /// </summary> + /// <param name="listeners">The listeners.</param> + public void AddWebSocketListeners(IEnumerable<IWebSocketListener> listeners) + { + WebSocketListeners.AddRange(listeners); + } } } |
