/// <summary> /// 注册808配置 /// </summary> /// <typeparam name="TJT808Config"></typeparam> /// <param name="builder"></param> /// <returns></returns> public static IJT808Builder AddJT808Configure <TJT808Config>(this IJT808Builder builder) where TJT808Config : IJT808Config, new() { var config = new TJT808Config(); builder.Services.AddSingleton(typeof(TJT808Config), config); return(builder); }
public static IJT808NettyBuilder AddJT808NettyCore(this IJT808Builder jt808Builder, Action <JT808Configuration> jt808Options, Newtonsoft.Json.JsonSerializerSettings settings = null) { if (settings != null) { JsonConvert.DefaultSettings = new Func <JsonSerializerSettings>(() => { settings.Converters.Add(new JsonIPAddressConverter()); settings.Converters.Add(new JsonIPEndPointConverter()); settings.Converters.Add(new ByteArrayHexConverter()); settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; return(settings); }); } IJT808NettyBuilder nettyBuilder = new JT808NettyBuilderDefault(jt808Builder); nettyBuilder.JT808Builder.Services.Configure(jt808Options); nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808AtomicCounterServiceFactory>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808SessionManager>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808UnificationSendService, JT808UnificationSendService>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionService, JT808SessionService>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808MsgProducer, JT808MsgProducerDefaultImpl>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808MsgReplyConsumer, JT808MsgReplyConsumerDefaultImpl>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808MsgService>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionProducer, JT808SessionProducerDefaultImpl>(); nettyBuilder.JT808Builder.Services.AddHostedService <JT808MsgReplyHostedService>(); return(nettyBuilder); }
public static IJT808NettyBuilder AddJT808NettyCore(this IJT808Builder jt808Builder, Action <JT808Configuration> jt808Options, Newtonsoft.Json.JsonSerializerSettings settings = null) { if (settings != null) { JsonConvert.DefaultSettings = new Func <JsonSerializerSettings>(() => { settings.Converters.Add(new JsonIPAddressConverter()); settings.Converters.Add(new JsonIPEndPointConverter()); settings.Converters.Add(new ByteArrayHexConverter()); settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; return(settings); }); } IJT808NettyBuilder nettyBuilder = new JT808NettyBuilderDefault(jt808Builder); nettyBuilder.JT808Builder.Services.Configure(jt808Options); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionPublishing, JT808SessionPublishingEmptyImpl>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808DownlinkPacket, JT808DownlinkPacketEmptyImpl>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808UplinkPacket, JT808UplinkPacketEmptyImpl>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SourcePackageDispatcher, JT808SourcePackageDispatcherEmptyImpl>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808AtomicCounterServiceFactory>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808TrafficServiceFactory>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808SimpleSystemCollectService>(); return(nettyBuilder); }
public static IJT808GatewayBuilder AddJT808DevelopmentGateway(this IJT808Builder jt808Builder) { IJT808GatewayBuilder server = new JT808GatewayBuilderDefault(jt808Builder); server.JT808Builder.Services.TryAddSingleton <JT808Configuration>(); server.AddJT808Core(); return(server); }
public static IJT808GatewayBuilder AddJT808Gateway(this IJT808Builder jt808Builder, Action <JT808Configuration> config) { IJT808GatewayBuilder server = new JT808GatewayBuilderDefault(jt808Builder); server.JT808Builder.Services.Configure(config); server.AddJT808Core(); return(server); }
/// <summary> /// 添加808网关 /// </summary> /// <param name="jT808Builder"></param> /// <param name="config"></param> /// <returns></returns> public static IJT808GatewayBuilder AddGateway(this IJT808Builder jT808Builder, Action <JT808Configuration> config) { JT808GatewayBuilderDefault jT808GatewayBuilderDefault = new JT808GatewayBuilderDefault(jT808Builder); jT808GatewayBuilderDefault.JT808Builder.Services.Configure(config); jT808GatewayBuilderDefault.AddJT808Core(); return(jT808GatewayBuilderDefault); }
/// <summary> /// 添加808网关 /// </summary> /// <param name="jT808Builder"></param> /// <param name="configuration"></param> /// <returns></returns> public static IJT808GatewayBuilder AddGateway(this IJT808Builder jT808Builder, IConfiguration configuration) { JT808GatewayBuilderDefault jT808GatewayBuilderDefault = new JT808GatewayBuilderDefault(jT808Builder); jT808GatewayBuilderDefault.JT808Builder.Services.Configure <JT808Configuration>(configuration.GetSection("JT808Configuration")); jT808GatewayBuilderDefault.AddJT808Core(); return(jT808GatewayBuilderDefault); }
public static IJT808GatewayBuilder AddJT808Gateway(this IJT808Builder jt808Builder, IConfiguration configuration) { IJT808GatewayBuilder server = new JT808GatewayBuilderDefault(jt808Builder); server.JT808Builder.Services.Configure <JT808Configuration>(configuration.GetSection("JT808Configuration")); server.AddJT808Core(); return(server); }
public static IJT808Builder AddJT808Client(this IJT808Builder jT808Builder, IConfiguration Configuration) { jT808Builder.Services.AddSingleton <JT808SendAtomicCounterService>(); jT808Builder.Services.AddSingleton <JT808ReceiveAtomicCounterService>(); jT808Builder.Services.AddSingleton <IJT808TcpClientFactory, JT808TcpClientFactory>(); jT808Builder.Services.Configure <JT808ReportOptions>(Configuration.GetSection("JT808ReportOptions")); jT808Builder.Services.AddHostedService <JT808ReportHostedService>(); return(jT808Builder); }
public static IJT808ClientBuilder AddClient(this IJT808Builder jT808Builder) { JT808ClientBuilderDefault jT808ClientBuilderDefault = new JT808ClientBuilderDefault(jT808Builder); jT808ClientBuilderDefault.JT808Builder.Services.AddSingleton <JT808SendAtomicCounterService>(); jT808ClientBuilderDefault.JT808Builder.Services.AddSingleton <JT808ReceiveAtomicCounterService>(); jT808ClientBuilderDefault.JT808Builder.Services.AddSingleton <IJT808TcpClientFactory, JT808TcpClientFactory>(); return(jT808ClientBuilderDefault); }
public static IJT808Builder AddClient(this IJT808Builder jT808Builder, Action <JT808ReportOptions> reportOptions) { jT808Builder.Services.AddSingleton <JT808SendAtomicCounterService>(); jT808Builder.Services.AddSingleton <JT808ReceiveAtomicCounterService>(); jT808Builder.Services.AddSingleton <IJT808TcpClientFactory, JT808TcpClientFactory>(); jT808Builder.Services.Configure(reportOptions); jT808Builder.Services.AddHostedService <JT808ReportHostedService>(); return(jT808Builder); }
public static IUnionNormalGatewayBuilder AddNormalGateway(this IJT808Builder jT808Builder, Action <UnionConfiguration> config) { IUnionNormalGatewayBuilder server = new UnionNormalGatewayBuilderDefault(jT808Builder); server.JT808Builder.Services.AddSingleton <UnionNormalReplyMessageHandler>(); server.JT808Builder.Services.Configure(config); server.AddJT808Core(); return(server); }
public static IJT808Builder AddJT808Client(this IJT808Builder jT808Builder) { jT808Builder.Services.AddSingleton <JT808SendAtomicCounterService>(); jT808Builder.Services.AddSingleton <JT808ReceiveAtomicCounterService>(); jT808Builder.Services.AddSingleton <IJT808TcpClientFactory, JT808TcpClientFactory>(); jT808Builder.Services.AddSingleton <JT808ReportService>(); jT808Builder.Services.AddHostedService <JT808ReportHostedService>(); return(jT808Builder); }
public static IJT808QueueGatewayBuilder AddQueueGateway(this IJT808Builder jT808Builder, IConfiguration configuration) { IJT808QueueGatewayBuilder server = new JT808QueueGatewayBuilderDefault(jT808Builder); server.JT808Builder.Services.Configure <JT808Configuration>(configuration.GetSection("JT808Configuration")); server.AddJT808Core(); server.JT808Builder.Services.AddHostedService <JT808MsgReplyHostedService>(); return(server); }
public static IJT808NormalGatewayBuilder AddNormalGateway(this IJT808Builder jT808Builder, IConfiguration configuration) { IJT808NormalGatewayBuilder server = new JT808NormalGatewayBuilderDefault(jT808Builder); server.JT808Builder.Services.AddSingleton <JT808NormalReplyMessageHandler>(); server.JT808Builder.Services.Configure <JT808Configuration>(configuration.GetSection("JT808Configuration")); server.AddJT808Core(); return(server); }
/// <summary> /// /// </summary> /// <param name="jT808Builder"></param> /// <param name="webapiUri"></param> /// <param name="token"></param> /// <returns></returns> public static IJT808Builder AddWebApiClientTool(this IJT808Builder jT808Builder, Uri webapiUri, string token) { jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c => { c.DefaultRequestHeaders.Add("token", token); c.BaseAddress = webapiUri; c.Timeout = TimeSpan.FromSeconds(3); }) .AddTypedClient <JT808HttpClient>(); return(jT808Builder); }
/// <summary> /// /// </summary> /// <param name="jT808Builder"></param> /// <param name="configuration"></param> /// <returns></returns> public static IJT808Builder AddWebApiClientTool(this IJT808Builder jT808Builder, IConfiguration configuration) { jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c => { c.DefaultRequestHeaders.Add("token", configuration.GetSection("JT808WebApiClientToolConfig:Token").Get <string>()); c.BaseAddress = new Uri(configuration.GetSection("JT808WebApiClientToolConfig:Uri").Get <string>()); c.Timeout = TimeSpan.FromSeconds(3); }) .AddTypedClient <JT808HttpClient>(); return(jT808Builder); }
/// <summary> /// /// </summary> /// <param name="jT808Builder"></param> /// <param name="webapiUri"></param> /// <param name="token"></param> /// <returns></returns> public static IJT808Builder AddWebApiClientTool(this IJT808Builder jT808Builder, Uri webapiUri, string token) { jT808Builder.Services.AddHttpClient("JT808WebApiClientTool", c => { c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); c.DefaultRequestHeaders.Add("token", token); c.BaseAddress = webapiUri; c.Timeout = TimeSpan.FromSeconds(timeout); }) .AddTypedClient <JT808HttpClient>(); return(jT808Builder); }
public static IJT808ClientBuilder AddClient(this IJT808Builder jT808Builder) { JT808ClientBuilderDefault jT808ClientBuilderDefault = new JT808ClientBuilderDefault(jT808Builder); jT808ClientBuilderDefault.JT808Builder.Services.AddSingleton <JT808RetryBlockingCollection>(); jT808ClientBuilderDefault.JT808Builder.Services.AddSingleton <JT808SendAtomicCounterService>(); jT808ClientBuilderDefault.JT808Builder.Services.AddSingleton <JT808ReceiveAtomicCounterService>(); jT808ClientBuilderDefault.JT808Builder.Services.AddSingleton <IJT808TcpClientFactory, JT808TcpClientFactory>(); jT808ClientBuilderDefault.JT808Builder.Services.AddSingleton <IJT808MessageProducer, JT808MessageProducerEmpty>(); jT808ClientBuilderDefault.JT808Builder.Services.AddHostedService <JT808RetryClientHostedService>(); return(jT808ClientBuilderDefault); }
/// <summary> /// /// </summary> /// <param name="jT808Builder"></param> /// <param name="configuration"></param> /// <returns></returns> public static IJT808Builder AddWebApiClientTool <TJT808HttpClient>(this IJT808Builder jT808Builder, IConfiguration configuration) where TJT808HttpClient : JT808HttpClient { jT808Builder.Services.AddHttpClient("JT808WebApiClientToolExt", c => { c.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); c.DefaultRequestHeaders.Add("token", configuration.GetSection("JT808WebApiClientToolConfig:Token").Get <string>()); c.BaseAddress = new Uri(configuration.GetSection("JT808WebApiClientToolConfig:Uri").Get <string>()); c.Timeout = TimeSpan.FromSeconds(timeout); }) .AddTypedClient <TJT808HttpClient>(); return(jT808Builder); }
public static IJT808GatewayBuilder AddJT808Gateway(this IJT808Builder jt808Builder, Action <JT808Configuration> jt808Options) { IJT808GatewayBuilder nettyBuilder = new JT808GatewayBuilderDefault(jt808Builder); nettyBuilder.JT808Builder.Services.Configure(jt808Options); nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808AtomicCounterServiceFactory>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808SessionManager>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808UnificationSendService, JT808UnificationSendService>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionService, JT808SessionService>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808MsgProducer, JT808MsgProducerDefaultImpl>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808MsgReplyConsumer, JT808MsgReplyConsumerDefaultImpl>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <JT808MsgService>(); nettyBuilder.JT808Builder.Services.TryAddSingleton <IJT808SessionProducer, JT808SessionProducerDefaultImpl>(); nettyBuilder.JT808Builder.Services.AddHostedService <JT808MsgReplyHostedService>(); return(nettyBuilder); }
public static IJT808Builder AddJTActiveSafetyConfigure(this IJT808Builder jT808Builder) { jT808Builder.Config.Register(Assembly.GetExecutingAssembly()); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x1210>((ushort)JT808_JTActiveSafety_MsgId.报警附件信息消息, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x1211>((ushort)JT808_JTActiveSafety_MsgId.文件信息上传, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x1212>((ushort)JT808_JTActiveSafety_MsgId.文件上传完成消息, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9208>((ushort)JT808_JTActiveSafety_MsgId.报警附件上传指令, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9212>((ushort)JT808_JTActiveSafety_MsgId.文件上传完成消息应答, ""); jT808Builder.Config.JT808_0X0200_Factory.JT808LocationAttachMethod.Add(JT808_JTActiveSafety_Constants.JT808_0X0200_0x64, typeof(JT808_0x0200_0x64)); jT808Builder.Config.JT808_0X0200_Factory.JT808LocationAttachMethod.Add(JT808_JTActiveSafety_Constants.JT808_0X0200_0x65, typeof(JT808_0x0200_0x65)); jT808Builder.Config.JT808_0X0200_Factory.JT808LocationAttachMethod.Add(JT808_JTActiveSafety_Constants.JT808_0X0200_0x66, typeof(JT808_0x0200_0x66)); jT808Builder.Config.JT808_0X0200_Factory.JT808LocationAttachMethod.Add(JT808_JTActiveSafety_Constants.JT808_0X0200_0x67, typeof(JT808_0x0200_0x67)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JTActiveSafety_Constants.JT808_0X8103_0xF364, typeof(JT808_0x8103_0xF364)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JTActiveSafety_Constants.JT808_0X8103_0xF365, typeof(JT808_0x8103_0xF365)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JTActiveSafety_Constants.JT808_0X8103_0xF366, typeof(JT808_0x8103_0xF366)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JTActiveSafety_Constants.JT808_0X8103_0xF367, typeof(JT808_0x8103_0xF367)); return(jT808Builder); }
public static IJT808Builder AddJT1078Configure(this IJT808Builder jT808Builder) { jT808Builder.Config.Register(Assembly.GetExecutingAssembly()); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x1003>((ushort)JT808_JT1078_MsgId.终端上传音视频属性, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x1005>((ushort)JT808_JT1078_MsgId.终端上传乘客流量, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x1205>((ushort)JT808_JT1078_MsgId.终端上传音视频资源列表, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x1206>((ushort)JT808_JT1078_MsgId.文件上传完成通知, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9003>((ushort)JT808_JT1078_MsgId.查询终端音视频属性, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9101>((ushort)JT808_JT1078_MsgId.实时音视频传输请求, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9102>((ushort)JT808_JT1078_MsgId.音视频实时传输控制, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9105>((ushort)JT808_JT1078_MsgId.实时音视频传输状态通知, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9201>((ushort)JT808_JT1078_MsgId.平台下发远程录像回放请求, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9202>((ushort)JT808_JT1078_MsgId.平台下发远程录像回放控制, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9205>((ushort)JT808_JT1078_MsgId.查询资源列表, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9206>((ushort)JT808_JT1078_MsgId.文件上传指令, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9207>((ushort)JT808_JT1078_MsgId.文件上传控制, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9301>((ushort)JT808_JT1078_MsgId.云台旋转, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9302>((ushort)JT808_JT1078_MsgId.云台调整焦距控制, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9303>((ushort)JT808_JT1078_MsgId.云台调整光圈控制, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9304>((ushort)JT808_JT1078_MsgId.云台雨刷控制, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9305>((ushort)JT808_JT1078_MsgId.红外补光控制, ""); jT808Builder.Config.MsgIdFactory.SetMap <JT808_0x9306>((ushort)JT808_JT1078_MsgId.云台变倍控制, ""); jT808Builder.Config.JT808_0X0200_Factory.JT808LocationAttachMethod.Add(JT808_JT1078_Constants.JT808_0X0200_0x14, typeof(JT808_0x0200_0x14)); jT808Builder.Config.JT808_0X0200_Factory.JT808LocationAttachMethod.Add(JT808_JT1078_Constants.JT808_0X0200_0x15, typeof(JT808_0x0200_0x15)); jT808Builder.Config.JT808_0X0200_Factory.JT808LocationAttachMethod.Add(JT808_JT1078_Constants.JT808_0X0200_0x16, typeof(JT808_0x0200_0x16)); jT808Builder.Config.JT808_0X0200_Factory.JT808LocationAttachMethod.Add(JT808_JT1078_Constants.JT808_0X0200_0x17, typeof(JT808_0x0200_0x17)); jT808Builder.Config.JT808_0X0200_Factory.JT808LocationAttachMethod.Add(JT808_JT1078_Constants.JT808_0X0200_0x18, typeof(JT808_0x0200_0x18)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JT1078_Constants.JT808_0X8103_0x0075, typeof(JT808_0x8103_0x0075)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JT1078_Constants.JT808_0X8103_0x0076, typeof(JT808_0x8103_0x0076)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JT1078_Constants.JT808_0X8103_0x0077, typeof(JT808_0x8103_0x0077)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JT1078_Constants.JT808_0X8103_0x0079, typeof(JT808_0x8103_0x0079)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JT1078_Constants.JT808_0X8103_0x007A, typeof(JT808_0x8103_0x007A)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JT1078_Constants.JT808_0X8103_0x007B, typeof(JT808_0x8103_0x007B)); jT808Builder.Config.JT808_0X8103_Factory.ParamMethods.Add(JT808_JT1078_Constants.JT808_0X8103_0x007C, typeof(JT808_0x8103_0x007C)); return(jT808Builder); }
public static IJT808Builder AddStreamaxConfigure(this IJT808Builder jT808Builder) { jT808Builder.Config.Register(Assembly.GetExecutingAssembly()); return(jT808Builder); }
public UnionGatewayBuilderDefault(IJT808Builder builder) { JT808Builder = builder; }
public JT808NettyBuilderDefault(IJT808Builder builder) { JT808Builder = builder; }
public JT808NormalGatewayBuilderDefault(IJT808Builder builder) { JT808Builder = builder; }
public static IJT808ClientBuilder AddClientKafka(this IJT808Builder builder) { return(new JT808ClientBuilderDefault(builder)); }
public JT808ClientBuilderDefault(IJT808Builder builder) { JT808Builder = builder; }
/// <summary> /// 注册808配置 /// </summary> /// <param name="builder"></param> /// <param name="jT808Config"></param> /// <returns></returns> public static IJT808Builder AddJT808Configure(this IJT808Builder builder, IJT808Config jT808Config) { builder.Services.AddSingleton(jT808Config.GetType(), jT808Config); return(builder); }