Files
Denso/srcs/RobotNet10/RobotApp/Communication/RobotNet10.CANOpen/CanOpenExtensions.cs
2026-07-03 16:31:37 +07:00

28 lines
1021 B
C#

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