using DMS.Core.Models; namespace DMS.Core.Interfaces.Services { /// /// MQTT服务管理器接口,负责管理MQTT连接和变量监控 /// public interface IMqttServiceManager : IDisposable { /// /// 初始化服务管理器 /// Task InitializeAsync(CancellationToken cancellationToken = default); /// /// 添加MQTT服务器到监控列表 /// void AddMqttServer(MqttServer mqttServer); /// /// 移除MQTT服务器监控 /// Task RemoveMqttServerAsync(int mqttServerId, CancellationToken cancellationToken = default); /// /// 更新MQTT服务器变量别名 /// void UpdateMqttAliases(int mqttServerId, List mqttAliases); /// /// 获取MQTT服务器连接状态 /// bool IsMqttServerConnected(int mqttServerId); /// /// 重新连接MQTT服务器 /// Task ReconnectMqttServerAsync(int mqttServerId, CancellationToken cancellationToken = default); /// /// 获取所有监控的MQTT服务器ID /// IEnumerable GetMonitoredMqttServerIds(); /// /// 连接MQTT服务器 /// Task ConnectMqttServerAsync(int mqttServerId, CancellationToken cancellationToken = default); /// /// 断开MQTT服务器连接 /// Task DisconnectMqttServerAsync(int mqttServerId, CancellationToken cancellationToken = default); /// /// 发布变量数据到MQTT服务器 /// Task PublishVariableDataAsync(MqttAlias variableMqtt, CancellationToken cancellationToken = default); /// /// 发布批量变量数据到MQTT服务器 /// Task PublishVariablesDataAsync(List variableMqtts, CancellationToken cancellationToken = default); } }