114 lines
2.3 KiB
Java
114 lines
2.3 KiB
Java
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);
|
|
}
|