diff options
Diffstat (limited to 'MediaBrowser.Common.Implementations/BaseApplicationHost.cs')
| -rw-r--r-- | MediaBrowser.Common.Implementations/BaseApplicationHost.cs | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index f23d859e8..3d7421f67 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -3,6 +3,7 @@ using MediaBrowser.Common.Implementations.Updates; using MediaBrowser.Common.Implementations.WebSocket; using MediaBrowser.Common.Kernel; using MediaBrowser.Common.Net; +using MediaBrowser.Common.Plugins; using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Common.Updates; using MediaBrowser.Model.Logging; @@ -26,6 +27,12 @@ namespace MediaBrowser.Common.Implementations public ILogger Logger { get; protected set; } /// <summary> + /// Gets or sets the plugins. + /// </summary> + /// <value>The plugins.</value> + public IEnumerable<IPlugin> Plugins { get; protected set; } + + /// <summary> /// Gets or sets the log manager. /// </summary> /// <value>The log manager.</value> @@ -142,12 +149,13 @@ namespace MediaBrowser.Common.Implementations /// </summary> protected virtual void FindParts() { - Resolve<ITaskManager>().AddTasks(GetExports<IScheduledTask>(false)); - Resolve<IHttpServer>().Init(GetExports<IRestfulService>(false)); Resolve<IServerManager>().AddWebSocketListeners(GetExports<IWebSocketListener>(false)); Resolve<IServerManager>().Start(); + Resolve<ITaskManager>().AddTasks(GetExports<IScheduledTask>(false)); + + Plugins = GetExports<IPlugin>(); } /// <summary> @@ -349,6 +357,17 @@ namespace MediaBrowser.Common.Implementations } /// <summary> + /// Removes the plugin. + /// </summary> + /// <param name="plugin">The plugin.</param> + public void RemovePlugin(IPlugin plugin) + { + var list = Plugins.ToList(); + list.Remove(plugin); + Plugins = list; + } + + /// <summary> /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// </summary> public void Dispose() |
