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/IDeviceManager.cs |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/Aging.Infrastructure/Contracts/IDeviceManager.cs b/Aging.Infrastructure/Contracts/IDeviceManager.cs
new file mode 100644
index 0000000..680a9c3
--- /dev/null
+++ b/Aging.Infrastructure/Contracts/IDeviceManager.cs
@@ -0,0 +1,65 @@
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Aging.Infrastructure.Contracts
+{
+    /// <summary>
+    /// 璁惧绠$悊鎺ュ彛銆�
+    /// 鎻愪緵璁惧椹卞姩鐨勬敞鍐屻�佽繛鎺ョ鐞嗗拰鐘舵�佹煡璇㈠姛鑳姐��
+    /// </summary>
+    public interface IDeviceManager
+    {
+        /// <summary>
+        /// 鏍规嵁璁惧ID鑾峰彇璁惧椹卞姩瀹炰緥
+        /// </summary>
+        /// <param name="deviceId">璁惧鏍囪瘑绗�</param>
+        /// <returns>璁惧椹卞姩瀹炰緥锛屼笉瀛樺湪鏃惰繑鍥� null</returns>
+        IDeviceDriver? GetDriver(string deviceId);
+
+        /// <summary>
+        /// 鑾峰彇璁惧褰撳墠鐘舵��
+        /// </summary>
+        /// <param name="deviceId">璁惧鏍囪瘑绗�</param>
+        /// <returns>璁惧椹卞姩鐘舵��</returns>
+        DeviceDriverStatus GetStatus(string deviceId);
+
+        /// <summary>
+        /// 娉ㄥ唽璁惧椹卞姩
+        /// </summary>
+        /// <param name="deviceId">璁惧鏍囪瘑绗�</param>
+        /// <param name="driver">璁惧椹卞姩瀹炰緥</param>
+        void RegisterDriver(string deviceId, IDeviceDriver driver);
+
+        /// <summary>
+        /// 娉ㄩ攢璁惧椹卞姩
+        /// </summary>
+        /// <param name="deviceId">璁惧鏍囪瘑绗�</param>
+        void UnregisterDriver(string deviceId);
+
+        /// <summary>
+        /// 寮傛杩炴帴璁惧
+        /// </summary>
+        /// <param name="deviceId">璁惧鏍囪瘑绗�</param>
+        /// <param name="ct">鍙栨秷浠ょ墝</param>
+        Task ConnectAsync(string deviceId, CancellationToken ct);
+
+        /// <summary>
+        /// 寮傛鏂紑璁惧杩炴帴
+        /// </summary>
+        /// <param name="deviceId">璁惧鏍囪瘑绗�</param>
+        Task DisconnectAsync(string deviceId);
+
+        /// <summary>
+        /// 鑾峰彇鎵�鏈夊凡娉ㄥ唽璁惧鐨処D鍒楄〃
+        /// </summary>
+        /// <returns>璁惧ID鍙鍒楄〃</returns>
+        IReadOnlyList<string> GetRegisteredDevices();
+
+        /// <summary>
+        /// 妫�鏌ヨ澶囨槸鍚﹀凡娉ㄥ唽
+        /// </summary>
+        /// <param name="deviceId">璁惧鏍囪瘑绗�</param>
+        /// <returns>璁惧鏄惁宸叉敞鍐�</returns>
+        bool IsDeviceRegistered(string deviceId);
+    }
+}

--
Gitblit v1.9.1