using JT808.Protocol.Interfaces; using JT808.Protocol.Internal; using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Text; namespace JT808.Protocol { /// /// DI扩展 /// public static class DependencyInjectionExtensions { /// /// 注册808配置 /// /// /// /// public static IJT808Builder AddJT808Configure(this IServiceCollection services, IJT808Config jT808Config) { services.AddSingleton(jT808Config.GetType(), jT808Config); return new DefaultBuilder(services, jT808Config); } /// /// 注册808配置 /// /// /// /// public static IJT808Builder AddJT808Configure(this IJT808Builder builder, IJT808Config jT808Config) { builder.Services.AddSingleton(jT808Config.GetType(), jT808Config); return builder; } /// /// 注册808配置 /// /// /// /// public static IJT808Builder AddJT808Configure(this IServiceCollection services)where TJT808Config : IJT808Config,new() { var config = new TJT808Config(); services.AddSingleton(typeof(TJT808Config), config); return new DefaultBuilder(services, config); } /// /// 注册808配置 /// /// /// /// public static IJT808Builder AddJT808Configure(this IJT808Builder builder) where TJT808Config : IJT808Config, new() { var config = new TJT808Config(); builder.Services.AddSingleton(typeof(TJT808Config), config); return builder; } /// /// 注册808配置 /// /// /// public static IJT808Builder AddJT808Configure(this IServiceCollection services) { DefaultGlobalConfig config = new DefaultGlobalConfig(); services.AddSingleton(config); return new DefaultBuilder(services, config); } } }