using System.Threading; using System.Threading.Tasks; namespace Aging.Infrastructure.Contracts { /// /// 设备命令执行结果 /// public sealed class DeviceCommandResult { /// /// 命令是否执行成功 /// public bool Success { get; set; } /// /// 设备原始响应字符串 /// public string? RawResponse { get; set; } /// /// 回读值(解析后的有效数据) /// public string? Readback { get; set; } /// /// 错误代码 /// public string? ErrorCode { get; set; } /// /// 错误信息 /// public string? ErrorMessage { get; set; } /// /// 命令执行延迟(毫秒) /// public double LatencyMs { get; set; } } /// /// 设备服务接口。 /// 提供基于资源预约的命令执行和安全关机功能,协调资源管理和设备驱动。 /// public interface IDeviceService { /// /// 异步执行设备命令。 /// 需要有效的资源预约才能执行。 /// /// 设备标识符 /// 命令字符串 /// 所有者令牌 /// 取消令牌 /// 命令执行结果 Task ExecuteCommandAsync( string deviceId, string command, ResourceOwnerToken owner, CancellationToken ct); /// /// 异步执行设备查询。 /// 需要有效的资源预约才能执行。 /// /// 设备标识符 /// 查询字符串 /// 所有者令牌 /// 取消令牌 /// 命令执行结果 Task ExecuteQueryAsync( string deviceId, string query, ResourceOwnerToken owner, CancellationToken ct); /// /// 异步安全关闭设备。 /// 执行设备特定的关机序列,确保设备处于安全状态。 /// /// 设备标识符 /// 所有者令牌 /// 取消令牌 Task SafeShutdownAsync(string deviceId, ResourceOwnerToken owner, CancellationToken ct); } }