using JT808.Gateway.Abstractions;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Text;
namespace JT808.Gateway.ReplyMessage
{
public static class JT808ReplyMessageExtensions
{
///
/// 消息应答服务(不同的消费者实例)
///
///
///
public static IJT808ClientBuilder AddJT808InPlugReplyMessage(this IJT808ClientBuilder jT808ClientBuilder)
{
jT808ClientBuilder.JT808Builder.Services.AddSingleton();
jT808ClientBuilder.JT808Builder.Services.AddHostedService();
return jT808ClientBuilder;
}
///
/// 消息应答服务(不同的消费者实例)
///
/// 自定义消息回复服务
///
///
public static IJT808ClientBuilder AddJT808InPlugReplyMessage(this IJT808ClientBuilder jT808ClientBuilder)
where TReplyMessageHandler : JT808ReplyMessageHandler
{
jT808ClientBuilder.JT808Builder.Services.AddSingleton();
jT808ClientBuilder.JT808Builder.Services.AddHostedService();
return jT808ClientBuilder;
}
///
/// 消息应答服务(消费者单实例)
///
/// 自定义消息回复服务
///
///
public static IJT808GatewayBuilder AddJT808InMemoryReplyMessage(this IJT808GatewayBuilder jT808GatewayBuilder)
where TReplyMessageHandler : JT808ReplyMessageHandler
{
jT808GatewayBuilder.JT808Builder.Services.AddSingleton();
jT808GatewayBuilder.JT808Builder.Services.AddHostedService();
return jT808GatewayBuilder;
}
///
/// 消息应答服务(消费者单实例)
///
///
///
public static IJT808GatewayBuilder AddInMemoryReplyMessage(this IJT808GatewayBuilder jT808GatewayBuilder)
{
jT808GatewayBuilder.JT808Builder.Services.AddSingleton();
jT808GatewayBuilder.JT808Builder.Services.AddHostedService();
return jT808GatewayBuilder;
}
}
}