IDeviceService.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. package com.genersoft.iot.vmp.service;
  2. import com.genersoft.iot.vmp.gb28181.bean.Device;
  3. import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
  4. import com.genersoft.iot.vmp.gb28181.bean.SipTransactionInfo;
  5. import com.genersoft.iot.vmp.gb28181.bean.SyncStatus;
  6. import com.genersoft.iot.vmp.vmanager.bean.BaseTree;
  7. import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
  8. import java.util.List;
  9. /**
  10. * 设备相关业务处理
  11. * @author lin
  12. */
  13. public interface IDeviceService {
  14. /**
  15. * 设备上线
  16. * @param device 设备信息
  17. */
  18. void online(Device device, SipTransactionInfo sipTransactionInfo);
  19. /**
  20. * 设备下线
  21. * @param deviceId 设备编号
  22. */
  23. void offline(String deviceId, String reason);
  24. /**
  25. * 添加目录订阅
  26. * @param device 设备信息
  27. * @return 布尔
  28. */
  29. boolean addCatalogSubscribe(Device device);
  30. /**
  31. * 移除目录订阅
  32. * @param device 设备信息
  33. * @return 布尔
  34. */
  35. boolean removeCatalogSubscribe(Device device);
  36. /**
  37. * 添加移动位置订阅
  38. * @param device 设备信息
  39. * @return 布尔
  40. */
  41. boolean addMobilePositionSubscribe(Device device);
  42. /**
  43. * 移除移动位置订阅
  44. * @param device 设备信息
  45. * @return 布尔
  46. */
  47. boolean removeMobilePositionSubscribe(Device device);
  48. /**
  49. * 移除移动位置订阅
  50. * @param deviceId 设备ID
  51. * @return 同步状态
  52. */
  53. SyncStatus getChannelSyncStatus(String deviceId);
  54. /**
  55. * 查看是否仍在同步
  56. * @param deviceId 设备ID
  57. * @return 布尔
  58. */
  59. Boolean isSyncRunning(String deviceId);
  60. /**
  61. * 通道同步
  62. * @param device 设备信息
  63. */
  64. void sync(Device device);
  65. /**
  66. * 查询设备信息
  67. * @param deviceId 设备编号
  68. * @return 设备信息
  69. */
  70. Device getDevice(String deviceId);
  71. /**
  72. * 获取所有在线设备
  73. * @return 设备列表
  74. */
  75. List<Device> getAllOnlineDevice();
  76. /**
  77. * 判断是否注册已经失效
  78. * @param device 设备信息
  79. * @return 布尔
  80. */
  81. boolean expire(Device device);
  82. /**
  83. * 检查设备状态
  84. * @param device 设备信息
  85. */
  86. void checkDeviceStatus(Device device);
  87. /**
  88. * 根据IP和端口获取设备信息
  89. * @param host IP
  90. * @param port 端口
  91. * @return 设备信息
  92. */
  93. Device getDeviceByHostAndPort(String host, int port);
  94. /**
  95. * 更新设备
  96. * @param device 设备信息
  97. */
  98. void updateDevice(Device device);
  99. /**
  100. * 树形查询接口
  101. * @param deviceId 设备ID
  102. * @param parentId 父ID
  103. * @param onlyCatalog 只获取目录
  104. * @return
  105. */
  106. List<BaseTree<DeviceChannel>> queryVideoDeviceTree(String deviceId, String parentId, boolean onlyCatalog);
  107. /**
  108. * 查询树节点下的通道
  109. * @param deviceId 设备ID
  110. * @param parentId 父ID
  111. * @return
  112. */
  113. List<DeviceChannel> queryVideoDeviceInTreeNode(String deviceId, String parentId);
  114. /**
  115. * 检查设备编号是否已经存在
  116. * @param deviceId 设备编号
  117. * @return
  118. */
  119. boolean isExist(String deviceId);
  120. /**
  121. * 添加设备
  122. * @param device
  123. */
  124. void addDevice(Device device);
  125. /**
  126. * 页面表单更新设备信息
  127. * @param device
  128. */
  129. void updateCustomDevice(Device device);
  130. /**
  131. * 删除设备
  132. * @param deviceId
  133. * @return
  134. */
  135. boolean delete(String deviceId);
  136. /**
  137. * 获取统计信息
  138. * @return
  139. */
  140. ResourceBaceInfo getOverview();
  141. /**
  142. * 获取所有设备
  143. */
  144. List<Device> getAll();
  145. }