From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点
---
Aging.Infrastructure/Contracts/IDeviceService.cs | 81 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 81 insertions(+), 0 deletions(-)
diff --git a/Aging.Infrastructure/Contracts/IDeviceService.cs b/Aging.Infrastructure/Contracts/IDeviceService.cs
new file mode 100644
index 0000000..8d7b66e
--- /dev/null
+++ b/Aging.Infrastructure/Contracts/IDeviceService.cs
@@ -0,0 +1,81 @@
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Aging.Infrastructure.Contracts
+{
+ /// <summary>
+ /// 璁惧鍛戒护鎵ц缁撴灉
+ /// </summary>
+ public sealed class DeviceCommandResult
+ {
+ /// <summary>
+ /// 鍛戒护鏄惁鎵ц鎴愬姛
+ /// </summary>
+ public bool Success { get; set; }
+
+ /// <summary>
+ /// 璁惧鍘熷鍝嶅簲瀛楃涓�
+ /// </summary>
+ public string? RawResponse { get; set; }
+
+ /// <summary>
+ /// 鍥炶鍊硷紙瑙f瀽鍚庣殑鏈夋晥鏁版嵁锛�
+ /// </summary>
+ public string? Readback { get; set; }
+
+ /// <summary>
+ /// 閿欒浠g爜
+ /// </summary>
+ public string? ErrorCode { get; set; }
+
+ /// <summary>
+ /// 閿欒淇℃伅
+ /// </summary>
+ public string? ErrorMessage { get; set; }
+
+ /// <summary>
+ /// 鍛戒护鎵ц寤惰繜锛堟绉掞級
+ /// </summary>
+ public double LatencyMs { get; set; }
+ }
+
+ /// <summary>
+ /// 璁惧鏈嶅姟鎺ュ彛銆�
+ /// 鎻愪緵鍩轰簬璧勬簮棰勭害鐨勫懡浠ゆ墽琛屽拰瀹夊叏鍏虫満鍔熻兘锛屽崗璋冭祫婧愮鐞嗗拰璁惧椹卞姩銆�
+ /// </summary>
+ public interface IDeviceService
+ {
+ /// <summary>
+ /// 寮傛鎵ц璁惧鍛戒护銆�
+ /// 闇�瑕佹湁鏁堢殑璧勬簮棰勭害鎵嶈兘鎵ц銆�
+ /// </summary>
+ /// <param name="deviceId">璁惧鏍囪瘑绗�</param>
+ /// <param name="command">鍛戒护瀛楃涓�</param>
+ /// <param name="owner">鎵�鏈夎�呬护鐗�</param>
+ /// <param name="ct">鍙栨秷浠ょ墝</param>
+ /// <returns>鍛戒护鎵ц缁撴灉</returns>
+ Task<DeviceCommandResult> ExecuteCommandAsync(
+ string deviceId, string command, ResourceOwnerToken owner, CancellationToken ct);
+
+ /// <summary>
+ /// 寮傛鎵ц璁惧鏌ヨ銆�
+ /// 闇�瑕佹湁鏁堢殑璧勬簮棰勭害鎵嶈兘鎵ц銆�
+ /// </summary>
+ /// <param name="deviceId">璁惧鏍囪瘑绗�</param>
+ /// <param name="query">鏌ヨ瀛楃涓�</param>
+ /// <param name="owner">鎵�鏈夎�呬护鐗�</param>
+ /// <param name="ct">鍙栨秷浠ょ墝</param>
+ /// <returns>鍛戒护鎵ц缁撴灉</returns>
+ Task<DeviceCommandResult> ExecuteQueryAsync(
+ string deviceId, string query, ResourceOwnerToken owner, CancellationToken ct);
+
+ /// <summary>
+ /// 寮傛瀹夊叏鍏抽棴璁惧銆�
+ /// 鎵ц璁惧鐗瑰畾鐨勫叧鏈哄簭鍒楋紝纭繚璁惧澶勪簬瀹夊叏鐘舵�併��
+ /// </summary>
+ /// <param name="deviceId">璁惧鏍囪瘑绗�</param>
+ /// <param name="owner">鎵�鏈夎�呬护鐗�</param>
+ /// <param name="ct">鍙栨秷浠ょ墝</param>
+ Task SafeShutdownAsync(string deviceId, ResourceOwnerToken owner, CancellationToken ct);
+ }
+}
--
Gitblit v1.9.1