From f4f3e60a6b84bb9368ac3d1bc515a96310fed1e8 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 27 十月 2023 15:47:27 +0800
Subject: [PATCH] Merge pull request #1082 from DavidSche/Live_streaming_push
---
src/main/java/com/genersoft/iot/vmp/service/IDeviceService.java | 127 ++++++++++++++++++++++++++++++++++++++++--
1 files changed, 120 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IDeviceService.java b/src/main/java/com/genersoft/iot/vmp/service/IDeviceService.java
old mode 100644
new mode 100755
index 5621d2a..e20c3bf
--- a/src/main/java/com/genersoft/iot/vmp/service/IDeviceService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IDeviceService.java
@@ -1,58 +1,171 @@
package com.genersoft.iot.vmp.service;
import com.genersoft.iot.vmp.gb28181.bean.Device;
+import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
+import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo;
import com.genersoft.iot.vmp.gb28181.bean.SyncStatus;
+import com.genersoft.iot.vmp.vmanager.bean.BaseTree;
+import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
+
+import java.util.List;
/**
* 璁惧鐩稿叧涓氬姟澶勭悊
+ * @author lin
*/
public interface IDeviceService {
/**
+ * 璁惧涓婄嚎
+ * @param device 璁惧淇℃伅
+ */
+ void online(Device device, SipTransactionInfo sipTransactionInfo);
+
+ /**
+ * 璁惧涓嬬嚎
+ * @param deviceId 璁惧缂栧彿
+ */
+ void offline(String deviceId, String reason);
+
+ /**
* 娣诲姞鐩綍璁㈤槄
* @param device 璁惧淇℃伅
- * @return
+ * @return 甯冨皵
*/
boolean addCatalogSubscribe(Device device);
/**
* 绉婚櫎鐩綍璁㈤槄
* @param device 璁惧淇℃伅
- * @return
+ * @return 甯冨皵
*/
boolean removeCatalogSubscribe(Device device);
/**
* 娣诲姞绉诲姩浣嶇疆璁㈤槄
* @param device 璁惧淇℃伅
- * @return
+ * @return 甯冨皵
*/
boolean addMobilePositionSubscribe(Device device);
/**
* 绉婚櫎绉诲姩浣嶇疆璁㈤槄
* @param device 璁惧淇℃伅
- * @return
+ * @return 甯冨皵
*/
boolean removeMobilePositionSubscribe(Device device);
/**
* 绉婚櫎绉诲姩浣嶇疆璁㈤槄
* @param deviceId 璁惧ID
- * @return
+ * @return 鍚屾鐘舵��
*/
SyncStatus getChannelSyncStatus(String deviceId);
/**
* 鏌ョ湅鏄惁浠嶅湪鍚屾
* @param deviceId 璁惧ID
- * @return
+ * @return 甯冨皵
*/
Boolean isSyncRunning(String deviceId);
/**
* 閫氶亾鍚屾
- * @param device
+ * @param device 璁惧淇℃伅
*/
void sync(Device device);
+
+ /**
+ * 鏌ヨ璁惧淇℃伅
+ * @param deviceId 璁惧缂栧彿
+ * @return 璁惧淇℃伅
+ */
+ Device getDevice(String deviceId);
+
+ /**
+ * 鑾峰彇鎵�鏈夊湪绾胯澶�
+ * @return 璁惧鍒楄〃
+ */
+ List<Device> getAllOnlineDevice();
+
+ /**
+ * 鍒ゆ柇鏄惁娉ㄥ唽宸茬粡澶辨晥
+ * @param device 璁惧淇℃伅
+ * @return 甯冨皵
+ */
+ boolean expire(Device device);
+
+ /**
+ * 妫�鏌ヨ澶囩姸鎬�
+ * @param device 璁惧淇℃伅
+ */
+ void checkDeviceStatus(Device device);
+
+ /**
+ * 鏍规嵁IP鍜岀鍙h幏鍙栬澶囦俊鎭�
+ * @param host IP
+ * @param port 绔彛
+ * @return 璁惧淇℃伅
+ */
+ Device getDeviceByHostAndPort(String host, int port);
+
+ /**
+ * 鏇存柊璁惧
+ * @param device 璁惧淇℃伅
+ */
+ void updateDevice(Device device);
+
+ /**
+ * 鏍戝舰鏌ヨ鎺ュ彛
+ * @param deviceId 璁惧ID
+ * @param parentId 鐖禝D
+ * @param onlyCatalog 鍙幏鍙栫洰褰�
+ * @return
+ */
+ List<BaseTree<DeviceChannel>> queryVideoDeviceTree(String deviceId, String parentId, boolean onlyCatalog);
+
+ /**
+ * 鏌ヨ鏍戣妭鐐逛笅鐨勯�氶亾
+ * @param deviceId 璁惧ID
+ * @param parentId 鐖禝D
+ * @return
+ */
+ List<DeviceChannel> queryVideoDeviceInTreeNode(String deviceId, String parentId);
+
+ /**
+ * 妫�鏌ヨ澶囩紪鍙锋槸鍚﹀凡缁忓瓨鍦�
+ * @param deviceId 璁惧缂栧彿
+ * @return
+ */
+ boolean isExist(String deviceId);
+
+ /**
+ * 娣诲姞璁惧
+ * @param device
+ */
+ void addDevice(Device device);
+
+ /**
+ * 椤甸潰琛ㄥ崟鏇存柊璁惧淇℃伅
+ * @param device
+ */
+ void updateCustomDevice(Device device);
+
+ /**
+ * 鍒犻櫎璁惧
+ * @param deviceId
+ * @return
+ */
+ boolean delete(String deviceId);
+
+ /**
+ * 鑾峰彇缁熻淇℃伅
+ * @return
+ */
+ ResourceBaseInfo getOverview();
+
+ /**
+ * 鑾峰彇鎵�鏈夎澶�
+ */
+ List<Device> getAll();
}
--
Gitblit v1.8.0