| package com.genersoft.iot.vmp.service; | 
|   | 
| import com.genersoft.iot.vmp.gb28181.bean.Device; | 
| import com.genersoft.iot.vmp.gb28181.bean.SyncStatus; | 
|   | 
| import java.util.List; | 
|   | 
| /** | 
|  * 设备相关业务处理 | 
|  * @author lin | 
|  */ | 
| public interface IDeviceService { | 
|   | 
|     /** | 
|      * 设备上线 | 
|      * @param device 设备信息 | 
|      */ | 
|     void online(Device device); | 
|   | 
|     /** | 
|      * 设备下线 | 
|      * @param deviceId 设备编号 | 
|      */ | 
|     void offline(String deviceId); | 
|   | 
|     /** | 
|      * 添加目录订阅 | 
|      * @param device 设备信息 | 
|      * @return 布尔 | 
|      */ | 
|     boolean addCatalogSubscribe(Device device); | 
|   | 
|     /** | 
|      * 移除目录订阅 | 
|      * @param device 设备信息 | 
|      * @return 布尔 | 
|      */ | 
|     boolean removeCatalogSubscribe(Device device); | 
|   | 
|     /** | 
|      * 添加移动位置订阅 | 
|      * @param device 设备信息 | 
|      * @return 布尔 | 
|      */ | 
|     boolean addMobilePositionSubscribe(Device device); | 
|   | 
|     /** | 
|      * 移除移动位置订阅 | 
|      * @param device 设备信息 | 
|      * @return 布尔 | 
|      */ | 
|     boolean removeMobilePositionSubscribe(Device device); | 
|   | 
|     /** | 
|      * 移除移动位置订阅 | 
|      * @param deviceId 设备ID | 
|      * @return 同步状态 | 
|      */ | 
|     SyncStatus getChannelSyncStatus(String deviceId); | 
|   | 
|     /** | 
|      * 查看是否仍在同步 | 
|      * @param deviceId 设备ID | 
|      * @return 布尔 | 
|      */ | 
|     Boolean isSyncRunning(String deviceId); | 
|   | 
|     /** | 
|      * 通道同步 | 
|      * @param device 设备信息 | 
|      */ | 
|     void sync(Device device); | 
|   | 
|     /** | 
|      * 查询设备信息 | 
|      * @param deviceId 设备编号 | 
|      * @return 设备信息 | 
|      */ | 
|     Device queryDevice(String deviceId); | 
|   | 
|     /** | 
|      * 获取所有在线设备 | 
|      * @return 设备列表 | 
|      */ | 
|     List<Device> getAllOnlineDevice(); | 
|   | 
|     /** | 
|      * 判断是否注册已经失效 | 
|      * @param device 设备信息 | 
|      * @return 布尔 | 
|      */ | 
|     boolean expire(Device device); | 
|   | 
|     /** | 
|      * 检查设备状态 | 
|      * @param device 设备信息 | 
|      */ | 
|     void checkDeviceStatus(Device device); | 
|   | 
|     /** | 
|      * 根据IP和端口获取设备信息 | 
|      * @param host IP | 
|      * @param port 端口 | 
|      * @return 设备信息 | 
|      */ | 
|     Device getDeviceByHostAndPort(String host, int port); | 
|   | 
|     /** | 
|      * 更新设备 | 
|      * @param device 设备信息 | 
|      */ | 
|     void updateDevice(Device device); | 
| } |