Files
WCS/Plugins/Driver/Cowain.Driver/DriverPlugin.cs
2026-03-02 09:08:20 +08:00

41 lines
1.4 KiB
C#

using Cowain.Base.Abstractions.Plugin;
using Ke.Bee.Localization.Providers.Abstractions;
using Microsoft.Extensions.DependencyInjection;
using Plugin.Cowain.Driver.Abstractions;
using Plugin.Cowain.Driver.IServices;
using Plugin.Cowain.Driver.Services;
using System.Reflection;
namespace Plugin.Cowain.Driver;
public class DriverPlugin : PluginBase
{
public override string PluginName => DriverConsts.PluginName;
public override R? Execute<T, R>(string methodName, T? parameters)
where T : default
where R : class
{
throw new NotImplementedException();
}
public override void RegisterServices(IServiceCollection services, List<Assembly>? _assemblies)
{
HslCommunication.Authorization.SetAuthorizationCode("ac963114-3a46-4444-9a16-080a0ce99535");
services.AddSingleton<ILocalizationResourceContributor, DriverLocalizationResourceContributor>();
services.AddSingleton<IDeviceMonitor, DeviceMonitor>();
//将所有驱动注册到容器
services.AddDrivers(_assemblies);
services.AddVariables(_assemblies);
services.AddActionConditions(_assemblies);
services.AddTransient<IDriverPluginService, DriverPluginService>();
services.AddSingleton<IActionPluginService, ActionPluginService>();
services.AddTransient<IVariableChannelService, VariableChannelService>();
}
}