mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-22 09:14:25 +08:00
settings_re4
This commit is contained in:
@@ -11,6 +11,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using LanMountainDesktop.Services;
|
||||
using LanMountainDesktop.Services.Settings;
|
||||
using LanMountainDesktop.PluginSdk;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
@@ -310,10 +311,15 @@ public sealed class PluginLoader
|
||||
services.AddSingleton(runtimeContext.Manifest);
|
||||
services.AddSingleton<IReadOnlyDictionary<string, object?>>(runtimeContext.Properties);
|
||||
services.AddSingleton<IPluginMessageBus, PluginMessageBus>();
|
||||
services.AddSingleton<IPluginSettingsService>(provider =>
|
||||
new PluginScopedSettingsService(
|
||||
runtimeContext.Manifest.Id,
|
||||
provider.GetRequiredService<ISettingsService>()));
|
||||
|
||||
RegisterHostService<IPluginPackageManager>(services, hostServices);
|
||||
RegisterHostService<IHostApplicationLifecycle>(services, hostServices);
|
||||
RegisterHostService<IPluginExportRegistry>(services, hostServices);
|
||||
RegisterHostService<ISettingsFacadeService>(services, hostServices);
|
||||
RegisterHostService<ISettingsService>(services, hostServices);
|
||||
RegisterHostService<ISettingsCatalog>(services, hostServices);
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ public sealed class PluginRuntimeService : IDisposable
|
||||
_packageManager,
|
||||
_applicationLifecycle,
|
||||
_exportRegistry,
|
||||
_settingsFacade,
|
||||
_settingsFacade.Settings,
|
||||
_settingsFacade.Catalog);
|
||||
_loaderOptions = CreateOptions();
|
||||
@@ -824,6 +825,7 @@ public sealed class PluginRuntimeService : IDisposable
|
||||
private readonly IPluginPackageManager _packageManager;
|
||||
private readonly IHostApplicationLifecycle _applicationLifecycle;
|
||||
private readonly IPluginExportRegistry _exportRegistry;
|
||||
private readonly ISettingsFacadeService _settingsFacade;
|
||||
private readonly ISettingsService _settingsService;
|
||||
private readonly ISettingsCatalog _settingsCatalog;
|
||||
|
||||
@@ -831,12 +833,14 @@ public sealed class PluginRuntimeService : IDisposable
|
||||
IPluginPackageManager packageManager,
|
||||
IHostApplicationLifecycle applicationLifecycle,
|
||||
IPluginExportRegistry exportRegistry,
|
||||
ISettingsFacadeService settingsFacade,
|
||||
ISettingsService settingsService,
|
||||
ISettingsCatalog settingsCatalog)
|
||||
{
|
||||
_packageManager = packageManager;
|
||||
_applicationLifecycle = applicationLifecycle;
|
||||
_exportRegistry = exportRegistry;
|
||||
_settingsFacade = settingsFacade;
|
||||
_settingsService = settingsService;
|
||||
_settingsCatalog = settingsCatalog;
|
||||
}
|
||||
@@ -858,6 +862,11 @@ public sealed class PluginRuntimeService : IDisposable
|
||||
return _exportRegistry;
|
||||
}
|
||||
|
||||
if (serviceType == typeof(ISettingsFacadeService))
|
||||
{
|
||||
return _settingsFacade;
|
||||
}
|
||||
|
||||
if (serviceType == typeof(ISettingsService))
|
||||
{
|
||||
return _settingsService;
|
||||
|
||||
Reference in New Issue
Block a user