using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Text; using JT808.Protocol; using Microsoft.Extensions.Configuration; using JT808.Gateway.Client.Services; namespace JT808.Gateway.Client { public static class JT808ClientExtensions { public static IJT808Builder AddJT808Client(this IJT808Builder jT808Builder) { jT808Builder.Services.AddSingleton(); jT808Builder.Services.AddSingleton(); jT808Builder.Services.AddSingleton(); jT808Builder.Services.Configure((options)=> { }); jT808Builder.Services.AddHostedService(); return jT808Builder; } public static IJT808Builder AddJT808Client(this IJT808Builder jT808Builder, IConfiguration Configuration) { jT808Builder.Services.AddSingleton(); jT808Builder.Services.AddSingleton(); jT808Builder.Services.AddSingleton(); jT808Builder.Services.Configure(Configuration.GetSection("JT808ReportOptions")); jT808Builder.Services.AddHostedService(); return jT808Builder; } public static IJT808Builder AddJT808Client(this IJT808Builder jT808Builder, Action reportOptions) { jT808Builder.Services.AddSingleton(); jT808Builder.Services.AddSingleton(); jT808Builder.Services.AddSingleton(); jT808Builder.Services.Configure(reportOptions); jT808Builder.Services.AddHostedService(); return jT808Builder; } } }