aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/Plugins/PluginManager.cs11
-rw-r--r--MediaBrowser.Common/Plugins/IPluginServiceRegistrator.cs19
-rw-r--r--MediaBrowser.Controller/Plugins/IPluginServiceRegistrator.cs19
3 files changed, 25 insertions, 24 deletions
diff --git a/Emby.Server.Implementations/Plugins/PluginManager.cs b/Emby.Server.Implementations/Plugins/PluginManager.cs
index 20793ee39..db82a2900 100644
--- a/Emby.Server.Implementations/Plugins/PluginManager.cs
+++ b/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)
diff --git a/MediaBrowser.Common/Plugins/IPluginServiceRegistrator.cs b/MediaBrowser.Common/Plugins/IPluginServiceRegistrator.cs
deleted file mode 100644
index 3afe874c5..000000000
--- a/MediaBrowser.Common/Plugins/IPluginServiceRegistrator.cs
+++ /dev/null
@@ -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);
- }
-}
diff --git a/MediaBrowser.Controller/Plugins/IPluginServiceRegistrator.cs b/MediaBrowser.Controller/Plugins/IPluginServiceRegistrator.cs
new file mode 100644
index 000000000..8b62f3808
--- /dev/null
+++ b/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);
+}