41 lines
1.4 KiB
C#
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>();
|
|
|
|
}
|
|
|
|
|
|
}
|