浏览代码

Add IServerApplicationHost parameter to IPluginServiceRegistrator

Patrick Barron 1 年之前
父节点
当前提交
1e1e1560a4

+ 6 - 5
Emby.Server.Implementations/Plugins/PluginManager.cs

@@ -12,10 +12,11 @@ using System.Threading.Tasks;
 using Emby.Server.Implementations.Library;
 using Jellyfin.Extensions.Json;
 using Jellyfin.Extensions.Json.Converters;
-using MediaBrowser.Common;
 using MediaBrowser.Common.Extensions;
 using MediaBrowser.Common.Net;
 using MediaBrowser.Common.Plugins;
+using MediaBrowser.Controller;
+using MediaBrowser.Controller.Plugins;
 using MediaBrowser.Model.Configuration;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Plugins;
@@ -37,7 +38,7 @@ namespace Emby.Server.Implementations.Plugins
         private readonly List<AssemblyLoadContext> _assemblyLoadContexts;
         private readonly JsonSerializerOptions _jsonOptions;
         private readonly ILogger<PluginManager> _logger;
-        private readonly IApplicationHost _appHost;
+        private readonly IServerApplicationHost _appHost;
         private readonly ServerConfiguration _config;
         private readonly List<LocalPlugin> _plugins;
         private readonly Version _minimumVersion;
@@ -48,13 +49,13 @@ namespace Emby.Server.Implementations.Plugins
         /// Initializes a new instance of the <see cref="PluginManager"/> class.
         /// </summary>
         /// <param name="logger">The <see cref="ILogger{PluginManager}"/>.</param>
-        /// <param name="appHost">The <see cref="IApplicationHost"/>.</param>
+        /// <param name="appHost">The <see cref="IServerApplicationHost"/>.</param>
         /// <param name="config">The <see cref="ServerConfiguration"/>.</param>
         /// <param name="pluginsPath">The plugin path.</param>
         /// <param name="appVersion">The application version.</param>
         public PluginManager(
             ILogger<PluginManager> logger,
-            IApplicationHost appHost,
+            IServerApplicationHost appHost,
             ServerConfiguration config,
             string pluginsPath,
             Version appVersion)
@@ -222,7 +223,7 @@ namespace Emby.Server.Implementations.Plugins
                 try
                 {
                     var instance = (IPluginServiceRegistrator?)Activator.CreateInstance(pluginServiceRegistrator);
-                    instance?.RegisterServices(serviceCollection);
+                    instance?.RegisterServices(serviceCollection, _appHost);
                 }
 #pragma warning disable CA1031 // Do not catch general exception types
                 catch (Exception ex)

+ 0 - 19
MediaBrowser.Common/Plugins/IPluginServiceRegistrator.cs

@@ -1,19 +0,0 @@
-namespace MediaBrowser.Common.Plugins
-{
-    using Microsoft.Extensions.DependencyInjection;
-
-    /// <summary>
-    /// Defines the <see cref="IPluginServiceRegistrator" />.
-    /// </summary>
-    public interface IPluginServiceRegistrator
-    {
-        /// <summary>
-        /// Registers the plugin's services with the service collection.
-        /// </summary>
-        /// <remarks>
-        /// This interface is only used for service registration and requires a parameterless constructor.
-        /// </remarks>
-        /// <param name="serviceCollection">The service collection.</param>
-        void RegisterServices(IServiceCollection serviceCollection);
-    }
-}

+ 19 - 0
MediaBrowser.Controller/Plugins/IPluginServiceRegistrator.cs

@@ -0,0 +1,19 @@
+using Microsoft.Extensions.DependencyInjection;
+
+namespace MediaBrowser.Controller.Plugins;
+
+/// <summary>
+/// Defines the <see cref="IPluginServiceRegistrator" />.
+/// </summary>
+/// <remarks>
+/// This interface is only used for service registration and requires a parameterless constructor.
+/// </remarks>
+public interface IPluginServiceRegistrator
+{
+    /// <summary>
+    /// Registers the plugin's services with the service collection.
+    /// </summary>
+    /// <param name="serviceCollection">The service collection.</param>
+    /// <param name="applicationHost">The server application host.</param>
+    void RegisterServices(IServiceCollection serviceCollection, IServerApplicationHost applicationHost);
+}