using DMS.Infrastructure.Interfaces.Services;
using Microsoft.Extensions.Logging;
using System;
namespace DMS.Infrastructure.Services
{
///
/// MQTT服务工厂实现类,用于创建MQTT服务实例
///
public class MqttServiceFactory : IMqttServiceFactory
{
private readonly ILogger _logger;
///
/// 构造函数,注入日志记录器
///
/// MQTT服务日志记录器
public MqttServiceFactory(ILogger logger)
{
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
}
///
/// 创建MQTT服务实例
///
/// IMqttService实例
public IMqttService CreateService()
{
return new MqttService(_logger);
}
///
/// 根据MQTT服务器配置创建MQTT服务实例
///
/// MQTT服务器配置
/// IMqttService实例
public IMqttService CreateService(Core.Models.MqttServer mqttServer)
{
if (mqttServer == null)
throw new ArgumentNullException(nameof(mqttServer));
return new MqttService(_logger);
}
}
}