using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; namespace RobotNet10.CANOpen; /// /// Extension methods để register CANOpen services vào DI container /// public static class CanOpenExtensions { /// /// Thêm CanOpenManager vào DI container như Singleton service và IHostedService /// CanOpenManager sẽ tự động tạo SocketCanBus từ interface name /// /// Service collection /// Service collection để chain calls public static IServiceCollection AddCanOpenManager(this IServiceCollection services) { services.AddSingleton(); services.AddSingleton(serviceProvider => serviceProvider.GetRequiredService()); services.AddHostedService(serviceProvider => serviceProvider.GetRequiredService()); return services; } }