diff options
| author | Patrick Barron <barronpm@gmail.com> | 2020-08-16 17:25:14 -0400 |
|---|---|---|
| committer | Patrick Barron <barronpm@gmail.com> | 2020-08-16 17:25:14 -0400 |
| commit | a77cf53573f95c5db27470bd0701c304f7a01c9e (patch) | |
| tree | fbfc02bca7ef4e264636a95b7350ee5de38c95dd /MediaBrowser.Common | |
| parent | 075ae53d831abdb4eb72aa7da575058a51d36753 (diff) | |
Allow plugins to register services.
Diffstat (limited to 'MediaBrowser.Common')
| -rw-r--r-- | MediaBrowser.Common/IApplicationHost.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Common/Plugins/BasePlugin.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Common/Plugins/IPlugin.cs | 13 |
3 files changed, 25 insertions, 2 deletions
diff --git a/MediaBrowser.Common/IApplicationHost.cs b/MediaBrowser.Common/IApplicationHost.cs index e8d9282e4..7a76be722 100644 --- a/MediaBrowser.Common/IApplicationHost.cs +++ b/MediaBrowser.Common/IApplicationHost.cs @@ -116,8 +116,7 @@ namespace MediaBrowser.Common /// <summary> /// Initializes this instance. /// </summary> - /// <param name="serviceCollection">The service collection.</param> - void Init(IServiceCollection serviceCollection); + void Init(); /// <summary> /// Creates the instance. diff --git a/MediaBrowser.Common/Plugins/BasePlugin.cs b/MediaBrowser.Common/Plugins/BasePlugin.cs index f10a1918f..4b2918d08 100644 --- a/MediaBrowser.Common/Plugins/BasePlugin.cs +++ b/MediaBrowser.Common/Plugins/BasePlugin.cs @@ -6,6 +6,7 @@ using System.Reflection; using MediaBrowser.Common.Configuration; using MediaBrowser.Model.Plugins; using MediaBrowser.Model.Serialization; +using Microsoft.Extensions.DependencyInjection; namespace MediaBrowser.Common.Plugins { @@ -82,6 +83,16 @@ namespace MediaBrowser.Common.Plugins } /// <inheritdoc /> + public virtual void RegisterServices(IServiceCollection serviceCollection) + { + } + + /// <inheritdoc /> + public virtual void UnregisterServices(IServiceCollection serviceCollection) + { + } + + /// <inheritdoc /> public void SetAttributes(string assemblyFilePath, string dataFolderPath, Version assemblyVersion) { AssemblyFilePath = assemblyFilePath; diff --git a/MediaBrowser.Common/Plugins/IPlugin.cs b/MediaBrowser.Common/Plugins/IPlugin.cs index 7bd37d210..1844eb124 100644 --- a/MediaBrowser.Common/Plugins/IPlugin.cs +++ b/MediaBrowser.Common/Plugins/IPlugin.cs @@ -2,6 +2,7 @@ using System; using MediaBrowser.Model.Plugins; +using Microsoft.Extensions.DependencyInjection; namespace MediaBrowser.Common.Plugins { @@ -61,6 +62,18 @@ namespace MediaBrowser.Common.Plugins /// Called when just before the plugin is uninstalled from the server. /// </summary> void OnUninstalling(); + + /// <summary> + /// Registers the plugin's services to the service collection. + /// </summary> + /// <param name="serviceCollection">The service collection.</param> + void RegisterServices(IServiceCollection serviceCollection); + + /// <summary> + /// Unregisters the plugin's services from the service collection. + /// </summary> + /// <param name="serviceCollection">The service collection.</param> + void UnregisterServices(IServiceCollection serviceCollection); } public interface IHasPluginConfiguration |
