不在控制相机

hubei-jinshennong
LAPTOP-S9HJSOEB\昊天 1 week ago
parent b8fca9b0ca
commit 21df529d49

@ -1,6 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="http://maven.aliyun.com/repository/public" />
</remote-repository>
<remote-repository>
<option name="id" value="aliyun" />
<option name="name" value="Aliyun Maven" />
<option name="url" value="http://maven.aliyun.com/repository/public" />
</remote-repository>
<remote-repository>
<option name="id" value="aliyun" />
<option name="name" value="Aliyun Maven" />
<option name="url" value="https://maven.aliyun.com/repository/public" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
@ -16,6 +31,11 @@
<option name="name" value="Nexus" />
<option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="aliyun-spring" />
<option name="name" value="Aliyun Spring" />
<option name="url" value="https://maven.aliyun.com/repository/public" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
@ -26,10 +46,20 @@
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="nexus" />
<option name="name" value="Nexus" />
<option name="url" value="http://maven.aliyun.com/repository/public" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://maven.aliyun.com/repository/public" />
</remote-repository>
<remote-repository>
<option name="id" value="aliyun-spring" />
<option name="name" value="Aliyun Spring" />
<option name="url" value="http://maven.aliyun.com/repository/public" />
</remote-repository>
</component>
</project>

@ -8,5 +8,5 @@
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="1.8 (2)" project-jdk-type="JavaSDK" />
</project>

@ -103,6 +103,10 @@
<artifactId>base-assembly</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
@ -118,6 +122,28 @@
</plugins>
</build>
<repositories>
<repository>
<id>aliyun</id>
<name>Aliyun Maven</name>
<url>http://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>aliyun-spring</id>
<name>Aliyun Spring</name>
<url>http://maven.aliyun.com/repository/spring</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>nexus</id>
<name>Nexus</name>

@ -1,5 +1,3 @@
#Generated by Maven
#Tue Jan 27 17:40:12 CST 2026
groupId=com.zhehekeji
artifactId=common
groupId=com.zhehekeji
version=1.0.0

@ -1,13 +1,13 @@
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\PathUtil.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\Tools.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\ValidatorUtil.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\SpringContextUtil.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\QrUtil.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\CommonConfigure.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\constant\CommonConstant.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\HttpUtil.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\properities\Md5Properity.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\properities\RedisProperity.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\CommonConfigure.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\properities\Properity.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\MD5Util.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\properities\RedisProperity.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\FileUtil.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\HttpUtil.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\MD5Util.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\PathUtil.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\QrUtil.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\SpringContextUtil.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\Tools.java
D:\git\hzleaper\lia-monitor-backend\modules\common\src\main\java\com\zhehekeji\common\util\ValidatorUtil.java

@ -91,6 +91,28 @@
</profiles>
<repositories>
<repository>
<id>aliyun</id>
<name>Aliyun Maven</name>
<url>http://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>aliyun-spring</id>
<name>Aliyun Spring</name>
<url>http://maven.aliyun.com/repository/spring</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>nexus</id>
<name>Nexus</name>

@ -127,8 +127,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>9</source>
<target>9</target>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>

@ -6,8 +6,6 @@ import com.zhehekeji.core.util.Assert;
import com.zhehekeji.web.config.ConfigProperties;
import com.zhehekeji.web.entity.Camera;
import com.zhehekeji.web.lib.*;
import com.zhehekeji.web.lib.hik.HCNetSDK;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
import com.zhehekeji.web.mapper.CameraMapper;
import com.zhehekeji.web.service.CameraService;
import com.zhehekeji.web.service.PlcService;
@ -41,12 +39,12 @@ public class CameraControlController {
return Result.success();
}
private NetSDKLib.LLong cameraLogin(Integer cameraId){
private void cameraLogin(Integer cameraId){
log.info("相机登录 cameraId:{}",cameraId);
Camera camera = cameraMapper.selectById(cameraId);
Assert.notNull(camera,"球机不存在");
NetSDKLib.LLong lLong = loginControlModule.login(camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword());
return lLong;
// NetSDKLib.LLong lLong = loginControlModule.login(camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword());
// return lLong;
}
@PostMapping("/up/{id}")

@ -11,8 +11,6 @@ import com.zhehekeji.web.entity.CameraIO;
import com.zhehekeji.web.entity.CameraIOConfig;
import com.zhehekeji.web.lib.CameraConnMap;
import com.zhehekeji.web.lib.CameraControlModule;
import com.zhehekeji.web.lib.joyware.JoywareLoginModuleImpl;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
import com.zhehekeji.web.pojo.camera.CameraConfigSearchReq;
import com.zhehekeji.web.pojo.camera.CameraIOPtz;
import com.zhehekeji.web.pojo.street.StreetSearch;
@ -140,20 +138,8 @@ public class CameraController {
@PostMapping("/{cameraId}/io/xy")
@ApiOperation(value = "获取球机的当前位置坐标")
public Result xy(@PathVariable Integer cameraId) {
NetSDKLib.NET_PTZ_LOCATION_INFO ptzLocationInfo = new NetSDKLib.NET_PTZ_LOCATION_INFO();
IntByReference intRetLen = new IntByReference();
int nType = NetSDKLib.NET_DEVSTATE_PTZ_LOCATION;
ptzLocationInfo.write();
boolean bRet = JoywareLoginModuleImpl.netsdk.CLIENT_QueryDevState(CameraConnMap.getConnId(cameraId), nType, ptzLocationInfo.getPointer(), ptzLocationInfo.size(), intRetLen, 3000);
ptzLocationInfo.read();
String s = "水平:%d,垂直:%d";
if (bRet) {
String ss = String.format(s,ptzLocationInfo.nPTZPan,ptzLocationInfo.nPTZTilt);
log.info(ss);
return Result.success(ss);
}
return Result.success(s);
return Result.success();
}
@GetMapping("/downloadConfig")

@ -1,6 +1,5 @@
package com.zhehekeji.web.lib;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
import java.util.HashMap;
import java.util.Map;
@ -14,15 +13,15 @@ public class CameraConnMap {
* key :cameraId
* value: loginId
*/
public static Map<Integer, NetSDKLib.LLong> cameraMap = new HashMap<>();
public static Map<Integer, Long> cameraMap = new HashMap<>();
/**
* key:loginId
* value: cameraId
*/
public static Map<NetSDKLib.LLong,Integer> loginMap = new HashMap<>();
public static Map<Long,Integer> loginMap = new HashMap<>();
public static void conn(Integer cameraId,NetSDKLib.LLong handlerId){
public static void conn(Integer cameraId,Long handlerId){
synchronized (cameraId.toString().intern()){
cameraMap.put(cameraId,handlerId);
loginMap.put(handlerId,cameraId);
@ -32,17 +31,17 @@ public class CameraConnMap {
public static void disConn(Integer cameraId){
synchronized (cameraId.toString().intern()){
NetSDKLib.LLong lLong = cameraMap.get(cameraId);
Long lLong = cameraMap.get(cameraId);
cameraMap.remove(cameraId);
loginMap.remove(lLong);
}
}
public static NetSDKLib.LLong getConnId(Integer cameraId){
public static Long getConnId(Integer cameraId){
return cameraMap.get(cameraId);
}
public static Integer getCameraIdByLoginId(NetSDKLib.LLong lLong){
public static Integer getCameraIdByLoginId(Long lLong){
return loginMap.get(lLong);
}

@ -1,9 +1,7 @@
package com.zhehekeji.web.lib;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
public interface CameraControlLoginModule {
NetSDKLib.LLong login(String ip, int port, String user, String password);
Long login(String ip, int port, String user, String password);
}

File diff suppressed because it is too large Load Diff

@ -6,7 +6,6 @@ import com.zhehekeji.common.util.PathUtil;
import com.zhehekeji.core.util.Assert;
import com.zhehekeji.web.lib.CameraConnMap;
import com.zhehekeji.web.lib.CameraControlModule;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
import lombok.extern.slf4j.Slf4j;
import java.io.*;
@ -25,434 +24,179 @@ import java.util.Timer;
@Slf4j
public class HikCameraControlModuleImpl implements CameraControlModule {
public boolean connectStatus(Integer cameraId){
NetSDKLib.LLong userId = CameraConnMap.getConnId(cameraId);
return HikLoginModuleImpl.hcNetsdk.NET_DVR_RemoteControl(userId.intValue(),20005,null,0);
}
/**
*
*/
public boolean ptzControlUpStart(Integer cameraId, int nChannelID, int dwPTZCommand,int dwStop)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_UP, 0);
}
public boolean ptzControlUpEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_UP, 1);
}
/**
*
*/
public boolean ptzControlDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_DOWN, 0);
}
public boolean ptzControlDownEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_DOWN, 1);
}
public boolean setTime(Integer cameraId,LocalDateTime time)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
HCNetSDK.NET_DVR_TIME dvrTime = new HCNetSDK.NET_DVR_TIME();
IntByReference bytesReturned = new IntByReference(0);
// 先获取设备当前时间
boolean getResult = HikLoginModuleImpl.hcNetsdk.NET_DVR_GetDVRConfig(lUserId, HCNetSDK.NET_DVR_GET_TIMECFG, -1, dvrTime.getPointer(), dvrTime.size(), bytesReturned);
if (getResult) {
dvrTime.read(); // 从内存指针读取数据到结构体
log.info("Get device time success, current time: {}-{}-{} {}:{}:{}",
dvrTime.dwYear, dvrTime.dwMonth, dvrTime.dwDay,
dvrTime.dwHour, dvrTime.dwMinute, dvrTime.dwSecond);
} else {
log.error("Get device time failed, error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(), cameraId);
}
// 设置新时间
dvrTime.setTime(time.getYear(), time.getMonthValue(), time.getDayOfMonth(), time.getHour(), time.getMinute(), time.getSecond());
dvrTime.write(); // 将数据写入内存指针
boolean result = HikLoginModuleImpl.hcNetsdk.NET_DVR_SetDVRConfig(lUserId, HCNetSDK.NET_DVR_SET_TIMECFG, -1, dvrTime.getPointer(), dvrTime.size());
if (!result) {
log.error("setTime error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(), cameraId);
} else {
log.info("Set device time success, new time: {}-{}-{} {}:{}:{}",
time.getYear(), time.getMonthValue(), time.getDayOfMonth(),
time.getHour(), time.getMinute(), time.getSecond());
}
return result;
}
/**
*
*/
public boolean ptzControlLeftStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_LEFT, 0);
}
public boolean ptzControlLeftEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_LEFT, 1);
}
/**
*
*/
public boolean ptzControlRightStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_RIGHT, 0);
}
public boolean ptzControlRightEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_RIGHT, 1);
}
/**
*
*/
public boolean ptzControlLeftUpStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_LEFT, 0);
}
public boolean ptzControlLeftUpEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_LEFT, 1);
}
/**
*
*/
public boolean ptzControlRightUpStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_RIGHT, 0);
}
public boolean ptzControlRightUpEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_RIGHT, 1);
}
/**
*
*/
public boolean ptzControlLeftDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_LEFT, 0);
if(!ok){
log.error("error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
}
return ok;
}
public boolean ptzControlLeftDownEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_LEFT, 1);
}
/**
*
*/
public boolean ptzControlRightDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_RIGHT, 0);
}
public boolean ptzControlRightDownEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_RIGHT, 1);
}
/**
* +
*/
public boolean ptzControlZoomAddStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_IN, 0);
}
public boolean ptzControlZoomAddEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_IN, 1);
}
/**
* -
*/
public boolean ptzControlZoomDecStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_OUT, 0);
}
public boolean ptzControlZoomDecEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_OUT, 1);
}
/**
* +
*/
public boolean ptzControlFocusAddStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_NEAR, 0);
}
public boolean ptzControlFocusAddEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_NEAR, 1);
}
/**
* -
*/
public boolean ptzControlFocusDecStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_FAR, 0);
}
public boolean ptzControlFocusDecEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_FAR, 1);
}
/**
* +
*/
public boolean ptzControlIrisAddStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_OPEN, 0);
}
public boolean ptzControlIrisAddEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_OPEN, 1);
}
/**
* -
*/
public boolean ptzControlIrisDecStart(Integer cameraId, int nChannelID, int dwPTZCommand)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
return HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_CLOSE, 0);
}
public boolean ptzControlIrisDecEnd(Integer cameraId, int nChannelID)
{
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_CLOSE, 1);
return ok;
@Override
public boolean connectStatus(Integer cameraId) {
return false;
}
public boolean pic(Integer cameraId, int nChannelID, String path)
{
PathUtil.checkDirc(path);
int lUserId = CameraConnMap.getConnId(cameraId).intValue();
short wPicSize = 3;
short wPicQuality = 0;
HCNetSDK.NET_DVR_JPEGPARA jpegpara = new HCNetSDK.NET_DVR_JPEGPARA(wPicSize, wPicQuality);
boolean picResult = HikLoginModuleImpl.hcNetsdk.NET_DVR_CaptureJPEGPicture(lUserId, 1, jpegpara, path);
if (!picResult) {
log.error("pic error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
}
return picResult;
@Override
public boolean ptzControlUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
return false;
}
@Override
public boolean ptzControlUpEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
return false;
}
@Override
public boolean ptzControlDownEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean setTime(Integer cameraId, LocalDateTime time) {
return false;
}
@Override
public boolean ptzControlLeftStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
return false;
}
@Override
public boolean ptzControlLeftEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlRightStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
return false;
}
@Override
public boolean ptzControlRightEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlLeftUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
return false;
}
@Override
public boolean ptzControlLeftUpEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlRightUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
return false;
}
@Override
public boolean ptzControlRightUpEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlLeftDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
return false;
}
@Override
public boolean ptzControlLeftDownEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlRightDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
return false;
}
@Override
public boolean ptzControlRightDownEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlZoomAddStart(Integer cameraId, int nChannelID, int lParam2) {
return false;
}
@Override
public boolean ptzControlZoomAddEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlZoomDecStart(Integer cameraId, int nChannelID, int lParam2) {
return false;
}
@Override
public boolean ptzControlZoomDecEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlFocusAddStart(Integer cameraId, int nChannelID, int lParam2) {
return false;
}
@Override
public boolean ptzControlFocusAddEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlFocusDecStart(Integer cameraId, int nChannelID, int lParam2) {
return false;
}
@Override
public boolean ptzControlFocusDecEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlIrisAddStart(Integer cameraId, int nChannelID, int lParam2) {
return false;
}
@Override
public boolean ptzControlIrisAddEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean ptzControlIrisDecStart(Integer cameraId, int nChannelID, int lParam2) {
return false;
}
@Override
public boolean ptzControlIrisDecEnd(Integer cameraId, int nChannelID) {
return false;
}
@Override
public boolean pic(Integer cameraId, int channel, String realPath) {
return false;
}
@Override
public void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end) {
start = start.minusMinutes(1);
end = end.minusMinutes(1);
PathUtil.checkDirc(path);
HCNetSDK.NET_DVR_TIME startTime = new HCNetSDK.NET_DVR_TIME();
startTime.setTime(start.getYear(), start.getMonthValue(), start.getDayOfMonth(), start.getHour(), start.getMinute(), start.getSecond());
HCNetSDK.NET_DVR_TIME endTime = new HCNetSDK.NET_DVR_TIME();
endTime.setTime(end.getYear(), end.getMonthValue(), end.getDayOfMonth(), end.getHour(), end.getMinute(), end.getSecond());
log.info("start download mp4 path:{} ,cameraId:{},start_time{}end_time:{}",path,cameraId,startTime.toStringTime(),endTime.toStringTime());
int lUserID = CameraConnMap.getConnId(cameraId).intValue();
int result = HikLoginModuleImpl.hcNetsdk.NET_DVR_GetFileByTime(lUserID, 1, startTime, endTime, path);
if (result == -1) {
log.error("downloadMp4 error code:{},cameraId:{},path:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId,path);
} else {
HikLoginModuleImpl.hcNetsdk.NET_DVR_PlayBackControl(result, HikLoginModuleImpl.hcNetsdk.NET_DVR_PLAYSTART,0,null);
Timer downloadtimer = new Timer();
downloadtimer.schedule(new DownloadTask(result,downloadtimer,path,cameraId), 0, 5000);
}
}
class DownloadTask extends java.util.TimerTask {
private Integer handler;
private Timer downloadtimer;
private Integer cameraId;
private String path;
public DownloadTask(Integer handler,Timer downloadtimer,String path,int cameraId){
this.handler = handler;
this.cameraId = cameraId;
this.downloadtimer = downloadtimer;
this.path = path;
}
//定时器函数
@Override
public void run()
{
IntByReference nPos = new IntByReference(0);
HikLoginModuleImpl.hcNetsdk.NET_DVR_PlayBackControl(handler, HCNetSDK.NET_DVR_PLAYGETPOS, 0, nPos);
if (nPos.getValue() > 100)
{
log.error("download mp4 error:{},cameraId:{},path:{}",HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId,path);
HikLoginModuleImpl.hcNetsdk.NET_DVR_StopGetFile(handler);
downloadtimer.cancel();
}
if (nPos.getValue() == 100)
{
downloadtimer.cancel();
HikLoginModuleImpl.hcNetsdk.NET_DVR_StopGetFile(handler);
//ffmpeg转码
log.info("download over,cameraId:{}",cameraId);
String ffmpegFile = path+"ffmpeg.mp4";
convetor(path,ffmpegFile);
PathUtil.deleteFile(path);
File file = new File(ffmpegFile);
file.renameTo(new File(path));
}else {
log.debug("cameraId:{},progress:{}",cameraId,nPos.getValue());
}
}
}
public static void convetor(String videoInputPath, String videoOutPath){
List<String> command = new ArrayList<String>();
command.add(".\\libs\\ffmpeg\\ffmpeg.exe");
command.add("-i");
command.add(videoInputPath);
command.add("-c");
command.add("copy");
command.add("-an");
command.add(videoOutPath);
ProcessBuilder builder = new ProcessBuilder(command);
Process process = null;
try {
process = builder.start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 使用这种方式会在瞬间大量消耗CPU和内存等系统资源所以这里我们需要对流进行处理
InputStream errorStream = process.getErrorStream();
InputStreamReader inputStreamReader = new InputStreamReader(errorStream);
BufferedReader br = new BufferedReader(inputStreamReader);
String line = "";
try {
while ((line = br.readLine()) != null) {
}
}catch (Exception e){
}finally {
try {
if (br != null) {
br.close();
}
if (inputStreamReader != null) {
inputStreamReader.close();
}
if (errorStream != null) {
errorStream.close();
}
}catch (Exception e){
}
}
}
/**
*
*
* @param ptzId ID
* @param name
* @param cameraId ID,
*/
public void ptz(Integer ptzId, String name, Integer cameraId)
{
int dwzCommand = HCNetSDK.SET_PRESET;
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZPreset_Other(CameraConnMap.getConnId(cameraId).intValue(), 1, dwzCommand, ptzId.intValue());
if(!ok){
log.error("ptz error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
}
Assert.isTrue(ok, "设置失败");
}
/**
*
*
* @param ptzId
* @param cameraId
*/
public void toPtz(Integer ptzId, Integer cameraId)
{
int dwPTZCommand = HCNetSDK.GOTO_PRESET;
Boolean ok = HikLoginModuleImpl.hcNetsdk.NET_DVR_PTZPreset_Other(CameraConnMap.getConnId(cameraId).intValue(), 1, dwPTZCommand, ptzId);
if(!ok){
log.error("toPtz error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
}
}
/**
*
*
* @param cameraId
*/
public void toPtzSlow(Integer cameraId,Integer x) {
int dwPTZCommand = NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_MOVE_ABSOLUTELY;
NetSDKLib.PTZ_CONTROL_ABSOLUTELY absolutely = new NetSDKLib.PTZ_CONTROL_ABSOLUTELY();
absolutely.stuPosition.nPositionX = x;
absolutely.stuPosition.nPositionY = 0;
absolutely.stuSpeed.fPositionX = 0.2f;
absolutely.stuSpeed.fPositionY = 0.2f;
absolutely.write();
//absolutely.stuSpeed.fZoom = 0.5f;
Boolean ok = HikLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx2(CameraConnMap.getConnId(cameraId), 0, dwPTZCommand,
0, 0, 0, 0, absolutely.getPointer());
if(!ok){
log.error("toPtzSlow error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(),cameraId);
}
}
@Override
public void ptz(Integer ptzId, String name, Integer cameraId) {
}
@Override
public void toPtz(Integer ptzId, Integer cameraId) {
}
@Override
public void toPtzSlow(Integer cameraId, Integer x) {
}
}

@ -2,7 +2,6 @@ package com.zhehekeji.web.lib.hik;
import com.sun.jna.Pointer;
import com.zhehekeji.web.lib.CameraConnMap;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@ -10,15 +9,14 @@ public class HikExceptionCallBack implements HCNetSDK.FExceptionCallBack {
@Override
public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser) {
Integer cameraId =CameraConnMap.getCameraIdByLoginId(new NetSDKLib.LLong(lUserID));
// Integer cameraId =CameraConnMap.getCameraIdByLoginId(new NetSDKLib.LLong(lUserID));
if(dwType == 32768){
log.error("hik disconnect,cameraId:{}", cameraId);
log.error("hik disconnect,cameraId:{}",lUserID);
}else if(dwType == 32791){
log.info("hik reconnect,cameraId:{}", CameraConnMap.getCameraIdByLoginId(new NetSDKLib.LLong(lUserID)));
log.info("hik reconnect,cameraId:{}",lUserID);
}
}
}

@ -1,10 +1,12 @@
package com.zhehekeji.web.lib.hik;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
import com.zhehekeji.web.lib.CameraControlLoginModule;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
import lombok.extern.slf4j.Slf4j;
import java.time.LocalDateTime;
/**
*
*
@ -12,107 +14,94 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class HikLoginModuleImpl implements CameraControlLoginModule {
public static NetSDKLib netsdk = NetSDKLib.NETSDK_INSTANCE;
public static HCNetSDK hcNetsdk = HCNetSDK.INSTANCE;
private static int MAX_RECONNET_TIME = 100;
private static boolean hasInit = Boolean.FALSE;
static HikExceptionCallBack hikExceptionCallBack = new HikExceptionCallBack();
/**
* \if ENGLISH_LANG
* Init
* \else
*
* \endif
*/
public boolean init() {
//public static boolean init(NetSDKLib.fDisConnect disConnect, NetSDKLib.fHaveReConnect haveReConnect) {
Pointer pointer = null;
if(!hasInit){
Boolean ok = hcNetsdk.NET_DVR_Init();
if(!ok){
log.error("hik Initialize SDK failed");
return false;
}
hasInit = Boolean.TRUE;
}
Boolean ok = hcNetsdk.NET_DVR_SetExceptionCallBack_V30(0,0,hikExceptionCallBack,pointer);
if(!ok){
log.error("hik callback config error");
}
//设置登录超时时间和尝试次数,可选
int waitTime = 1000; //登录请求响应超时时间设置
int tryTimes = 1000; //登录时尝试建立链接次数
Boolean ok1 = hcNetsdk.NET_DVR_SetConnectTime(waitTime, tryTimes);
Boolean ok2 = hcNetsdk.NET_DVR_SetReconnect(500,Boolean.TRUE);
return true;
}
//检测球机连接状态
public static Boolean connectStatus(int userId){
return hcNetsdk.NET_DVR_RemoteControl(userId,20005,null,0);
}
/**
* \if ENGLISH_LANG
* Login Device
* \else
*
* \endif
*/
public NetSDKLib.LLong login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) {
init();
HCNetSDK.NET_DVR_USER_LOGIN_INFO m_strLoginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();//设备登录信息
HCNetSDK.NET_DVR_DEVICEINFO_V40 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();//设备信息
m_strLoginInfo.sDeviceAddress = new byte[HCNetSDK.NET_DVR_DEV_ADDRESS_MAX_LEN];//设备ip地址
System.arraycopy(m_strIp.getBytes(), 0, m_strLoginInfo.sDeviceAddress, 0, m_strIp.length());
m_strLoginInfo.sUserName = new byte[HCNetSDK.NET_DVR_LOGIN_USERNAME_MAX_LEN];//设备用户名
System.arraycopy(m_strUser.getBytes(), 0, m_strLoginInfo.sUserName, 0, m_strUser.length());
m_strLoginInfo.sPassword = new byte[HCNetSDK.NET_DVR_LOGIN_PASSWD_MAX_LEN];//设备密码
System.arraycopy(m_strPassword.getBytes(), 0, m_strLoginInfo.sPassword, 0, m_strPassword.length());
m_strLoginInfo.wPort = (short) m_nPort;
m_strLoginInfo.bUseAsynLogin = false; //是否异步登录0- 否1- 是
m_strLoginInfo.write();
HCNetSDK.NET_DVR_DEVICEINFO_V30 m_strDeviceInfo30 = new HCNetSDK.NET_DVR_DEVICEINFO_V30();//设备信息
int m_lUserID = hcNetsdk.NET_DVR_Login_V40(m_strLoginInfo,m_strDeviceInfo);
int lChannel = 2;
//byStartDChan为IP通道起始通道号, 预览回放NVR的IP通道时需要根据起始通道号进行取值
int tryTimes = 0;
while(m_lUserID < 0 && tryTimes < MAX_RECONNET_TIME){
log.error("hik login error,ip:{},port:{},errorCode:{}",m_strIp,m_nPort,hcNetsdk.NET_DVR_GetLastError());
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
m_lUserID = hcNetsdk.NET_DVR_Login_V40(m_strLoginInfo,m_strDeviceInfo);
tryTimes ++;
}
if(m_lUserID >= 0){
log.info("hik login success");
//此id是用来保存视频的 且id不是固定的
int lDChannel = (int)m_strDeviceInfo.struDeviceV30.byStartDChan + lChannel -1;
return new NetSDKLib.LLong(m_lUserID);
}else {
return null;
}
}
private static boolean hasInit = Boolean.FALSE;
public static HCNetSDK hcNetsdk = HCNetSDK.INSTANCE;
static HikExceptionCallBack hikExceptionCallBack = new HikExceptionCallBack();
public boolean init() {
//public static boolean init(NetSDKLib.fDisConnect disConnect, NetSDKLib.fHaveReConnect haveReConnect) {
Pointer pointer = null;
if(!hasInit){
Boolean ok = hcNetsdk.NET_DVR_Init();
if(!ok){
log.error("hik Initialize SDK failed");
return false;
}
hasInit = Boolean.TRUE;
}
Boolean ok = hcNetsdk.NET_DVR_SetExceptionCallBack_V30(0,0,hikExceptionCallBack,pointer);
if(!ok){
log.error("hik callback config error");
}
//设置登录超时时间和尝试次数,可选
int waitTime = 1000; //登录请求响应超时时间设置
int tryTimes = 1000; //登录时尝试建立链接次数
Boolean ok1 = hcNetsdk.NET_DVR_SetConnectTime(waitTime, tryTimes);
Boolean ok2 = hcNetsdk.NET_DVR_SetReconnect(500,Boolean.TRUE);
return true;
}
@Override
public Long login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) {
init();
HCNetSDK.NET_DVR_USER_LOGIN_INFO m_strLoginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();//设备登录信息
HCNetSDK.NET_DVR_DEVICEINFO_V40 m_strDeviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();//设备信息
m_strLoginInfo.sDeviceAddress = new byte[HCNetSDK.NET_DVR_DEV_ADDRESS_MAX_LEN];//设备ip地址
System.arraycopy(m_strIp.getBytes(), 0, m_strLoginInfo.sDeviceAddress, 0, m_strIp.length());
m_strLoginInfo.sUserName = new byte[HCNetSDK.NET_DVR_LOGIN_USERNAME_MAX_LEN];//设备用户名
System.arraycopy(m_strUser.getBytes(), 0, m_strLoginInfo.sUserName, 0, m_strUser.length());
m_strLoginInfo.sPassword = new byte[HCNetSDK.NET_DVR_LOGIN_PASSWD_MAX_LEN];//设备密码
System.arraycopy(m_strPassword.getBytes(), 0, m_strLoginInfo.sPassword, 0, m_strPassword.length());
m_strLoginInfo.wPort = (short) m_nPort;
m_strLoginInfo.bUseAsynLogin = true; //是否异步登录0- 否1- 是
m_strLoginInfo.write();
HCNetSDK.NET_DVR_DEVICEINFO_V30 m_strDeviceInfo30 = new HCNetSDK.NET_DVR_DEVICEINFO_V30();//设备信息
int m_lUserID = hcNetsdk.NET_DVR_Login_V40(m_strLoginInfo,m_strDeviceInfo);
int lChannel = 2;
//byStartDChan为IP通道起始通道号, 预览回放NVR的IP通道时需要根据起始通道号进行取值
int tryTimes = 0;
HCNetSDK.NET_DVR_TIME dvrTime = new HCNetSDK.NET_DVR_TIME();
IntByReference bytesReturned = new IntByReference(0);
m_lUserID = hcNetsdk.NET_DVR_Login_V40(m_strLoginInfo,m_strDeviceInfo);
// 先获取设备当前时间
boolean getResult = HikLoginModuleImpl.hcNetsdk.NET_DVR_GetDVRConfig(m_lUserID, HCNetSDK.NET_DVR_GET_TIMECFG, -1, dvrTime.getPointer(), dvrTime.size(), bytesReturned);
if (getResult) {
dvrTime.read(); // 从内存指针读取数据到结构体
log.info("Get device time success, current time: {}-{}-{} {}:{}:{}",
dvrTime.dwYear, dvrTime.dwMonth, dvrTime.dwDay,
dvrTime.dwHour, dvrTime.dwMinute, dvrTime.dwSecond);
} else {
log.error("Get device time failed, error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(), m_strIp);
}
LocalDateTime time = LocalDateTime.now();
// 设置新时间
dvrTime.setTime(time.getYear(), time.getMonthValue(), time.getDayOfMonth(), time.getHour(), time.getMinute(), time.getSecond());
dvrTime.write(); // 将数据写入内存指针
boolean result = HikLoginModuleImpl.hcNetsdk.NET_DVR_SetDVRConfig(m_lUserID, HCNetSDK.NET_DVR_SET_TIMECFG, -1, dvrTime.getPointer(), dvrTime.size());
if (!result) {
log.error("setTime error:{},cameraId:{}", HikLoginModuleImpl.hcNetsdk.NET_DVR_GetLastError(), m_strIp);
} else {
log.info("Set device time success, new time: {}-{}-{} {}:{}:{}",
time.getYear(), time.getMonthValue(), time.getDayOfMonth(),
time.getHour(), time.getMinute(), time.getSecond());
}
if(m_lUserID >= 0){
log.info("hik login success");
//此id是用来保存视频的 且id不是固定的
return (long) (m_strDeviceInfo.struDeviceV30.byStartDChan + lChannel -1);
}else {
return null;
}
}
}

@ -1,86 +0,0 @@
package com.zhehekeji.web.lib.joyware;
import com.sun.jna.Pointer;
import com.zhehekeji.web.lib.CameraConnMap;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class CallBack {
/**
* 线
*/
public static class DisConnectCallBack implements NetSDKLib.fDisConnect {
@Override
public void invoke(NetSDKLib.LLong lLoginID, String pchDVRIP, int nDVRPort, Pointer dwUser) {
Integer cameraId = CameraConnMap.getCameraIdByLoginId(lLoginID);
log.error("cameraId{}disConnect",cameraId);
}
}
/**
* mp4
*/
public static class Mp4ReceiveCB implements NetSDKLib.fTimeDownLoadPosCallBack {
@Override
public void invoke(NetSDKLib.LLong lPlayHandle, int dwTotalSize, int dwDownLoadSize, int index, NetSDKLib.NET_RECORDFILE_INFO.ByValue recordfileinfo, Pointer dwUser) {
if(dwDownLoadSize == -1) {
log.info("stop donwload mp4");
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
JoywareLoginModuleImpl.netsdk.CLIENT_StopDownload(lPlayHandle);
}
});
thread.start();
}
}
}
public static class HaveReConnect implements NetSDKLib.fHaveReConnect {
@Override
public void invoke(NetSDKLib.LLong m_hLoginHandle, String pchDVRIP, int nDVRPort, Pointer dwUser) {
log.info("球机:{}重连,loginId:{}",pchDVRIP,m_hLoginHandle.longValue());
System.out.printf("ReConnect Device[%s] Port[%d]\n", pchDVRIP, nDVRPort);
}
}
public static class CBPTZStatusProcCallBack implements NetSDKLib.fPTZStatusProcCallBack{
private CBPTZStatusProcCallBack() {
}
private static class CallBackHolder {
private static CBPTZStatusProcCallBack instance = new CBPTZStatusProcCallBack();
}
public static CBPTZStatusProcCallBack getInstance() {
return CallBackHolder.instance;
}
@Override
public void invoke(NetSDKLib.LLong lLoginId, NetSDKLib.LLong lAttachHandle, Pointer pBuf, int dwBufLen, long dwUser) {
NetSDKLib.NET_PTZ_LOCATION_INFO PTZInfo = new NetSDKLib.NET_PTZ_LOCATION_INFO();
ToolKits.GetPointerData(pBuf, PTZInfo);
// if(PTZInfo.bState == 2){
// Integer cameraId = CameraConnMap.getCameraIdByLoginId(lLoginId);
// if(cameraId != null){
// OrderInfo orderInfo = CameraCaptureMap.getOrderInfoByStreetId(cameraId);
// log.info("cameraId:{}",cameraId);
// if(orderInfo != null && !"C6".equals(orderInfo.getCode())){
// log.info("cameraId:{} 到位 拍照,code:{},orderNUm:{}",cameraId,orderInfo.getCode(),orderInfo.getOrderNum());
// //PtzControlModule.pic(cameraId,0,orderInfo);
// }
// CameraCaptureMap.remove(cameraId);
// }
//
// }
}
}
}

@ -1,43 +0,0 @@
package com.zhehekeji.web.lib.joyware;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
/**
* the relation of the picture path and the int value
*/
public class CaptureCmdSerial {
public static ConcurrentHashMap<Integer, String> captureMap = new ConcurrentHashMap<>(Short.MAX_VALUE * 4);
private static AtomicInteger serialIntId = new AtomicInteger(0);
private static Integer nextSerial() {
return serialIntId.addAndGet(1);
}
/**
* bind one int value to the picture path
* @param picPath
* @return
*/
public static Integer put(String picPath) {
Integer id = nextSerial();
captureMap.put(id, picPath);
return id;
}
/**
* get the picture path by a int value
* then delete the relation
* @param serialId
* @return
*/
public static String getPath(Integer serialId) {
String path = captureMap.get(serialId);
captureMap.remove(serialId);
return path;
}
}

@ -1,74 +0,0 @@
package com.zhehekeji.web.lib.joyware;
import com.sun.jna.Pointer;
import com.zhehekeji.common.util.PathUtil;
import lombok.extern.slf4j.Slf4j;
import java.io.*;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/**
* @Description
* @Author wangyiming1031@aliyun.com
* @Date 2020/12/14 16:11
**/
@Slf4j
public class CaptureReceiveCB implements NetSDKLib.fSnapRev {
private static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1, 3, 200,
TimeUnit.MINUTES, new ArrayBlockingQueue<>(1000));
@Override
public void invoke(NetSDKLib.LLong lLoginID, Pointer pBuf, int RevLen, int EncodeType, int CmdSerial, Pointer dwUser) {
String path = CaptureCmdSerial.getPath(CmdSerial);
CaptureRunnable captureRunnable = new CaptureRunnable(pBuf,RevLen,path);
threadPoolExecutor.execute(captureRunnable);
}
class CaptureRunnable implements Runnable {
private Pointer pBuf;
private int revLen;
private String path;
public CaptureRunnable(Pointer pBuf, int revLen, String path){
this.pBuf = pBuf;
this.revLen = revLen;
this.path = path;
}
@Override
public void run() {
savePic(pBuf,revLen,path);
}
}
private void savePic(Pointer pBuf, int RevLen, String path) {
System.out.println("download pic:"+path);
File file = PathUtil.getFile(path);
RandomAccessFile randomAccessFile = null;
try {
randomAccessFile = new RandomAccessFile(file, "rw");
randomAccessFile.write(pBuf.getByteArray(0, RevLen));
randomAccessFile.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
if (randomAccessFile != null) {
try {
randomAccessFile.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
}

@ -1,407 +0,0 @@
package com.zhehekeji.web.lib.joyware;
import com.sun.jna.ptr.IntByReference;
import com.zhehekeji.common.util.PathUtil;
import com.zhehekeji.core.util.Assert;
import com.zhehekeji.web.lib.CameraConnMap;
import com.zhehekeji.web.lib.CameraControlModule;
import lombok.extern.slf4j.Slf4j;
import java.time.LocalDateTime;
import static com.zhehekeji.web.lib.joyware.JoywareLoginModuleImpl.mp4ReceiveCB;
/**
*
*
*/
@Slf4j
public class JoywareCameraControlModuleImpl implements CameraControlModule {
//中威球机断线会自动直接重连!!,没有等待的心跳时间所以这里直接返回true
@Override
public boolean connectStatus(Integer cameraId) {
return true;
}
/**
*
*/
public boolean ptzControlUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
log.info("up start");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_UP_CONTROL,
lParam1, lParam2, 0, 0);
}
public boolean ptzControlUpEnd(Integer cameraId, int nChannelID) {
log.info("up end");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_UP_CONTROL,
0, 0, 0, 1);
}
/**
*
*/
public boolean ptzControlDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
log.info("down start");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_DOWN_CONTROL,
lParam1, lParam2, 0, 0);
}
public boolean setTime(Integer cameraId,LocalDateTime time) {
return true;
}
public boolean ptzControlDownEnd(Integer cameraId, int nChannelID) {
log.info("down end");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_DOWN_CONTROL,
0, 0, 0, 1);
}
/**
*
*/
public boolean ptzControlLeftStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
log.info("left start");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_LEFT_CONTROL,
lParam1, lParam2, 0, 0);
}
public boolean ptzControlLeftEnd(Integer cameraId, int nChannelID) {
log.info("left end");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_LEFT_CONTROL,
0, 0, 0, 1);
}
/**
*
*/
public boolean ptzControlRightStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
log.info("right start");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_RIGHT_CONTROL,
lParam1, lParam2, 0, 0);
}
public boolean ptzControlRightEnd(Integer cameraId, int nChannelID) {
log.info("right end");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_RIGHT_CONTROL,
0, 0, 0, 1);
}
/**
*
*/
public boolean ptzControlLeftUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
log.info("up left start");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_LEFTTOP,
lParam1, lParam2, 0, 0);
}
public boolean ptzControlLeftUpEnd(Integer cameraId, int nChannelID) {
log.info("up left end");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_LEFTTOP,
0, 0, 0, 1);
}
/**
*
*/
public boolean ptzControlRightUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
log.info("up right start");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_RIGHTTOP,
lParam1, lParam2, 0, 0);
}
public boolean ptzControlRightUpEnd(Integer cameraId, int nChannelID) {
log.info("up right end");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_RIGHTTOP,
0, 0, 0, 1);
}
/**
*
*/
public boolean ptzControlLeftDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
log.info(" left down start");
Boolean ok = JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_LEFTDOWN,
lParam1, lParam2, 0, 0);
if(!ok){
log.error("ptzControlLeftDownStart error :{},cameraId:{}", ToolKits.getErrorCodePrint(),cameraId);
}
return ok;
}
public boolean ptzControlLeftDownEnd(Integer cameraId, int nChannelID) {
log.info(" left down end");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_LEFTDOWN,
0, 0, 0, 1);
}
/**
*
*/
public boolean ptzControlRightDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) {
log.info(" right down start");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_RIGHTDOWN,
lParam1, lParam2, 0, 0);
}
public boolean ptzControlRightDownEnd(Integer cameraId, int nChannelID) {
log.info(" right down end");
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_RIGHTDOWN,
0, 0, 0, 1);
}
/**
* +
*/
public boolean ptzControlZoomAddStart(Integer cameraId, int nChannelID, int lParam2) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_ZOOM_ADD_CONTROL,
0, lParam2, 0, 0);
}
public boolean ptzControlZoomAddEnd(Integer cameraId, int nChannelID) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_ZOOM_ADD_CONTROL,
0, 0, 0, 1);
}
/**
* -
*/
public boolean ptzControlZoomDecStart(Integer cameraId, int nChannelID, int lParam2) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_ZOOM_DEC_CONTROL,
0, lParam2, 0, 0);
}
public boolean ptzControlZoomDecEnd(Integer cameraId, int nChannelID) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_ZOOM_DEC_CONTROL,
0, 0, 0, 1);
}
/**
* +
*/
public boolean ptzControlFocusAddStart(Integer cameraId, int nChannelID, int lParam2) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_FOCUS_ADD_CONTROL,
0, lParam2, 0, 0);
}
public boolean ptzControlFocusAddEnd(Integer cameraId, int nChannelID) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_FOCUS_ADD_CONTROL,
0, 0, 0, 1);
}
/**
* -
*/
public boolean ptzControlFocusDecStart(Integer cameraId, int nChannelID, int lParam2) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_FOCUS_DEC_CONTROL,
0, lParam2, 0, 0);
}
public boolean ptzControlFocusDecEnd(Integer cameraId, int nChannelID) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_FOCUS_DEC_CONTROL,
0, 0, 0, 1);
}
/**
* +
*/
public boolean ptzControlIrisAddStart(Integer cameraId, int nChannelID, int lParam2) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_APERTURE_ADD_CONTROL,
0, lParam2, 0, 0);
}
public boolean ptzControlIrisAddEnd(Integer cameraId, int nChannelID) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_APERTURE_ADD_CONTROL,
0, 0, 0, 1);
}
/**
* -
*/
public boolean ptzControlIrisDecStart(Integer cameraId, int nChannelID, int lParam2) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_APERTURE_DEC_CONTROL,
0, lParam2, 0, 0);
}
public boolean ptzControlIrisDecEnd(Integer cameraId, int nChannelID) {
return JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnId(cameraId), nChannelID,
NetSDKLib.NET_PTZ_ControlType.NET_PTZ_APERTURE_DEC_CONTROL,
0, 0, 0, 1);
}
public boolean pic(Integer cameraId,int channel, String realPath) {
NetSDKLib.SNAP_PARAMS stuSnapParams = new NetSDKLib.SNAP_PARAMS();
stuSnapParams.Channel = 0; // channel
stuSnapParams.mode = 0; // capture picture mode
stuSnapParams.Quality = 3; // picture quality
stuSnapParams.InterSnap = 0; // timer capture picture time interval
stuSnapParams.CmdSerial = CaptureCmdSerial.put(realPath);
IntByReference reserved = new IntByReference(0);
Boolean ok = JoywareLoginModuleImpl.netsdk.CLIENT_SnapPictureEx(CameraConnMap.getConnId(cameraId), stuSnapParams, reserved);
if (!ok) {
log.error("pic error :{},cameraId:{}", ToolKits.getErrorCodePrint(),cameraId);
}
return ok;
}
public void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end) {
PathUtil.checkDirc(path);
NetSDKLib.NET_TIME startTime = new NetSDKLib.NET_TIME();
startTime.setTime(start.getYear(), start.getMonthValue(), start.getDayOfMonth(), start.getHour(), start.getMinute(), start.getSecond());
NetSDKLib.NET_TIME endTime = new NetSDKLib.NET_TIME();
endTime.setTime(end.getYear(), end.getMonthValue(), end.getDayOfMonth(), end.getHour(), end.getMinute(), end.getSecond());
NetSDKLib.NET_IN_DOWNLOAD_BY_DATA_TYPE download_by_data_type = new NetSDKLib.NET_IN_DOWNLOAD_BY_DATA_TYPE();
download_by_data_type.nChannelID = 0;
download_by_data_type.stStartTime = startTime;
download_by_data_type.stStopTime = endTime;
download_by_data_type.szSavedFileName = path;
download_by_data_type.emDataType = 3;
download_by_data_type.emRecordType = 0;
download_by_data_type.cbDownLoadPos = mp4ReceiveCB;
download_by_data_type.write();
NetSDKLib.NET_OUT_DOWNLOAD_BY_DATA_TYPE net_out_download_by_data_type = new NetSDKLib.NET_OUT_DOWNLOAD_BY_DATA_TYPE();
net_out_download_by_data_type.write();
NetSDKLib.LLong l = JoywareLoginModuleImpl.netsdk.CLIENT_DownloadByDataType(CameraConnMap.getConnId(cameraId), download_by_data_type.getPointer(), net_out_download_by_data_type.getPointer(), 8000);
if(l.longValue() != 0){
log.info("start download mp4 path:{},startTime:{} ,endTime:{},now:{},status:{},cameraId:{}", path, start, end, LocalDateTime.now(),l.longValue(),cameraId);
}else {
log.error("download mp4 error:{},startTime:{} ,endTime:{},cameraId:{}",ToolKits.getErrorCodePrint(),start,end,cameraId);
}
}
/**
*
*
* @param ptzId ID
* @param name
* @param cameraId ID,
*/
public void ptz(Integer ptzId, String name, Integer cameraId) {
int dwzCommand = NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_SET_CONTROL;
Boolean ok = JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx2(CameraConnMap.getConnId(cameraId), 0, dwzCommand, 0, ptzId, 0, 0, ToolKits.GetGBKStringToPointer(name));
if (!ok) {
log.error("ptz error :{},cameraId:{}", ToolKits.getErrorCodePrint(),cameraId);
}
Assert.isTrue(ok, "设置失败");
}
/**
*
*
* @param ptzId
* @param cameraId
*/
public void toPtz(Integer ptzId, Integer cameraId) {
log.info("to ptz,ptzId:{},cameraId:{}",ptzId,cameraId);
int dwPTZCommand = NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_MOVE_CONTROL;
Boolean ok = JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx2(CameraConnMap.getConnId(cameraId), 0, dwPTZCommand, 0, ptzId, 0, 0, null);
if (!ok) {
log.error("toPtz error, cameraId:{},ptzId:{},errorCode:{}", cameraId, ptzId,ToolKits.getErrorCodePrint());
}
}
/**
*
*
* @param cameraId
*/
public void toPtzSlow(Integer cameraId,Integer x) {
int dwPTZCommand = NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_MOVE_ABSOLUTELY;
NetSDKLib.PTZ_CONTROL_ABSOLUTELY absolutely = new NetSDKLib.PTZ_CONTROL_ABSOLUTELY();
absolutely.stuPosition.nPositionX = x;
absolutely.stuPosition.nPositionY = 0;
absolutely.stuSpeed.fPositionX = 0.2f;
absolutely.stuSpeed.fPositionY = 0.2f;
absolutely.write();
//absolutely.stuSpeed.fZoom = 0.5f;
Boolean ok = JoywareLoginModuleImpl.netsdk.CLIENT_DHPTZControlEx2(CameraConnMap.getConnId(cameraId), 0, dwPTZCommand,
0, 0, 0, 0, absolutely.getPointer());
if (!ok) {
log.error("toPtzSlow cameraId:{},error:{}", cameraId,ToolKits.getErrorCodePrint());
}
}
/**
* 360
* @param cameraId
*/
public void turn360C8(Integer cameraId,Integer ptzId){
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
int nType = NetSDKLib.NET_DEVSTATE_PTZ_LOCATION;
NetSDKLib.NET_PTZ_LOCATION_INFO ptzLocationInfo = new NetSDKLib.NET_PTZ_LOCATION_INFO();
IntByReference intRetLen = new IntByReference();
ptzLocationInfo.write();
System.out.println("size:"+ptzLocationInfo.size());
boolean bRet = JoywareLoginModuleImpl.netsdk.CLIENT_QueryDevState(CameraConnMap.getConnId(cameraId), nType, ptzLocationInfo.getPointer(), ptzLocationInfo.size(), intRetLen, 3000);
ptzLocationInfo.read();
if (bRet) {
log.debug("xParam:{}",ptzLocationInfo.nPTZPan);
int qq = (ptzLocationInfo.nPTZPan + 1799) % 3600;
log.debug("xParam turn to:{}",qq);
toPtzSlow(cameraId,qq);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
qq = (qq + 1799) % 3600;
log.debug("xParam turn to:{}",qq);
toPtzSlow(cameraId,qq);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if(ptzId != null){
log.info(" turn C8");
toPtz(ptzId,cameraId);
}
} else {
log.error("turn360C8 cameraId:{},error:{}",cameraId,ToolKits.getErrorCodePrint());
}
}
});
thread.start();
}
}

@ -1,149 +0,0 @@
package com.zhehekeji.web.lib.joyware;
import com.sun.jna.CallbackThreadInitializer;
import com.sun.jna.Memory;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
import com.zhehekeji.web.lib.CameraConnMap;
import com.zhehekeji.web.lib.CameraControlLoginModule;
import com.zhehekeji.web.lib.joyware.NetSDKLib.LLong;
import com.zhehekeji.web.lib.joyware.NetSDKLib.NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY;
import com.zhehekeji.web.lib.joyware.NetSDKLib.NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY;
import lombok.extern.slf4j.Slf4j;
/**
*
*
*/
@Slf4j
public class JoywareLoginModuleImpl implements CameraControlLoginModule {
public static NetSDKLib netsdk = NetSDKLib.NETSDK_INSTANCE;
public static NetSDKLib configsdk = NetSDKLib.CONFIG_INSTANCE;
private static int MAX_RECONNET_TIME = 100000;
// 设备信息
public static NetSDKLib.NET_DEVICEINFO_Ex m_stDeviceInfo = new NetSDKLib.NET_DEVICEINFO_Ex();
private static CallBack.DisConnectCallBack disConnectCallBack = new CallBack.DisConnectCallBack();
private static CallBack.HaveReConnect haveReConnect = new CallBack.HaveReConnect();
private static boolean bInit = false;
private static boolean bLogopen = false;
private static CaptureReceiveCB captureReceiveCB = new CaptureReceiveCB();
public static CallBack.Mp4ReceiveCB mp4ReceiveCB= new CallBack.Mp4ReceiveCB();
public static Boolean connectStatus(LLong userId){
IntByReference retLen = new IntByReference(0);
Pointer p = new Memory(Integer.SIZE);
p.clear(Integer.SIZE);
if (!netsdk.CLIENT_QueryDevState(userId,
NetSDKLib.NET_DEVSTATE_ONLINE,
p,
Integer.SIZE,
retLen,
500)) {
log.error("joyware connectStatus error,errorCode:{}",netsdk.CLIENT_GetLastError());
return false;
}
int []a = new int[1];
p.read(0, a, 0, 1);
return a[0] == 1;
}
/**
* \if ENGLISH_LANG
* Init
* \else
*
* \endif
*/
public boolean init(NetSDKLib.fDisConnect disConnect, NetSDKLib.fHaveReConnect haveReConnect) {
bInit = netsdk.CLIENT_Init(disConnect, null);
if(!bInit) {
System.out.println("Initialize SDK failed");
return false;
}
// 设置断线重连回调接口设置过断线重连成功回调函数后当设备出现断线情况SDK内部会自动进行重连操作
// 此操作为可选操作,但建议用户进行设置
netsdk.CLIENT_SetAutoReconnect(haveReConnect, null);
//设置登录超时时间和尝试次数,可选
int waitTime = 5000; //登录请求响应超时时间设置为5S
int tryTimes = 3; //登录时尝试建立链接1次
netsdk.CLIENT_SetConnectTime(waitTime, tryTimes);
// 设置更多网络参数NET_PARAM的nWaittimenConnectTryNum成员与CLIENT_SetConnectTime
// 接口设置的登录设备超时时间和尝试次数意义相同,可选
NetSDKLib.NET_PARAM netParam = new NetSDKLib.NET_PARAM();
netParam.nConnectTime = 10000; // 登录时尝试建立链接的超时时间
netParam.nGetConnInfoTime = 3000; // 设置子连接的超时时间
netsdk.CLIENT_SetNetworkParam(netParam);
//todo
netsdk.CLIENT_SetSnapRevCallBack(captureReceiveCB,null);
Native.setCallbackThreadInitializer(mp4ReceiveCB,
new CallbackThreadInitializer(false, false, "downloadbytime callback thread"));
return true;
}
/**
* \if ENGLISH_LANG
* CleanUp
* \else
*
* \endif
*/
public static void cleanup() {
if(bLogopen) {
netsdk.CLIENT_LogClose();
}
if(bInit) {
netsdk.CLIENT_Cleanup();
}
}
/**
* \if ENGLISH_LANG
* Login Device
* \else
*
* \endif
*/
public LLong login(String m_strIp, int m_nPort, String m_strUser, String m_strPassword) {
//IntByReference nError = new IntByReference(0);
//入参
init(disConnectCallBack,haveReConnect);
NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY pstInParam=new NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY();
pstInParam.nPort=m_nPort;
pstInParam.szIP=m_strIp.getBytes();
pstInParam.szPassword=m_strPassword.getBytes();
pstInParam.szUserName=m_strUser.getBytes();
//出参
NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY pstOutParam=new NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY();
pstOutParam.stuDeviceInfo=m_stDeviceInfo;
//m_hLoginHandle = netsdk.CLIENT_LoginEx2(m_strIp, m_nPort, m_strUser, m_strPassword, 0, null, m_stDeviceInfo, nError);
LLong m_hLoginHandle=netsdk.CLIENT_LoginWithHighLevelSecurity(pstInParam, pstOutParam);
int tryTimes = 0;
while (m_hLoginHandle.longValue()==0 && tryTimes <= MAX_RECONNET_TIME){
log.error("joyware login error,ip:{},port:{},errorCode:{}",m_strIp,m_nPort,netsdk.CLIENT_GetLastError());
m_hLoginHandle=netsdk.CLIENT_LoginWithHighLevelSecurity(pstInParam, pstOutParam);
tryTimes ++;
}
if(m_hLoginHandle.longValue()==0){
return null;
}
log.info("joyware login success,loginId:{}",m_hLoginHandle.longValue());
return m_hLoginHandle;
}
}

@ -1,33 +0,0 @@
package com.zhehekeji.web.lib.joyware;
/**
* @author 251823
* @description
* @date 2021/02/26
*/
public class NET_IN_PTZ_STATUS_PROC extends NetSDKLib.SdkStructure{
/**
* dwSize;
*/
public int dwSize;
/**
*
*/
public int nChannel;
/**
*
*/
public NetSDKLib.fPTZStatusProcCallBack cbPTZStatusProc;
/**
*
*/
public long dwUser;
public NET_IN_PTZ_STATUS_PROC(){
this.dwSize = this.size();
}
}

@ -1,15 +0,0 @@
package com.zhehekeji.web.lib.joyware;
/**
* @author 251823
* @description
* @date 2021/02/26
*/
public class NET_OUT_PTZ_STATUS_PROC extends NetSDKLib.SdkStructure{
/**
* dwSize;
*/
public int dwSize;
public NET_OUT_PTZ_STATUS_PROC(){
this.dwSize = this.size();
}
}

@ -1,19 +0,0 @@
package com.zhehekeji.web.lib.joyware;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class StopDownLoadThread extends Thread {
private NetSDKLib.LLong lPlayHandle;
public StopDownLoadThread(NetSDKLib.LLong lPlayHandle){
this.lPlayHandle = lPlayHandle;
}
@Override
public void run() {
log.info("stop download:{}",lPlayHandle.longValue());
JoywareLoginModuleImpl.netsdk.CLIENT_StopDownload(lPlayHandle);
}
}

@ -1,198 +0,0 @@
package com.zhehekeji.web.lib.joyware;
import com.zhehekeji.web.lib.joyware.NetSDKLib.LLong;
import com.sun.jna.Memory;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import com.sun.jna.ptr.IntByReference;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.io.*;
import java.text.SimpleDateFormat;
public class ToolKits {
static NetSDKLib netsdkapi = NetSDKLib.NETSDK_INSTANCE;
static NetSDKLib configapi = NetSDKLib.CONFIG_INSTANCE;
/***************************************************************************************************
* *
***************************************************************************************************/
public static void GetPointerData(Pointer pNativeData, Structure pJavaStu)
{
GetPointerDataToStruct(pNativeData, 0, pJavaStu);
}
public static void GetPointerDataToStruct(Pointer pNativeData, long OffsetOfpNativeData, Structure pJavaStu) {
pJavaStu.write();
Pointer pJavaMem = pJavaStu.getPointer();
pJavaMem.write(0, pNativeData.getByteArray(OffsetOfpNativeData, pJavaStu.size()), 0,
pJavaStu.size());
pJavaStu.read();
}
public static void savePicture(byte[] pBuf, String sDstFile) throws IOException
{
FileOutputStream fos=null;
try
{
fos = new FileOutputStream(sDstFile);
fos.write(pBuf);
} catch (Exception e){
e.printStackTrace();
}finally{
fos.close();
}
}
public static void savePicture(byte[] pBuf, int dwBufOffset, int dwBufSize, String sDstFile) throws IOException
{
FileOutputStream fos=null;
try
{
fos = new FileOutputStream(sDstFile);
fos.write(pBuf, dwBufOffset, dwBufSize);
} catch (Exception e){
e.printStackTrace();
}finally{
fos.close();
}
}
public static void savePicture(Pointer pBuf, int dwBufSize, String sDstFile) throws IOException
{
FileOutputStream fos=null;
try
{
fos = new FileOutputStream(sDstFile);
fos.write(pBuf.getByteArray(0, dwBufSize), 0, dwBufSize);
} catch (Exception e){
e.printStackTrace();
}finally{
fos.close();
}
}
public static void savePicture(Pointer pBuf, int dwBufOffset, int dwBufSize, String sDstFile) throws IOException
{
FileOutputStream fos=null;
try
{
fos = new FileOutputStream(sDstFile);
fos.write(pBuf.getByteArray(dwBufOffset, dwBufSize), 0, dwBufSize);
} catch (Exception e){
e.printStackTrace();
}finally{
fos.close();
}
}
// 获取当前时间
public static String getDate() {
SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = simpleDate.format(new java.util.Date()).replace(" ", "_").replace(":", "-");
return date;
}
// 获取当前时间
public static String getDay() {
SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy-MM-dd");
String date = simpleDate.format(new java.util.Date());
return date;
}
// 获取当前窗口
public static JFrame getFrame(ActionEvent e) {
JButton btn = (JButton)e.getSource();
JFrame frame = (JFrame)btn.getRootPane().getParent();
return frame;
}
// 获取操作平台信息
public static String getLoadLibrary(String library) {
String path = "";
String os = System.getProperty("os.name");
if(os.toLowerCase().startsWith("win")) {
path = "./libs/";
} else if(os.toLowerCase().startsWith("linux")) {
path = "";
}
return (path + library);
}
public static String getOsName() {
String osName = "";
String os = System.getProperty("os.name");
if(os.toLowerCase().startsWith("win")) {
osName = "win";
} else if(os.toLowerCase().startsWith("linux")) {
osName = "linux";
}
return osName;
}
/**
*
* @return
*/
public static String getErrorCodePrint() {
return "\n{error code: (0x80000000|" + (JoywareLoginModuleImpl.netsdk.CLIENT_GetLastError() & 0x7fffffff) +").参考 ErrorCode.java";
}
/**
*
* @param hLoginHandle
* @param nChn -1
* @param strCmd
* @param cmdObject
* @return true
*/
public static boolean SetDevConfig(LLong hLoginHandle, int nChn, String strCmd, Structure cmdObject) {
boolean result = false;
int nBufferLen = 2*1024*1024;
byte szBuffer[] = new byte[nBufferLen];
for(int i=0; i<nBufferLen; i++)szBuffer[i]=0;
IntByReference error = new IntByReference(0);
IntByReference restart = new IntByReference(0);
cmdObject.write();
if (configapi.CLIENT_PacketData(strCmd, cmdObject.getPointer(), cmdObject.size(),
szBuffer, nBufferLen)) {
cmdObject.read();
if( netsdkapi.CLIENT_SetNewDevConfig(hLoginHandle, strCmd , nChn , szBuffer, nBufferLen, error, restart, 3000)) {
result = true;
} else {
System.err.printf("Set %s Config Failed! Last Error = %s\n" , strCmd , getErrorCodePrint());
result = false;
}
} else {
System.err.println("Packet " + strCmd + " Config Failed!" + getErrorCodePrint());
result = false;
}
return result;
}
// Win下将GBK String类型的转为Pointer
public static Pointer GetGBKStringToPointer(String src) {
Pointer pointer = null;
try {
byte[] b = src.getBytes("GBK");
pointer = new Memory(b.length+1);
pointer.clear(b.length+1);
pointer.write(0, b, 0, b.length);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return pointer;
}
}

@ -1,99 +0,0 @@
package com.zhehekeji.web.lib.joyware;
import com.sun.jna.Platform;
public class Utils {
public Utils() {
}
// 获取操作平台信息
public static String getOsPrefix() {
String arch = System.getProperty("os.arch").toLowerCase();
final String name = System.getProperty("os.name");
String osPrefix;
switch(Platform.getOSType()) {
case Platform.WINDOWS: {
if ("i386".equals(arch))
arch = "x86";
osPrefix = "win32-" + arch;
}
break;
case Platform.LINUX: {
if ("x86".equals(arch)) {
arch = "i386";
}
else if ("x86_64".equals(arch)) {
arch = "amd64";
}
osPrefix = "linux-" + arch;
}
break;
default: {
osPrefix = name.toLowerCase();
if ("x86".equals(arch)) {
arch = "i386";
}
if ("x86_64".equals(arch)) {
arch = "amd64";
}
int space = osPrefix.indexOf(" ");
if (space != -1) {
osPrefix = osPrefix.substring(0, space);
}
osPrefix += "-" + arch;
}
break;
}
return osPrefix;
}
public static String getOsName() {
String osName = "";
String osPrefix = getOsPrefix();
if(osPrefix.toLowerCase().startsWith("win32-x86")
||osPrefix.toLowerCase().startsWith("win32-amd64") ) {
osName = "win";
} else if(osPrefix.toLowerCase().startsWith("linux-i386")
|| osPrefix.toLowerCase().startsWith("linux-amd64")) {
osName = "linux";
}
return osName;
}
// 获取加载库
public static String getLoadLibrary(String library) {
if (isChecking()) {
return null;
}
String loadLibrary = "";
String osPrefix = getOsPrefix();
if(osPrefix.toLowerCase().startsWith("win32-x86")) {
loadLibrary = "./libs/win32/";
} else if(osPrefix.toLowerCase().startsWith("win32-amd64") ) {
loadLibrary = "./libs/win64/";
} else if(osPrefix.toLowerCase().startsWith("linux-i386")) {
loadLibrary = "";
}else if(osPrefix.toLowerCase().startsWith("linux-amd64")) {
loadLibrary = "";
}
System.out.printf("[Load %s Path : %s]\n", library, loadLibrary + library);
return loadLibrary + library;
}
private static boolean checking = false;
public static void setChecking() {
checking = true;
}
public static void clearChecking() {
checking = false;
}
public static boolean isChecking() {
return checking;
}
}

@ -1,553 +0,0 @@
/*
* Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
// Base64解码 使用1.8版本源码 鉴于1.8部分特性1.6版本使用不到 故只保留能使用到的代码 其余删除
package com.zhehekeji.web.lib.joyware.common;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.util.Arrays;
/**
* This class consists exclusively of static methods for obtaining
* encoders and decoders for the Base64 encoding scheme. The
* implementation of this class supports the following types of Base64
* as specified in
* <a href="http://www.ietf.org/rfc/rfc4648.txt">RFC 4648</a> and
*
* <ul>
* <li><a name="basic"><b>Basic</b></a>
* <p> Uses "The Base64 Alphabet" as specified in Table 1 of
* RFC 4648 and RFC 2045 for encoding and decoding operation.
* The encoder does not add any line feed (line separator)
* character. The decoder rejects data that contains characters
* outside the base64 alphabet.</p></li>
*
* <p> Unless otherwise noted, passing a {@code null} argument to a
* method of this class will cause a {@link NullPointerException
* NullPointerException} to be thrown.
*
* @author Xueming Shen
* @since 1.8
*/
public class Base64 {
private Base64() {}
/**
* Returns a {@link Encoder} that encodes using the
* <a href="#basic">Basic</a> type base64 encoding scheme.
*
* @return A Base64 encoder.
*/
public static Encoder getEncoder() {
return Encoder.RFC4648;
}
/**
* This class implements an encoder for encoding byte data using
* the Base64 encoding scheme as specified in RFC 4648 and RFC 2045.
*
* <p> Instances of {@link Encoder} class are safe for use by
* multiple concurrent threads.
*
* <p> Unless otherwise noted, passing a {@code null} argument to
* a method of this class will cause a
* {@link NullPointerException NullPointerException} to
* be thrown.
*
* @see Decoder
* @since 1.8
*/
public static class Encoder {
private final byte[] newline;
private final int linemax;
private final boolean isURL;
private final boolean doPadding;
private Encoder(boolean isURL, byte[] newline, int linemax, boolean doPadding) {
this.isURL = isURL;
this.newline = newline;
this.linemax = linemax;
this.doPadding = doPadding;
}
/**
* This array is a lookup table that translates 6-bit positive integer
* index values into their "Base64 Alphabet" equivalents as specified
* in "Table 1: The Base64 Alphabet" of RFC 2045 (and RFC 4648).
*/
private static final char[] toBase64 = {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'
};
/**
* It's the lookup table for "URL and Filename safe Base64" as specified
* in Table 2 of the RFC 4648, with the '+' and '/' changed to '-' and
* '_'. This table is used when BASE64_URL is specified.
*/
private static final char[] toBase64URL = {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-', '_'
};
static final Encoder RFC4648 = new Encoder(false, null, -1, true);
private final int outLength(int srclen) {
int len = 0;
if (doPadding) {
len = 4 * ((srclen + 2) / 3);
} else {
int n = srclen % 3;
len = 4 * (srclen / 3) + (n == 0 ? 0 : n + 1);
}
if (linemax > 0) // line separators
len += (len - 1) / linemax * newline.length;
return len;
}
/**
* Encodes all bytes from the specified byte array into a newly-allocated
* byte array using the {@link Base64} encoding scheme. The returned byte
* array is of the length of the resulting bytes.
*
* @param src
* the byte array to encode
* @return A newly-allocated byte array containing the resulting
* encoded bytes.
*/
public byte[] encode(byte[] src) {
int len = outLength(src.length); // dst array size
byte[] dst = new byte[len];
int ret = encode0(src, 0, src.length, dst);
if (ret != dst.length)
return Arrays.copyOf(dst, ret);
return dst;
}
/**
* Encodes all bytes from the specified byte array using the
* {@link Base64} encoding scheme, writing the resulting bytes to the
* given output byte array, starting at offset 0.
*
* <p> It is the responsibility of the invoker of this method to make
* sure the output byte array {@code dst} has enough space for encoding
* all bytes from the input byte array. No bytes will be written to the
* output byte array if the output byte array is not big enough.
*
* @param src
* the byte array to encode
* @param dst
* the output byte array
* @return The number of bytes written to the output byte array
*
* @throws IllegalArgumentException if {@code dst} does not have enough
* space for encoding all input bytes.
*/
public int encode(byte[] src, byte[] dst) {
int len = outLength(src.length); // dst array size
if (dst.length < len)
throw new IllegalArgumentException(
"Output byte array is too small for encoding all input bytes");
return encode0(src, 0, src.length, dst);
}
/**
* Encodes the specified byte array into a String using the {@link Base64}
* encoding scheme.
*
* <p> In other words, an invocation of this method has exactly the same
* effect as invoking
* {@code new String(encode(src), StandardCharsets.ISO_8859_1)}.
*
* @param src
* the byte array to encode
* @return A String containing the resulting Base64 encoded characters
*/
@SuppressWarnings("deprecation")
public String encodeToString(byte[] src) {
byte[] encoded = encode(src);
return new String(encoded, 0, 0, encoded.length);
}
/**
* Returns an encoder instance that encodes equivalently to this one,
* but without adding any padding character at the end of the encoded
* byte data.
*
* <p> The encoding scheme of this encoder instance is unaffected by
* this invocation. The returned encoder instance should be used for
* non-padding encoding operation.
*
* @return an equivalent encoder that encodes without adding any
* padding character at the end
*/
public Encoder withoutPadding() {
if (!doPadding)
return this;
return new Encoder(isURL, newline, linemax, false);
}
private int encode0(byte[] src, int off, int end, byte[] dst) {
char[] base64 = isURL ? toBase64URL : toBase64;
int sp = off;
int slen = (end - off) / 3 * 3;
int sl = off + slen;
if (linemax > 0 && slen > linemax / 4 * 3)
slen = linemax / 4 * 3;
int dp = 0;
while (sp < sl) {
int sl0 = Math.min(sp + slen, sl);
for (int sp0 = sp, dp0 = dp ; sp0 < sl0; ) {
int bits = (src[sp0++] & 0xff) << 16 |
(src[sp0++] & 0xff) << 8 |
(src[sp0++] & 0xff);
dst[dp0++] = (byte)base64[(bits >>> 18) & 0x3f];
dst[dp0++] = (byte)base64[(bits >>> 12) & 0x3f];
dst[dp0++] = (byte)base64[(bits >>> 6) & 0x3f];
dst[dp0++] = (byte)base64[bits & 0x3f];
}
int dlen = (sl0 - sp) / 3 * 4;
dp += dlen;
sp = sl0;
if (dlen == linemax && sp < end) {
for (byte b : newline){
dst[dp++] = b;
}
}
}
if (sp < end) { // 1 or 2 leftover bytes
int b0 = src[sp++] & 0xff;
dst[dp++] = (byte)base64[b0 >> 2];
if (sp == end) {
dst[dp++] = (byte)base64[(b0 << 4) & 0x3f];
if (doPadding) {
dst[dp++] = '=';
dst[dp++] = '=';
}
} else {
int b1 = src[sp++] & 0xff;
dst[dp++] = (byte)base64[(b0 << 4) & 0x3f | (b1 >> 4)];
dst[dp++] = (byte)base64[(b1 << 2) & 0x3f];
if (doPadding) {
dst[dp++] = '=';
}
}
}
return dp;
}
}
/**
* Returns a {@link Decoder} that decodes using the
* <a href="#basic">Basic</a> type base64 encoding scheme.
*
* @return A Base64 decoder.
*/
public static Decoder getDecoder() {
return Decoder.RFC4648;
}
/**
* This class implements a decoder for decoding byte data using the
* Base64 encoding scheme as specified in RFC 4648 and RFC 2045.
*
* <p> The Base64 padding character {@code '='} is accepted and
* interpreted as the end of the encoded byte data, but is not
* required. So if the final unit of the encoded byte data only has
* two or three Base64 characters (without the corresponding padding
* character(s) padded), they are decoded as if followed by padding
* character(s). If there is a padding character present in the
* final unit, the correct number of padding character(s) must be
* present, otherwise {@code IllegalArgumentException} (
* {@code IOException} when reading from a Base64 stream) is thrown
* during decoding.
*
* <p> Instances of {@link Decoder} class are safe for use by
* multiple concurrent threads.
*
* <p> Unless otherwise noted, passing a {@code null} argument to
* a method of this class will cause a
* {@link NullPointerException NullPointerException} to
* be thrown.
*
* @see Encoder
* @since 1.8
*/
public static class Decoder {
private final boolean isURL;
private final boolean isMIME;
private Decoder(boolean isURL, boolean isMIME) {
this.isURL = isURL;
this.isMIME = isMIME;
}
/**
* Lookup table for decoding unicode characters drawn from the
* "Base64 Alphabet" (as specified in Table 1 of RFC 2045) into
* their 6-bit positive integer equivalents. Characters that
* are not in the Base64 alphabet but fall within the bounds of
* the array are encoded to -1.
*
*/
private static final int[] fromBase64 = new int[256];
static {
Arrays.fill(fromBase64, -1);
for (int i = 0; i < Encoder.toBase64.length; i++)
fromBase64[Encoder.toBase64[i]] = i;
fromBase64['='] = -2;
}
/**
* Lookup table for decoding "URL and Filename safe Base64 Alphabet"
* as specified in Table2 of the RFC 4648.
*/
private static final int[] fromBase64URL = new int[256];
static {
Arrays.fill(fromBase64URL, -1);
for (int i = 0; i < Encoder.toBase64URL.length; i++)
fromBase64URL[Encoder.toBase64URL[i]] = i;
fromBase64URL['='] = -2;
}
static final Decoder RFC4648 = new Decoder(false, false);
static final Decoder RFC4648_URLSAFE = new Decoder(true, false);
static final Decoder RFC2045 = new Decoder(false, true);
/**
* Decodes all bytes from the input byte array using the {@link Base64}
* encoding scheme, writing the results into a newly-allocated output
* byte array. The returned byte array is of the length of the resulting
* bytes.
*
* @param src
* the byte array to decode
*
* @return A newly-allocated byte array containing the decoded bytes.
*
* @throws IllegalArgumentException
* if {@code src} is not in valid Base64 scheme
*/
public byte[] decode(byte[] src) {
byte[] dst = new byte[outLength(src, 0, src.length)];
int ret = decode0(src, 0, src.length, dst);
if (ret != dst.length) {
dst = Arrays.copyOf(dst, ret);
}
return dst;
}
public byte[] decode(String src) {
return decode(src.getBytes(Charset.forName("ISO-8859-1")));
}
/**
* Decodes all bytes from the input byte array using the {@link Base64}
* encoding scheme, writing the results into the given output byte array,
* starting at offset 0.
*
* <p> It is the responsibility of the invoker of this method to make
* sure the output byte array {@code dst} has enough space for decoding
* all bytes from the input byte array. No bytes will be be written to
* the output byte array if the output byte array is not big enough.
*
* <p> If the input byte array is not in valid Base64 encoding scheme
* then some bytes may have been written to the output byte array before
* IllegalargumentException is thrown.
*
* @param src
* the byte array to decode
* @param dst
* the output byte array
*
* @return The number of bytes written to the output byte array
*
* @throws IllegalArgumentException
* if {@code src} is not in valid Base64 scheme, or {@code dst}
* does not have enough space for decoding all input bytes.
*/
public int decode(byte[] src, byte[] dst) {
int len = outLength(src, 0, src.length);
if (dst.length < len)
throw new IllegalArgumentException(
"Output byte array is too small for decoding all input bytes");
return decode0(src, 0, src.length, dst);
}
/**
* Decodes all bytes from the input byte buffer using the {@link Base64}
* encoding scheme, writing the results into a newly-allocated ByteBuffer.
*
* <p> Upon return, the source buffer's position will be updated to
* its limit; its limit will not have been changed. The returned
* output buffer's position will be zero and its limit will be the
* number of resulting decoded bytes
*
* <p> {@code IllegalArgumentException} is thrown if the input buffer
* is not in valid Base64 encoding scheme. The position of the input
* buffer will not be advanced in this case.
*
* @param buffer
* the ByteBuffer to decode
*
* @return A newly-allocated byte buffer containing the decoded bytes
*
* @throws IllegalArgumentException
* if {@code src} is not in valid Base64 scheme.
*/
public ByteBuffer decode(ByteBuffer buffer) {
int pos0 = buffer.position();
try {
byte[] src;
int sp, sl;
if (buffer.hasArray()) {
src = buffer.array();
sp = buffer.arrayOffset() + buffer.position();
sl = buffer.arrayOffset() + buffer.limit();
buffer.position(buffer.limit());
} else {
src = new byte[buffer.remaining()];
buffer.get(src);
sp = 0;
sl = src.length;
}
byte[] dst = new byte[outLength(src, sp, sl)];
return ByteBuffer.wrap(dst, 0, decode0(src, sp, sl, dst));
} catch (IllegalArgumentException iae) {
buffer.position(pos0);
throw iae;
}
}
private int outLength(byte[] src, int sp, int sl) {
int[] base64 = isURL ? fromBase64URL : fromBase64;
int paddings = 0;
int len = sl - sp;
if (len == 0)
return 0;
if (len < 2) {
if (isMIME && base64[0] == -1)
return 0;
throw new IllegalArgumentException(
"Input byte[] should at least have 2 bytes for base64 bytes");
}
if (isMIME) {
// scan all bytes to fill out all non-alphabet. a performance
// trade-off of pre-scan or Arrays.copyOf
int n = 0;
while (sp < sl) {
int b = src[sp++] & 0xff;
if (b == '=') {
len -= (sl - sp + 1);
break;
}
if ((b = base64[b]) == -1)
n++;
}
len -= n;
} else {
if (src[sl - 1] == '=') {
paddings++;
if (src[sl - 2] == '=')
paddings++;
}
}
if (paddings == 0 && (len & 0x3) != 0)
paddings = 4 - (len & 0x3);
return 3 * ((len + 3) / 4) - paddings;
}
private int decode0(byte[] src, int sp, int sl, byte[] dst) {
int[] base64 = isURL ? fromBase64URL : fromBase64;
int dp = 0;
int bits = 0;
int shiftto = 18; // pos of first byte of 4-byte atom
while (sp < sl) {
int b = src[sp++] & 0xff;
if ((b = base64[b]) < 0) {
if (b == -2) { // padding byte '='
// = shiftto==18 unnecessary padding
// x= shiftto==12 a dangling single x
// x to be handled together with non-padding case
// xx= shiftto==6&&sp==sl missing last =
// xx=y shiftto==6 last is not =
if (shiftto == 6 && (sp == sl || src[sp++] != '=') ||
shiftto == 18) {
throw new IllegalArgumentException(
"Input byte array has wrong 4-byte ending unit");
}
break;
}
if (isMIME) // skip if for rfc2045
continue;
else
throw new IllegalArgumentException(
"Illegal base64 character " +
Integer.toString(src[sp - 1], 16));
}
bits |= (b << shiftto);
shiftto -= 6;
if (shiftto < 0) {
dst[dp++] = (byte)(bits >> 16);
dst[dp++] = (byte)(bits >> 8);
dst[dp++] = (byte)(bits);
shiftto = 18;
bits = 0;
}
}
// reached end of byte array or hit padding '=' characters.
if (shiftto == 6) {
dst[dp++] = (byte)(bits >> 16);
} else if (shiftto == 0) {
dst[dp++] = (byte)(bits >> 16);
dst[dp++] = (byte)(bits >> 8);
} else if (shiftto == 12) {
// dangling single "x", incorrectly encoded.
throw new IllegalArgumentException(
"Last unit does not have enough valid bits");
}
// anything left is invalid, if is not MIME.
// if MIME, ignore all non-base64 character
while (sp < sl) {
if (isMIME && base64[src[sp++]] < 0)
continue;
throw new IllegalArgumentException(
"Input byte array has incorrect ending byte at " + sp);
}
return dp;
}
}
}

@ -1,16 +0,0 @@
package com.zhehekeji.web.lib.joyware.common;
import javax.swing.*;
import javax.swing.border.Border;
/*
*
*/
public class BorderEx {
public static void set(JComponent object, String title, int width) {
Border innerBorder = BorderFactory.createTitledBorder(title);
Border outerBorder = BorderFactory.createEmptyBorder(width, width, width, width);
object.setBorder(BorderFactory.createCompoundBorder(outerBorder, innerBorder));
}
}

@ -1,93 +0,0 @@
package com.zhehekeji.web.lib.joyware.common;
import java.lang.reflect.Method;
import java.util.NoSuchElementException;
import java.util.Scanner;
import java.util.Vector;
public class CaseMenu {
public static class Item {
private Object object;
private String itemName;
private String methodName;
public Item(Object object, String itemName, String methodName) {
super();
this.object = object;
this.itemName = itemName;
this.methodName = methodName;
}
public Object getObject() {
return object;
}
public String getItemName() {
return itemName;
}
public String getMethodName() {
return methodName;
}
}
private Vector<Item> items;
public CaseMenu() {
super();
items = new Vector<Item>();
}
public void addItem(Item item) {
items.add(item);
}
private void showItem() {
final String format = "%2d\t%-20s\n";
int index = 0;
System.out.printf(format, index++, "exit App");
for (Item item : items) {
System.out.printf(format, index++, item.getItemName());
}
System.out.println("Please input a item index to invoke the method:");
}
public void run() {
Scanner scanner = new Scanner(System.in);
while(true) {
showItem();
try {
int input = Integer.parseInt(scanner.nextLine());
if (input <= 0 ) {
System.err.println("input <= 0 || scanner.nextLine() == null");
// scanner.close();
// System.exit(0);
break;
}
if (input < 0 || input > items.size()) {
System.err.println("Input Error Item Index.");
continue;
}
Item item = items.get(input - 1);
Class<?> itemClass = item.getObject().getClass();
Method method = itemClass.getMethod(item.getMethodName());
method.invoke(item.getObject());
} catch (NoSuchElementException e) {
// scanner.close();
// System.exit(0);
break;
} catch (NumberFormatException e) {
System.err.println("Input Error NumberFormat.");
continue;
} catch (Exception e) {
e.printStackTrace();
}
}
scanner.close();
}
}

@ -1,869 +0,0 @@
package com.zhehekeji.web.lib.joyware.common;
/**
*
*/
public class ErrorCode {
/**
*
* @param err CLIENT_GetLastError, error code: (0x80000000|" + (LoginModule.netsdk.CLIENT_GetLastError() & 0x7fffffff) +")
* @return
*/
public static String getErrorCode(int err) {
String msg = "";
switch(err) {
case 0: // 0 没有错误
msg = Res.string().getBundle().getString("NET_ERROR");
break;
case -1: // -1 未知错误
msg = Res.string().getBundle().getString("NET_ERROR");
break;
case 1: // (0x80000000|1) Windows系统出错
msg = Res.string().getBundle().getString("NET_SYSTEM_ERROR");
break;
case 2: // (0x80000000|2) 网络错误,可能是因为网络超时
msg = Res.string().getBundle().getString("NET_NETWORK_ERROR");
break;
case 3: // (0x80000000|3) 设备协议不匹配
msg = Res.string().getBundle().getString("NET_DEV_VER_NOMATCH");
break;
case 4: // (0x80000000|4) 句柄无效
msg = Res.string().getBundle().getString("NET_INVALID_HANDLE");
break;
case 5: // (0x80000000|5) 打开通道失败
msg = Res.string().getBundle().getString("NET_OPEN_CHANNEL_ERROR");
break;
case 6: // (0x80000000|6) 关闭通道失败
msg = Res.string().getBundle().getString("NET_CLOSE_CHANNEL_ERROR");
break;
case 7: // (0x80000000|7) 用户参数不合法
msg = Res.string().getBundle().getString("NET_ILLEGAL_PARAM");
break;
case 8: // (0x80000000|8) SDK初始化出错
msg = Res.string().getBundle().getString("NET_SDK_INIT_ERROR");
break;
case 9: // (0x80000000|9) SDK清理出错
msg = Res.string().getBundle().getString("NET_SDK_UNINIT_ERROR");
break;
case 10: // (0x80000000|10) 申请render资源出错
msg = Res.string().getBundle().getString("NET_RENDER_OPEN_ERROR");
break;
case 11: // (0x80000000|11) 打开解码库出错
msg = Res.string().getBundle().getString("NET_DEC_OPEN_ERROR");
break;
case 12: // (0x80000000|12) 关闭解码库出错
msg = Res.string().getBundle().getString("NET_DEC_CLOSE_ERROR");
break;
case 13: // (0x80000000|13) 多画面预览中检测到通道数为0
msg = Res.string().getBundle().getString("NET_MULTIPLAY_NOCHANNEL");
break;
case 14: // (0x80000000|14) 录音库初始化失败
msg = Res.string().getBundle().getString("NET_TALK_INIT_ERROR");
break;
case 15: // (0x80000000|15) 录音库未经初始化
msg = Res.string().getBundle().getString("NET_TALK_NOT_INIT");
break;
case 16: // (0x80000000|16) 发送音频数据出错
msg = Res.string().getBundle().getString("NET_TALK_SENDDATA_ERROR");
break;
case 17: // (0x80000000|17) 实时数据已经处于保存状态
msg = Res.string().getBundle().getString("NET_REAL_ALREADY_SAVING");
break;
case 18: // (0x80000000|18) 未保存实时数据
msg = Res.string().getBundle().getString("NET_NOT_SAVING");
break;
case 19: // (0x80000000|19) 打开文件出错
msg = Res.string().getBundle().getString("NET_OPEN_FILE_ERROR");
break;
case 20: // (0x80000000|20) 启动云台控制定时器失败
msg = Res.string().getBundle().getString("NET_PTZ_SET_TIMER_ERROR");
break;
case 21: // (0x80000000|21) 对返回数据的校验出错
msg = Res.string().getBundle().getString("NET_RETURN_DATA_ERROR");
break;
case 22: // (0x80000000|22) 没有足够的缓存
msg = Res.string().getBundle().getString("NET_INSUFFICIENT_BUFFER");
break;
case 23: // (0x80000000|23) 当前SDK未支持该功能
msg = Res.string().getBundle().getString("NET_NOT_SUPPORTED");
break;
case 24: // (0x80000000|24) 查询不到录像
msg = Res.string().getBundle().getString("NET_NO_RECORD_FOUND");
break;
case 25: // (0x80000000|25) 无操作权限
msg = Res.string().getBundle().getString("NET_NOT_AUTHORIZED");
break;
case 26: // (0x80000000|26) 暂时无法执行
msg = Res.string().getBundle().getString("NET_NOT_NOW");
break;
// case NetSDKLib.NET_NO_TALK_CHANNEL: // (0x80000000|27) 未发现对讲通道
// msg = Res.string().getBundle().getString("NET_NO_TALK_CHANNEL");
// break;
// case NetSDKLib.NET_NO_AUDIO: // (0x80000000|28) 未发现音频
// msg = Res.string().getBundle().getString("NET_NO_AUDIO");
// break;
// case NetSDKLib.NET_NO_INIT: // (0x80000000|29) 网络SDK未经初始化
// msg = Res.string().getBundle().getString("NET_NO_INIT");
// break;
// case NetSDKLib.NET_DOWNLOAD_END: // (0x80000000|30) 下载已结束
// msg = Res.string().getBundle().getString("NET_DOWNLOAD_END");
// break;
// case NetSDKLib.NET_EMPTY_LIST: // (0x80000000|31) 查询结果为空
// msg = Res.string().getBundle().getString("NET_EMPTY_LIST");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_SYSATTR: // (0x80000000|32) 获取系统属性配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SYSATTR");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_SERIAL: // (0x80000000|33) 获取序列号失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SERIAL");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_GENERAL: // (0x80000000|34) 获取常规属性失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_GENERAL");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_DSPCAP: // (0x80000000|35) 获取DSP能力描述失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_DSPCAP");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_NETCFG: // (0x80000000|36) 获取网络配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_NETCFG");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_CHANNAME: // (0x80000000|37) 获取通道名称失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_CHANNAME");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_VIDEO: // (0x80000000|38) 获取视频属性失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_VIDEO");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_RECORD: // (0x80000000|39) 获取录象配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_RECORD");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_PRONAME: // (0x80000000|40) 获取解码器协议名称失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_PRONAME");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_FUNCNAME: // (0x80000000|41) 获取232串口功能名称失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_FUNCNAME");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_485DECODER: // (0x80000000|42) 获取解码器属性失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_485DECODER");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_232COM: // (0x80000000|43) 获取232串口配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_232COM");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_ALARMIN: // (0x80000000|44) 获取外部报警输入配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_ALARMIN");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_ALARMDET: // (0x80000000|45) 获取动态检测报警失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_ALARMDET");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_SYSTIME: // (0x80000000|46) 获取设备时间失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SYSTIME");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_PREVIEW: // (0x80000000|47) 获取预览参数失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_PREVIEW");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_AUTOMT: // (0x80000000|48) 获取自动维护配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_AUTOMT");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_VIDEOMTRX: // (0x80000000|49) 获取视频矩阵配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_VIDEOMTRX");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_COVER: // (0x80000000|50) 获取区域遮挡配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_COVER");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_WATERMAKE: // (0x80000000|51) 获取图象水印配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_WATERMAKE");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_MULTICAST: // (0x80000000|52) 获取配置失败位置:组播端口按通道配置
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_MULTICAST");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_GENERAL: // (0x80000000|55) 修改常规属性失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_GENERAL");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_NETCFG: // (0x80000000|56) 改网络配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_NETCFG");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_CHANNAME: // (0x80000000|57) 修改通道名称失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_CHANNAME");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_VIDEO: // (0x80000000|58) 修改视频属性失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_VIDEO");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_RECORD: // (0x80000000|59) 修改录象配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_RECORD");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_485DECODER: // (0x80000000|60) 修改解码器属性失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_485DECODER");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_232COM: // (0x80000000|61) 修改232串口配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_232COM");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_ALARMIN: // (0x80000000|62) 修改外部输入报警配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_ALARMIN");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_ALARMDET: // (0x80000000|63) 修改动态检测报警配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_ALARMDET");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_SYSTIME: // (0x80000000|64) 修改设备时间失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_SYSTIME");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_PREVIEW: // (0x80000000|65) 修改预览参数失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_PREVIEW");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_AUTOMT: // (0x80000000|66) 修改自动维护配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_AUTOMT");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_VIDEOMTRX: // (0x80000000|67) 修改视频矩阵配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_VIDEOMTRX");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_COVER: // (0x80000000|68) 修改区域遮挡配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_COVER");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_WATERMAKE: // (0x80000000|69) 修改图象水印配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_WATERMAKE");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_WLAN: // (0x80000000|70) 修改无线网络信息失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_WLAN");
// break;
case 71: // (0x80000000|71) 选择无线网络设备失败
msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_WLANDEV");
break;
case 72: // (0x80000000|72) 修改主动注册参数配置失败
msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_REGISTER");
break;
case 73: // (0x80000000|73) 修改摄像头属性配置失败
msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_CAMERA");
break;
case 74: // (0x80000000|74) 修改红外报警配置失败
msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_INFRARED");
break;
case 75: // (0x80000000|75) 修改音频报警配置失败
msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_SOUNDALARM");
break;
case 76: // (0x80000000|76) 修改存储位置配置失败
msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_STORAGE");
break;
case 77: // (0x80000000|77) 音频编码接口没有成功初始化
msg = Res.string().getBundle().getString("NET_AUDIOENCODE_NOTINIT");
break;
case 78: // (0x80000000|78) 数据过长
msg = Res.string().getBundle().getString("NET_DATA_TOOLONGH");
break;
case 79: // (0x80000000|79) 备不支持该操作
msg = Res.string().getBundle().getString("NET_UNSUPPORTED");
break;
case 80: // (0x80000000|80) 设备资源不足
msg = Res.string().getBundle().getString("NET_DEVICE_BUSY");
break;
case 81: // (0x80000000|81) 服务器已经启动
msg = Res.string().getBundle().getString("NET_SERVER_STARTED");
break;
case 82: // (0x80000000|82) 服务器尚未成功启动
msg = Res.string().getBundle().getString("NET_SERVER_STOPPED");
break;
case 83: // (0x80000000|83) 输入序列号有误
msg = Res.string().getBundle().getString("NET_LISTER_INCORRECT_SERIAL");
break;
case 84: // (0x80000000|84) 获取硬盘信息失败
msg = Res.string().getBundle().getString("NET_QUERY_DISKINFO_FAILED");
break;
// case NetSDKLib.NET_ERROR_GETCFG_SESSION: // (0x80000000|85) 获取连接Session信息
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SESSION");
// break;
// case NetSDKLib.NET_USER_FLASEPWD_TRYTIME: // (0x80000000|86) 输入密码错误超过限制次数
// msg = Res.string().getBundle().getString("NET_USER_FLASEPWD_TRYTIME");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_PASSWORD: // (0x80000000|100) 密码不正确
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_PASSWORD");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_USER: // (0x80000000|101) 帐户不存在
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_USER");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_TIMEOUT: // (0x80000000|102) 等待登录返回超时
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_TIMEOUT");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_RELOGGIN: // (0x80000000|103) 帐号已登录
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_RELOGGIN");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_LOCKED: // (0x80000000|104) 帐号已被锁定
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_LOCKED");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_BLACKLIST: // (0x80000000|105) 帐号已被列为黑名单
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_BLACKLIST");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_BUSY: // (0x80000000|106) 资源不足,系统忙
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_BUSY");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_CONNECT: // (0x80000000|107) 登录设备超时,请检查网络并重试
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_CONNECT");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_NETWORK: // (0x80000000|108) 网络连接失败
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_NETWORK");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_SUBCONNECT: // (0x80000000|109) 登录设备成功,但无法创建视频通道,请检查网
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_SUBCONNECT");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_MAXCONNECT: // (0x80000000|110) 超过最大连接数
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_MAXCONNECT");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_PROTOCOL3_ONLY: // (0x80000000|111) 只支持3代协议
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_PROTOCOL3_ONLY");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_UKEY_LOST: // (0x80000000|112) 插入U盾或U盾信息错误
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_UKEY_LOST");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_NO_AUTHORIZED: // (0x80000000|113) 客户端IP地址没有登录权限
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_NO_AUTHORIZED");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_USER_OR_PASSOWRD: // (0x80000000|117) 账号或密码错误
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_USER_OR_PASSOWRD");
// break;
// case NetSDKLib.NET_LOGIN_ERROR_DEVICE_NOT_INIT: // (0x80000000|118) 设备尚未初始化,不能登录,请先初始化设备
// msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_DEVICE_NOT_INIT");
// break;
// case NetSDKLib.NET_RENDER_SOUND_ON_ERROR: // (0x80000000|120) Render库打开音频出错
// msg = Res.string().getBundle().getString("NET_RENDER_SOUND_ON_ERROR");
// break;
// case NetSDKLib.NET_RENDER_SOUND_OFF_ERROR: // (0x80000000|121) Render库关闭音频出错
// msg = Res.string().getBundle().getString("NET_RENDER_SOUND_OFF_ERROR");
// break;
// case NetSDKLib.NET_RENDER_SET_VOLUME_ERROR: // (0x80000000|122) Render库控制音量出错
// msg = Res.string().getBundle().getString("NET_RENDER_SET_VOLUME_ERROR");
// break;
// case NetSDKLib.NET_RENDER_ADJUST_ERROR: // (0x80000000|123) Render库设置画面参数出错
// msg = Res.string().getBundle().getString("NET_RENDER_ADJUST_ERROR");
// break;
// case NetSDKLib.NET_RENDER_PAUSE_ERROR: // (0x80000000|124) Render库暂停播放出错
// msg = Res.string().getBundle().getString("NET_RENDER_PAUSE_ERROR");
// break;
// case NetSDKLib.NET_RENDER_SNAP_ERROR: // (0x80000000|125) Render库抓图出错
// msg = Res.string().getBundle().getString("NET_RENDER_SNAP_ERROR");
// break;
// case NetSDKLib.NET_RENDER_STEP_ERROR: // (0x80000000|126) Render库步进出错
// msg = Res.string().getBundle().getString("NET_RENDER_STEP_ERROR");
// break;
// case NetSDKLib.NET_RENDER_FRAMERATE_ERROR: // (0x80000000|127) Render库设置帧率出错
// msg = Res.string().getBundle().getString("NET_RENDER_FRAMERATE_ERROR");
// break;
// case NetSDKLib.NET_RENDER_DISPLAYREGION_ERROR: // (0x80000000|128) Render库设置显示区域出错
// msg = Res.string().getBundle().getString("NET_RENDER_DISPLAYREGION_ERROR");
// break;
// case NetSDKLib.NET_RENDER_GETOSDTIME_ERROR: // (0x80000000|129) Render库获取当前播放时间出错
// msg = Res.string().getBundle().getString("NET_RENDER_GETOSDTIME_ERROR");
// break;
// case NetSDKLib.NET_GROUP_EXIST: // (0x80000000|140) 组名已存在
// msg = Res.string().getBundle().getString("NET_GROUP_EXIST");
// break;
// case NetSDKLib.NET_GROUP_NOEXIST: // (0x80000000|141) 组名不存在
// msg = Res.string().getBundle().getString("NET_GROUP_NOEXIST");
// break;
// case NetSDKLib.NET_GROUP_RIGHTOVER: // (0x80000000|142) 组的权限超出权限列表范围
// msg = Res.string().getBundle().getString("NET_GROUP_RIGHTOVER");
// break;
// case NetSDKLib.NET_GROUP_HAVEUSER: // (0x80000000|143) 组下有用户,不能删除
// msg = Res.string().getBundle().getString("NET_GROUP_HAVEUSER");
// break;
// case NetSDKLib.NET_GROUP_RIGHTUSE: // (0x80000000|144) 组的某个权限被用户使用,不能出除
// msg = Res.string().getBundle().getString("NET_GROUP_RIGHTUSE");
// break;
// case NetSDKLib.NET_GROUP_SAMENAME: // (0x80000000|145) 新组名同已有组名重复
// msg = Res.string().getBundle().getString("NET_GROUP_SAMENAME");
// break;
// case NetSDKLib.NET_USER_EXIST: // (0x80000000|146) 用户已存在
// msg = Res.string().getBundle().getString("NET_USER_EXIST");
// break;
// case NetSDKLib.NET_USER_NOEXIST: // (0x80000000|147) 用户不存在
// msg = Res.string().getBundle().getString("NET_USER_NOEXIST");
// break;
// case NetSDKLib.NET_USER_RIGHTOVER: // (0x80000000|148) 用户权限超出组权限
// msg = Res.string().getBundle().getString("NET_USER_RIGHTOVER");
// break;
// case NetSDKLib.NET_USER_PWD: // (0x80000000|149) 保留帐号,不容许修改密码
// msg = Res.string().getBundle().getString("NET_USER_PWD");
// break;
// case NetSDKLib.NET_USER_FLASEPWD: // (0x80000000|150) 密码不正确
// msg = Res.string().getBundle().getString("NET_USER_FLASEPWD");
// break;
// case NetSDKLib.NET_USER_NOMATCHING: // (0x80000000|151) 密码不匹配
// msg = Res.string().getBundle().getString("NET_USER_NOMATCHING");
// break;
// case NetSDKLib.NET_USER_INUSE: // (0x80000000|152) 账号正在使用中
// msg = Res.string().getBundle().getString("NET_USER_INUSE");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_ETHERNET: // (0x80000000|300) 获取网卡配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_ETHERNET");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_WLAN: // (0x80000000|301) 获取无线网络信息失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_WLAN");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_WLANDEV: // (0x80000000|302) 获取无线网络设备失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_WLANDEV");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_REGISTER: // (0x80000000|303) 获取主动注册参数失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_REGISTER");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_CAMERA: // (0x80000000|304) 获取摄像头属性失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_CAMERA");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_INFRARED: // (0x80000000|305) 获取红外报警配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_INFRARED");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_SOUNDALARM: // (0x80000000|306) 获取音频报警配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SOUNDALARM");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_STORAGE: // (0x80000000|307) 获取存储位置配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_STORAGE");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_MAIL: // (0x80000000|308) 获取邮件配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_MAIL");
// break;
// case NetSDKLib.NET_CONFIG_DEVBUSY: // (0x80000000|309) 暂时无法设置
// msg = Res.string().getBundle().getString("NET_CONFIG_DEVBUSY");
// break;
// case NetSDKLib.NET_CONFIG_DATAILLEGAL: // (0x80000000|310) 配置数据不合法
// msg = Res.string().getBundle().getString("NET_CONFIG_DATAILLEGAL");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_DST: // (0x80000000|311) 获取夏令时配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_DST");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_DST: // (0x80000000|312) 设置夏令时配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_DST");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_VIDEO_OSD: // (0x80000000|313) 获取视频OSD叠加配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_VIDEO_OSD");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_VIDEO_OSD: // (0x80000000|314) 设置视频OSD叠加配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_VIDEO_OSD");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_GPRSCDMA: // (0x80000000|315) 获取CDMA\GPRS网络配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_GPRSCDMA");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_GPRSCDMA: // (0x80000000|316) 设置CDMA\GPRS网络配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_GPRSCDMA");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_IPFILTER: // (0x80000000|317) 获取IP过滤配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_IPFILTER");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_IPFILTER: // (0x80000000|318) 设置IP过滤配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_IPFILTER");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_TALKENCODE: // (0x80000000|319) 获取语音对讲编码配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_TALKENCODE");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_TALKENCODE: // (0x80000000|320) 设置语音对讲编码配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_TALKENCODE");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_RECORDLEN: // (0x80000000|321) 获取录像打包长度配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_RECORDLEN");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_RECORDLEN: // (0x80000000|322) 设置录像打包长度配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_RECORDLEN");
// break;
// case NetSDKLib.NET_DONT_SUPPORT_SUBAREA: // (0x80000000|323) 不支持网络硬盘分区
// msg = Res.string().getBundle().getString("NET_DONT_SUPPORT_SUBAREA");
// break;
// case NetSDKLib.NET_ERROR_GET_AUTOREGSERVER: // (0x80000000|324) 获取设备上主动注册服务器信息失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_AUTOREGSERVER");
// break;
// case NetSDKLib.NET_ERROR_CONTROL_AUTOREGISTER: // (0x80000000|325) 主动注册重定向注册错误
// msg = Res.string().getBundle().getString("NET_ERROR_CONTROL_AUTOREGISTER");
// break;
// case NetSDKLib.NET_ERROR_DISCONNECT_AUTOREGISTER: // (0x80000000|326) 断开主动注册服务器错误
// msg = Res.string().getBundle().getString("NET_ERROR_DISCONNECT_AUTOREGISTER");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_MMS: // (0x80000000|327) 获取mms配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_MMS");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_MMS: // (0x80000000|328) 设置mms配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_MMS");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_SMSACTIVATION: // (0x80000000|329) 获取短信激活无线连接配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SMSACTIVATION");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_SMSACTIVATION: // (0x80000000|330) 设置短信激活无线连接配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_SMSACTIVATION");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_DIALINACTIVATION: // (0x80000000|331) 获取拨号激活无线连接配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_DIALINACTIVATION");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_DIALINACTIVATION: // (0x80000000|332) 设置拨号激活无线连接配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_DIALINACTIVATION");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_VIDEOOUT: // (0x80000000|333) 查询视频输出参数配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_VIDEOOUT");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_VIDEOOUT: // (0x80000000|334) 设置视频输出参数配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_VIDEOOUT");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_OSDENABLE: // (0x80000000|335) 获取osd叠加使能配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_OSDENABLE");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_OSDENABLE: // (0x80000000|336) 设置osd叠加使能配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_OSDENABLE");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_ENCODERINFO: // (0x80000000|337) 设置数字通道前端编码接入配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_ENCODERINFO");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_TVADJUST: // (0x80000000|338) 获取TV调节配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_TVADJUST");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_TVADJUST: // (0x80000000|339) 设置TV调节配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_TVADJUST");
// break;
// case NetSDKLib.NET_ERROR_CONNECT_FAILED: // (0x80000000|340) 请求建立连接失败
// msg = Res.string().getBundle().getString("NET_ERROR_CONNECT_FAILED");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_BURNFILE: // (0x80000000|341) 请求刻录文件上传失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_BURNFILE");
// break;
// case NetSDKLib.NET_ERROR_SNIFFER_GETCFG: // (0x80000000|342) 获取抓包配置信息失败
// msg = Res.string().getBundle().getString("NET_ERROR_SNIFFER_GETCFG");
// break;
// case NetSDKLib.NET_ERROR_SNIFFER_SETCFG: // (0x80000000|343) 设置抓包配置信息失败
// msg = Res.string().getBundle().getString("NET_ERROR_SNIFFER_SETCFG");
// break;
// case NetSDKLib.NET_ERROR_DOWNLOADRATE_GETCFG: // (0x80000000|344) 查询下载限制信息失败
// msg = Res.string().getBundle().getString("NET_ERROR_DOWNLOADRATE_GETCFG");
// break;
// case NetSDKLib.NET_ERROR_DOWNLOADRATE_SETCFG: // (0x80000000|345) 设置下载限制信息失败
// msg = Res.string().getBundle().getString("NET_ERROR_DOWNLOADRATE_SETCFG");
// break;
// case NetSDKLib.NET_ERROR_SEARCH_TRANSCOM: // (0x80000000|346) 查询串口参数失败
// msg = Res.string().getBundle().getString("NET_ERROR_SEARCH_TRANSCOM");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_POINT: // (0x80000000|347) 获取预制点信息错误
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_POINT");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_POINT: // (0x80000000|348) 设置预制点信息错误
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_POINT");
// break;
// case NetSDKLib.NET_SDK_LOGOUT_ERROR: // (0x80000000|349) SDK没有正常登出设备
// msg = Res.string().getBundle().getString("NET_SDK_LOGOUT_ERROR");
// break;
// case NetSDKLib.NET_ERROR_GET_VEHICLE_CFG: // (0x80000000|350) 获取车载配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_VEHICLE_CFG");
// break;
// case NetSDKLib.NET_ERROR_SET_VEHICLE_CFG: // (0x80000000|351) 设置车载配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SET_VEHICLE_CFG");
// break;
// case NetSDKLib.NET_ERROR_GET_ATM_OVERLAY_CFG: // (0x80000000|352) 获取atm叠加配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_ATM_OVERLAY_CFG");
// break;
// case NetSDKLib.NET_ERROR_SET_ATM_OVERLAY_CFG: // (0x80000000|353) 设置atm叠加配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SET_ATM_OVERLAY_CFG");
// break;
// case NetSDKLib.NET_ERROR_GET_ATM_OVERLAY_ABILITY: // (0x80000000|354) 获取atm叠加能力失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_ATM_OVERLAY_ABILITY");
// break;
// case NetSDKLib.NET_ERROR_GET_DECODER_TOUR_CFG: // (0x80000000|355) 获取解码器解码轮巡配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_DECODER_TOUR_CFG");
// break;
// case NetSDKLib.NET_ERROR_SET_DECODER_TOUR_CFG: // (0x80000000|356) 设置解码器解码轮巡配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SET_DECODER_TOUR_CFG");
// break;
// case NetSDKLib.NET_ERROR_CTRL_DECODER_TOUR: // (0x80000000|357) 控制解码器解码轮巡失败
// msg = Res.string().getBundle().getString("NET_ERROR_CTRL_DECODER_TOUR");
// break;
// case NetSDKLib.NET_GROUP_OVERSUPPORTNUM: // (0x80000000|358) 超出设备支持最大用户组数目
// msg = Res.string().getBundle().getString("NET_GROUP_OVERSUPPORTNUM");
// break;
// case NetSDKLib.NET_USER_OVERSUPPORTNUM: // (0x80000000|359) 超出设备支持最大用户数目
// msg = Res.string().getBundle().getString("NET_USER_OVERSUPPORTNUM");
// break;
// case NetSDKLib.NET_ERROR_GET_SIP_CFG: // (0x80000000|368) 获取SIP配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_SIP_CFG");
// break;
// case NetSDKLib.NET_ERROR_SET_SIP_CFG: // (0x80000000|369) 设置SIP配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SET_SIP_CFG");
// break;
// case NetSDKLib.NET_ERROR_GET_SIP_ABILITY: // (0x80000000|370) 获取SIP能力失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_SIP_ABILITY");
// break;
// case NetSDKLib.NET_ERROR_GET_WIFI_AP_CFG: // (0x80000000|371) 获取WIFI ap配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_WIFI_AP_CFG");
// break;
// case NetSDKLib.NET_ERROR_SET_WIFI_AP_CFG: // (0x80000000|372) 设置WIFI ap配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SET_WIFI_AP_CFG");
// break;
// case NetSDKLib.NET_ERROR_GET_DECODE_POLICY: // (0x80000000|373) 获取解码策略配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_DECODE_POLICY");
// break;
// case NetSDKLib.NET_ERROR_SET_DECODE_POLICY: // (0x80000000|374) 设置解码策略配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SET_DECODE_POLICY");
// break;
// case NetSDKLib.NET_ERROR_TALK_REJECT: // (0x80000000|375) 拒绝对讲
// msg = Res.string().getBundle().getString("NET_ERROR_TALK_REJECT");
// break;
// case NetSDKLib.NET_ERROR_TALK_OPENED: // (0x80000000|376) 对讲被其他客户端打开
// msg = Res.string().getBundle().getString("NET_ERROR_TALK_OPENED");
// break;
// case NetSDKLib.NET_ERROR_TALK_RESOURCE_CONFLICIT: // (0x80000000|377) 资源冲突
// msg = Res.string().getBundle().getString("NET_ERROR_TALK_RESOURCE_CONFLICIT");
// break;
// case NetSDKLib.NET_ERROR_TALK_UNSUPPORTED_ENCODE: // (0x80000000|378) 不支持的语音编码格式
// msg = Res.string().getBundle().getString("NET_ERROR_TALK_UNSUPPORTED_ENCODE");
// break;
// case NetSDKLib.NET_ERROR_TALK_RIGHTLESS: // (0x80000000|379) 无权限
// msg = Res.string().getBundle().getString("NET_ERROR_TALK_RIGHTLESS");
// break;
// case NetSDKLib.NET_ERROR_TALK_FAILED: // (0x80000000|380) 请求对讲失败
// msg = Res.string().getBundle().getString("NET_ERROR_TALK_FAILED");
// break;
// case NetSDKLib.NET_ERROR_GET_MACHINE_CFG: // (0x80000000|381) 获取机器相关配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_MACHINE_CFG");
// break;
// case NetSDKLib.NET_ERROR_SET_MACHINE_CFG: // (0x80000000|382) 设置机器相关配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SET_MACHINE_CFG");
// break;
// case NetSDKLib.NET_ERROR_GET_DATA_FAILED: // (0x80000000|383) 设备无法获取当前请求数据
// msg = Res.string().getBundle().getString("NET_ERROR_GET_DATA_FAILED");
// break;
// case NetSDKLib.NET_ERROR_MAC_VALIDATE_FAILED: // (0x80000000|384) MAC地址验证失败
// msg = Res.string().getBundle().getString("NET_ERROR_MAC_VALIDATE_FAILED");
// break;
// case NetSDKLib.NET_ERROR_GET_INSTANCE: // (0x80000000|385) 获取服务器实例失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_INSTANCE");
// break;
// case NetSDKLib.NET_ERROR_JSON_REQUEST: // (0x80000000|386) 生成的json字符串错误
// msg = Res.string().getBundle().getString("NET_ERROR_JSON_REQUEST");
// break;
// case NetSDKLib.NET_ERROR_JSON_RESPONSE: // (0x80000000|387) 响应的json字符串错误
// msg = Res.string().getBundle().getString("NET_ERROR_JSON_RESPONSE");
// break;
// case NetSDKLib.NET_ERROR_VERSION_HIGHER: // (0x80000000|388) 协议版本低于当前使用的版本
// msg = Res.string().getBundle().getString("NET_ERROR_VERSION_HIGHER");
// break;
// case NetSDKLib.NET_SPARE_NO_CAPACITY: // (0x80000000|389) 热备操作失败, 容量不足
// msg = Res.string().getBundle().getString("NET_SPARE_NO_CAPACITY");
// break;
// case NetSDKLib.NET_ERROR_SOURCE_IN_USE: // (0x80000000|390) 显示源被其他输出占用
// msg = Res.string().getBundle().getString("NET_ERROR_SOURCE_IN_USE");
// break;
// case NetSDKLib.NET_ERROR_REAVE: // (0x80000000|391) 高级用户抢占低级用户资源
// msg = Res.string().getBundle().getString("NET_ERROR_REAVE");
// break;
// case NetSDKLib.NET_ERROR_NETFORBID: // (0x80000000|392) 禁止入网
// msg = Res.string().getBundle().getString("NET_ERROR_NETFORBID");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_MACFILTER: // (0x80000000|393) 获取MAC过滤配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_MACFILTER");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_MACFILTER: // (0x80000000|394) 设置MAC过滤配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_MACFILTER");
// break;
// case NetSDKLib.NET_ERROR_GETCFG_IPMACFILTER: // (0x80000000|395) 获取IP/MAC过滤配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_IPMACFILTER");
// break;
// case NetSDKLib.NET_ERROR_SETCFG_IPMACFILTER: // (0x80000000|396) 设置IP/MAC过滤配置失败
// msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_IPMACFILTER");
// break;
// case NetSDKLib.NET_ERROR_OPERATION_OVERTIME: // (0x80000000|397) 当前操作超时
// msg = Res.string().getBundle().getString("NET_ERROR_OPERATION_OVERTIME");
// break;
// case NetSDKLib.NET_ERROR_SENIOR_VALIDATE_FAILED: // (0x80000000|398) 高级校验失败
// msg = Res.string().getBundle().getString("NET_ERROR_SENIOR_VALIDATE_FAILED");
// break;
// case NetSDKLib.NET_ERROR_DEVICE_ID_NOT_EXIST: // (0x80000000|399) 设备ID不存在
// msg = Res.string().getBundle().getString("NET_ERROR_DEVICE_ID_NOT_EXIST");
// break;
// case NetSDKLib.NET_ERROR_UNSUPPORTED: // (0x80000000|400) 不支持当前操作
// msg = Res.string().getBundle().getString("NET_ERROR_UNSUPPORTED");
// break;
// case NetSDKLib.NET_ERROR_PROXY_DLLLOAD: // (0x80000000|401) 代理库加载失败
// msg = Res.string().getBundle().getString("NET_ERROR_PROXY_DLLLOAD");
// break;
// case NetSDKLib.NET_ERROR_PROXY_ILLEGAL_PARAM: // (0x80000000|402) 代理用户参数不合法
// msg = Res.string().getBundle().getString("NET_ERROR_PROXY_ILLEGAL_PARAM");
// break;
// case NetSDKLib.NET_ERROR_PROXY_INVALID_HANDLE: // (0x80000000|403) 代理句柄无效
// msg = Res.string().getBundle().getString("NET_ERROR_PROXY_INVALID_HANDLE");
// break;
// case NetSDKLib.NET_ERROR_PROXY_LOGIN_DEVICE_ERROR: // (0x80000000|404) 代理登入前端设备失败
// msg = Res.string().getBundle().getString("NET_ERROR_PROXY_LOGIN_DEVICE_ERROR");
// break;
// case NetSDKLib.NET_ERROR_PROXY_START_SERVER_ERROR: // (0x80000000|405) 启动代理服务失败
// msg = Res.string().getBundle().getString("NET_ERROR_PROXY_START_SERVER_ERROR");
// break;
// case NetSDKLib.NET_ERROR_SPEAK_FAILED: // (0x80000000|406) 请求喊话失败
// msg = Res.string().getBundle().getString("NET_ERROR_SPEAK_FAILED");
// break;
// case NetSDKLib.NET_ERROR_NOT_SUPPORT_F6: // (0x80000000|407) 设备不支持此F6接口调用
// msg = Res.string().getBundle().getString("NET_ERROR_NOT_SUPPORT_F6");
// break;
// case NetSDKLib.NET_ERROR_CD_UNREADY: // (0x80000000|408) 光盘未就绪
// msg = Res.string().getBundle().getString("NET_ERROR_CD_UNREADY");
// break;
// case NetSDKLib.NET_ERROR_DIR_NOT_EXIST: // (0x80000000|409) 目录不存在
// msg = Res.string().getBundle().getString("NET_ERROR_DIR_NOT_EXIST");
// break;
// case NetSDKLib.NET_ERROR_UNSUPPORTED_SPLIT_MODE: // (0x80000000|410) 设备不支持的分割模式
// msg = Res.string().getBundle().getString("NET_ERROR_UNSUPPORTED_SPLIT_MODE");
// break;
// case NetSDKLib.NET_ERROR_OPEN_WND_PARAM: // (0x80000000|411) 开窗参数不合法
// msg = Res.string().getBundle().getString("NET_ERROR_OPEN_WND_PARAM");
// break;
// case NetSDKLib.NET_ERROR_LIMITED_WND_COUNT: // (0x80000000|412) 开窗数量超过限制
// msg = Res.string().getBundle().getString("NET_ERROR_LIMITED_WND_COUNT");
// break;
// case NetSDKLib.NET_ERROR_UNMATCHED_REQUEST: // (0x80000000|413) 请求命令与当前模式不匹配
// msg = Res.string().getBundle().getString("NET_ERROR_UNMATCHED_REQUEST");
// break;
// case NetSDKLib.NET_RENDER_ENABLELARGEPICADJUSTMENT_ERROR: // (0x80000000|414) Render库启用高清图像内部调整策略出错
// msg = Res.string().getBundle().getString("NET_RENDER_ENABLELARGEPICADJUSTMENT_ERROR");
// break;
// case NetSDKLib.NET_ERROR_UPGRADE_FAILED: // (0x80000000|415) 设备升级失败
// msg = Res.string().getBundle().getString("NET_ERROR_UPGRADE_FAILED");
// break;
// case NetSDKLib.NET_ERROR_NO_TARGET_DEVICE: // (0x80000000|416) 找不到目标设备
// msg = Res.string().getBundle().getString("NET_ERROR_NO_TARGET_DEVICE");
// break;
// case NetSDKLib.NET_ERROR_NO_VERIFY_DEVICE: // (0x80000000|417) 找不到验证设备
// msg = Res.string().getBundle().getString("NET_ERROR_NO_VERIFY_DEVICE");
// break;
// case NetSDKLib.NET_ERROR_CASCADE_RIGHTLESS: // (0x80000000|418) 无级联权限
// msg = Res.string().getBundle().getString("NET_ERROR_CASCADE_RIGHTLESS");
// break;
// case NetSDKLib.NET_ERROR_LOW_PRIORITY: // (0x80000000|419) 低优先级
// msg = Res.string().getBundle().getString("NET_ERROR_LOW_PRIORITY");
// break;
// case NetSDKLib.NET_ERROR_REMOTE_REQUEST_TIMEOUT: // (0x80000000|420) 远程设备请求超时
// msg = Res.string().getBundle().getString("NET_ERROR_REMOTE_REQUEST_TIMEOUT");
// break;
// case NetSDKLib.NET_ERROR_LIMITED_INPUT_SOURCE: // (0x80000000|421) 输入源超出最大路数限制
// msg = Res.string().getBundle().getString("NET_ERROR_LIMITED_INPUT_SOURCE");
// break;
// case NetSDKLib.NET_ERROR_SET_LOG_PRINT_INFO: // (0x80000000|422) 设置日志打印失败
// msg = Res.string().getBundle().getString("NET_ERROR_SET_LOG_PRINT_INFO");
// break;
// case NetSDKLib.NET_ERROR_PARAM_DWSIZE_ERROR: // (0x80000000|423) 入参的dwsize字段出错
// msg = Res.string().getBundle().getString("NET_ERROR_PARAM_DWSIZE_ERROR");
// break;
// case NetSDKLib.NET_ERROR_LIMITED_MONITORWALL_COUNT: // (0x80000000|424) 电视墙数量超过上限
// msg = Res.string().getBundle().getString("NET_ERROR_LIMITED_MONITORWALL_COUNT");
// break;
// case NetSDKLib.NET_ERROR_PART_PROCESS_FAILED: // (0x80000000|425) 部分过程执行失败
// msg = Res.string().getBundle().getString("NET_ERROR_PART_PROCESS_FAILED");
// break;
// case NetSDKLib.NET_ERROR_TARGET_NOT_SUPPORT: // (0x80000000|426) 该功能不支持转发
// msg = Res.string().getBundle().getString("NET_ERROR_TARGET_NOT_SUPPORT");
// break;
// case NetSDKLib.NET_ERROR_VISITE_FILE: // (0x80000000|510) 访问文件失败
// msg = Res.string().getBundle().getString("NET_ERROR_VISITE_FILE");
// break;
// case NetSDKLib.NET_ERROR_DEVICE_STATUS_BUSY: // (0x80000000|511) 设备忙
// msg = Res.string().getBundle().getString("NET_ERROR_DEVICE_STATUS_BUSY");
// break;
// case NetSDKLib.NET_USER_PWD_NOT_AUTHORIZED: // (0x80000000|512)修改密码无权限
// msg = Res.string().getBundle().getString("NET_USER_PWD_NOT_AUTHORIZED");
// break;
// case NetSDKLib.NET_USER_PWD_NOT_STRONG: // (0x80000000|513) 密码强度不够
// msg = Res.string().getBundle().getString("NET_USER_PWD_NOT_STRONG");
// break;
// case NetSDKLib.NET_ERROR_NO_SUCH_CONFIG: // (0x80000000|514) 没有对应的配置
// msg = Res.string().getBundle().getString("NET_ERROR_NO_SUCH_CONFIG");
// break;
// case NetSDKLib.NET_ERROR_AUDIO_RECORD_FAILED: // (0x80000000|515) 录音失败
// msg = Res.string().getBundle().getString("NET_ERROR_AUDIO_RECORD_FAILED");
// break;
// case NetSDKLib.NET_ERROR_SEND_DATA_FAILED: // (0x80000000|516) 数据发送失败
// msg = Res.string().getBundle().getString("NET_ERROR_SEND_DATA_FAILED");
// break;
// case NetSDKLib.NET_ERROR_OBSOLESCENT_INTERFACE: // (0x80000000|517) 废弃接口
// msg = Res.string().getBundle().getString("NET_ERROR_OBSOLESCENT_INTERFACE");
// break;
// case NetSDKLib.NET_ERROR_INSUFFICIENT_INTERAL_BUF: // (0x80000000|518) 内部缓冲不足
// msg = Res.string().getBundle().getString("NET_ERROR_INSUFFICIENT_INTERAL_BUF");
// break;
// case NetSDKLib.NET_ERROR_NEED_ENCRYPTION_PASSWORD: // (0x80000000|519) 修改设备ip时,需要校验密码
// msg = Res.string().getBundle().getString("NET_ERROR_NEED_ENCRYPTION_PASSWORD");
// break;
// case NetSDKLib.NET_ERROR_NOSUPPORT_RECORD: // (0x80000000|520) 设备不支持此记录集
// msg = Res.string().getBundle().getString("NET_ERROR_NOSUPPORT_RECORD");
// break;
// case NetSDKLib.NET_ERROR_SERIALIZE_ERROR: // (0x80000000|1010) 数据序列化错误
// msg = Res.string().getBundle().getString("NET_ERROR_SERIALIZE_ERROR");
// break;
// case NetSDKLib.NET_ERROR_DESERIALIZE_ERROR: // (0x80000000|1011) 数据反序列化错误
// msg = Res.string().getBundle().getString("NET_ERROR_DESERIALIZE_ERROR");
// break;
// case NetSDKLib.NET_ERROR_LOWRATEWPAN_ID_EXISTED: // (0x80000000|1012) 该无线ID已存在
// msg = Res.string().getBundle().getString("NET_ERROR_LOWRATEWPAN_ID_EXISTED");
// break;
// case NetSDKLib.NET_ERROR_LOWRATEWPAN_ID_LIMIT: // (0x80000000|1013) 无线ID数量已超限
// msg = Res.string().getBundle().getString("NET_ERROR_LOWRATEWPAN_ID_LIMIT");
// break;
// case NetSDKLib.NET_ERROR_LOWRATEWPAN_ID_ABNORMAL: // (0x80000000|1014) 无线异常添加
// msg = Res.string().getBundle().getString("NET_ERROR_LOWRATEWPAN_ID_ABNORMAL");
// break;
// case NetSDKLib.NET_ERROR_ENCRYPT: // (0x80000000|1015) 加密数据失败
// msg = Res.string().getBundle().getString("NET_ERROR_ENCRYPT");
// break;
// case NetSDKLib.NET_ERROR_PWD_ILLEGAL: // (0x80000000|1016) 新密码不合规范
// msg = Res.string().getBundle().getString("NET_ERROR_PWD_ILLEGAL");
// break;
// case NetSDKLib.NET_ERROR_DEVICE_ALREADY_INIT: // (0x80000000|1017) 设备已经初始化
// msg = Res.string().getBundle().getString("NET_ERROR_DEVICE_ALREADY_INIT");
// break;
// case NetSDKLib.NET_ERROR_SECURITY_CODE: // (0x80000000|1018) 安全码错误
// msg = Res.string().getBundle().getString("NET_ERROR_SECURITY_CODE");
// break;
// case NetSDKLib.NET_ERROR_SECURITY_CODE_TIMEOUT: // (0x80000000|1019) 安全码超出有效期
// msg = Res.string().getBundle().getString("NET_ERROR_SECURITY_CODE_TIMEOUT");
// break;
// case NetSDKLib.NET_ERROR_GET_PWD_SPECI: // (0x80000000|1020) 获取密码规范失败
// msg = Res.string().getBundle().getString("NET_ERROR_GET_PWD_SPECI");
// break;
// case NetSDKLib.NET_ERROR_NO_AUTHORITY_OF_OPERATION: // (0x80000000|1021) 无权限进行该操作
// msg = Res.string().getBundle().getString("NET_ERROR_NO_AUTHORITY_OF_OPERATION");
// break;
// case NetSDKLib.NET_ERROR_DECRYPT: // (0x80000000|1022) 解密数据失败
// msg = Res.string().getBundle().getString("NET_ERROR_DECRYPT");
// break;
// case NetSDKLib.NET_ERROR_2D_CODE: // (0x80000000|1023) 2D code校验失败
// msg = Res.string().getBundle().getString("NET_ERROR_2D_CODE");
// break;
// case NetSDKLib.NET_ERROR_INVALID_REQUEST: // (0x80000000|1024) 非法的RPC请求
// msg = Res.string().getBundle().getString("NET_ERROR_INVALID_REQUEST");
// break;
// case NetSDKLib.NET_ERROR_PWD_RESET_DISABLE: // (0x80000000|1025) 密码重置功能已关闭
// msg = Res.string().getBundle().getString("NET_ERROR_PWD_RESET_DISABLE");
// break;
case 1026: // (0x80000000|1026) 显示私有数据,比如规则框等失败
msg = Res.string().getBundle().getString("NET_ERROR_PLAY_PRIVATE_DATA");
break;
case 1027: // (0x80000000|1027) 机器人操作失败
msg = Res.string().getBundle().getString("NET_ERROR_ROBOT_OPERATE_FAILED");
break;
case 1028: // (0x80000000|1028) 图片大小超限
msg = Res.string().getBundle().getString("NET_ERROR_PHOTOSIZE_EXCEEDSLIMIT");
break;
case 1029: // (0x80000000|1029) 用户ID不存在
msg = Res.string().getBundle().getString("NET_ERROR_USERID_INVALID");
break;
case 1030: // (0x80000000|1030) 照片特征值提取失败
msg = Res.string().getBundle().getString("NET_ERROR_EXTRACTFEATURE_FAILED");
break;
case 1031: // (0x80000000|1031) 照片已存在
msg = Res.string().getBundle().getString("NET_ERROR_PHOTO_EXIST");
break;
case 1032: // (0x80000000|1032) 照片数量超过上限
msg = Res.string().getBundle().getString("NET_ERROR_PHOTO_OVERFLOW");
break;
case 1033: // (0x80000000|1033) 通道已经打开
msg = Res.string().getBundle().getString("NET_ERROR_CHANNEL_ALREADY_OPENED");
break;
case 1034: // (0x80000000|1034) 创建套接字失败
msg = Res.string().getBundle().getString("NET_ERROR_CREATE_SOCKET");
break;
case 1035: // (0x80000000|1035) 通道号错误
msg = Res.string().getBundle().getString("NET_ERROR_CHANNEL_NUM");
break;
case 1051: // (0x80000000|1051) 组ID超过最大值
msg = Res.string().getBundle().getString("NET_ERROR_FACE_RECOGNITION_SERVER_GROUP_ID_EXCEED");
break;
default:
msg = Res.string().getBundle().getString("NET_ERROR");
break;
}
return msg;
}
}

@ -1,79 +0,0 @@
package com.zhehekeji.web.lib.joyware.common;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.LinkedBlockingDeque;
public class EventTaskCommonQueue {
// 设置一个队列,容量看情况改
private final int MAX_TASK_COUNT = 10000; // 队列容量
private final LinkedBlockingDeque<EventTaskHandler> eventTasks = new LinkedBlockingDeque<EventTaskHandler>(MAX_TASK_COUNT);
// 起一个线程池
private final int MAX_THREAD_COUNT = 10; // 线程池容量
private ExecutorService eventQueueService = Executors.newFixedThreadPool(MAX_THREAD_COUNT);
// 用于检验服务运行状态
private volatile boolean running = true;
// 用于查看当前线程状态
private Future<?> eventQueueThreadStatus;
// 初始化
public void init() {
eventQueueThreadStatus = eventQueueService.submit(new Thread(new Runnable() {
@Override
public void run() {
while (running) {
try {
EventTaskHandler task = eventTasks.take(); //开始一个任务
try {
task.eventTaskProcess(); // 主要的运行函数
} catch (Exception e) {
System.err.println("任务处理发生错误"); // error
}
} catch (InterruptedException e) {
System.err.println("任务已意外停止"); // error
running = false;
}
}
}
}, "Event call back thread init"));
}
// 向队列添加新的任务
public boolean addEvent(EventTaskHandler eventHandler) {
if (!running) {
System.out.println("任务已停止"); // warning
return false;
}
boolean success = eventTasks.offer(eventHandler);
if (!success) {
// 队列已满,无法再添加
System.out.println("添加到事件队列失败");
}
return success;
}
// 手动启动服务
public void activeService() {
running = true;
if (eventQueueService.isShutdown()) {
eventQueueService = Executors.newFixedThreadPool(MAX_THREAD_COUNT);;
init();
System.out.println("线程池已关闭,重新初始化线程池及任务");
}
if (eventQueueThreadStatus.isDone()) {
init();
System.out.println("线程池任务结束,重新初始化任务");
}
}
// 手动关闭服务
public void destroy() {
running = false;
eventQueueService.shutdownNow();
}
}

@ -1,6 +0,0 @@
package com.zhehekeji.web.lib.joyware.common;
public interface EventTaskHandler {
void eventTaskProcess();
}

@ -1,49 +0,0 @@
package com.zhehekeji.web.lib.joyware.constant;
/**
* @author 47081
* @version 1.0
* @description
* @date 2020/8/24
*/
public class SDKStructureFieldLenth {
/** 通用名字字符串长度 */
public static final int NET_MAX_NAME_LEN = 16;
/** 视频分析设备支持的检测物体类型列表个数上限 */
public static final int MAX_OBJECT_LIST_SIZE = 16;
/** 一周的天数 */
public static final int WEEK_DAY_NUM = 7;
/** 录像时间段扩展个数 */
public static final int MAX_REC_TSECT_EX = 10;
/** 通用字符串长度512 */
public static final int SDK_COMMON_STRING_512 = 512;
/** 电视墙最大预案数 */
public static final int NET_MAX_COLLECTION_NUM = 64;
/** 景物点信息最大个数 */
public static final int MAX_SCENICSPOT_POINTS_NUM = 256;
/** 协议名称长度 */
public static final int MAX_PROTOCOL_NAME_LEN = 32;
/** 通用字符串长度32 */
public static final int CFG_COMMON_STRING_32 = 32;
public static final int MAX_MASKTYPE_COUNT = 8;
public static final int MAX_MOSAICTYPE_COUNT = 8;
/** 最大下位矩阵输出通道数 */
public static final int CFG_MAX_LOWER_MATRIX_OUTPUT = 32;
// 最大通道数256
public static final int CFG_MAX_VIDEO_CHANNEL_NUM = 256;
/** 规则检测区域最大顶点数 */
public static final int SDK_MAX_DETECT_REGION_NUM = 20;
/** 检测到目标的最大个数 */
public static final int HDBJ_MAX_OBJECTS_NUM = 200;
/** 规则检测区域最大顶点数 */
public static final int DH_MAX_DETECT_REGION_NUM = 20;
/** 最大事件名称长度 */
public static final int MAX_EVENT_NAME_LEN = 128;
/** 最大标定点个数 */
public static final int MAX_CALIBRATE_POINT_NUM = 64;
/** 最大的地址长度 */
public static final int MAX_ADDRESS_LEN = 256;
/** 最大密码长度 */
public static final int MAX_PASSWORD_LEN = 64;
}

@ -1,42 +0,0 @@
package com.zhehekeji.web.lib.joyware.constant;
import com.sun.jna.NativeLong;
import com.sun.jna.Pointer;
/**
* @author 47081
* @version 1.0
* @description \if ENGLISH_LANG
* <p>
* \else
* ,{@link NetSDKLib#CLIENT_StartListenEx(NetSDKLib.LLong)}
* \endif
* @date 2020/8/11
*/
public class SDK_ALARM_Ex_TYPE {
/**
* ( {@link ALARM_SOLARCELL_SYSTEM_INFO}),{@link com.netsdk.lib.NetSDKLib.fMessCallBack#invoke(int, NetSDKLib.LLong, Pointer, int, String, NativeLong, Pointer)}
* {@link NetSDKLib#CLIENT_StartListenEx(NetSDKLib.LLong)}
*/
public static final int SDK_ALARM_SOLARCELL_SYSTEM_INFO = 0x345F;
/**
* 110
* {@link NetSDKLib.fMessCallBack#invoke(int, NetSDKLib.LLong, Pointer, int, String, NativeLong, Pointer)}
* {@link NetSDKLib#CLIENT_StartListenEx(NetSDKLib.LLong)}
*/
public static final int SDK_DISKFULL_ALARM_EX = 0x2106;
/**
* 3210
* {@link NetSDKLib.fMessCallBack#invoke(int, NetSDKLib.LLong, Pointer, int, String, NativeLong, Pointer)}
* {@link NetSDKLib#CLIENT_StartListenEx(NetSDKLib.LLong)}
*/
public static final int SDK_DISKERROR_ALARM_EX = 0x2107;
/**
* ,{@link com.zhehekeji.web.lib.joyware.structure.ALARM_NO_DISK_INFO}
* {@link NetSDKLib.fMessCallBack#invoke(int, NetSDKLib.LLong, Pointer, int, String, NativeLong, Pointer)}
* {@link NetSDKLib#CLIENT_StartListenEx(NetSDKLib.LLong)}
*/
public static final int SDK_ALARM_NO_DISK = 0x2183;
}

@ -1,26 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/7
*/
public enum CFG_ACCESS_PROPERTY_TYPE {
/** 未知 */
CFG_ACCESS_PROPERTY_UNKNOWN(0, "未知"),
/** 双向门禁 */
CFG_ACCESS_PROPERTY_BIDIRECT(1, "双向门禁"),
/** 单向门禁 */
CFG_ACCESS_PROPERTY_UNIDIRECT(2, "单向门禁");
/** 枚举值 */
private int type;
/** 枚举对应的类型描述 */
private String desc;
CFG_ACCESS_PROPERTY_TYPE(int type, String desc) {
this.type = type;
this.desc = desc;
}
}

@ -1,45 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/7
*/
public enum CFG_EM_ASG_VOICE_DIRECTION {
CFG_EM_ASG_VOICE_DIRECTION_UNKNOWN(0, "未知"),
CFG_EM_ASG_VOICE_DIRECTION_ENTER(1, "进入"),
CFG_EM_ASG_VOICE_DIRECTION_LEAVE(2, "离开");
private int direction;
private String desc;
CFG_EM_ASG_VOICE_DIRECTION(int direction, String desc) {
this.direction = direction;
this.desc = desc;
}
public static CFG_EM_ASG_VOICE_DIRECTION getVoiceDirection(int direction) {
for (CFG_EM_ASG_VOICE_DIRECTION voiceDirection : CFG_EM_ASG_VOICE_DIRECTION.values()) {
if (voiceDirection.direction == direction) {
return voiceDirection;
}
}
return CFG_EM_ASG_VOICE_DIRECTION_UNKNOWN;
}
public int getDirection() {
return direction;
}
public void setDirection(int direction) {
this.direction = direction;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}

@ -1,113 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @description
* @date 2021/01/11
*/
public enum CFG_EM_BODY_TRAIT {
// 未知
CFG_EM_BODY_TRAIT_UNKNOWN(0, "未知"),
// 性别
CFG_EM_BODY_TRAIT_SEX(1, "性别"),
// 年龄组
CFG_EM_BODY_TRAIT_AGEGROUP(2, "年龄组"),
// 上衣
CFG_EM_BODY_TRAIT_COATTYPE(3, "上衣"),
// 裤子
CFG_EM_BODY_TRAIT_TROUSERSTYPE(4, "裤子"),
// 人体角度
CFG_EM_BODY_TRAIT_ANGLE(5, "人体角度"),
// 上衣模式
CFG_EM_BODY_TRAIT_UPPERPATTERN(6, "上衣模式"),
// 裤子颜色
CFG_EM_BODY_TRAIT_TROUSERSCOLOR(7, "裤子颜色"),
// 打伞
CFG_EM_BODY_TRAIT_UMBRELLA(8, "打伞"),
// 雨伞颜色
CFG_EM_BODY_TRAIT_UMBRELLACOLOR(9, "雨伞颜色"),
// 胸前报东西
CFG_EM_BODY_TRAIT_HOLD(10, "胸前报东西"),
// 裤子模式
CFG_EM_BODY_TRAIT_TROUSERSPATTERN(11, "裤子模式"),
// 帽子款式
CFG_EM_BODY_TRAIT_HATTYPE(12, "帽子款式"),
// 帽子颜色
CFG_EM_BODY_TRAIT_HATCOLOR(13, "帽子颜色"),
// 上衣款式
CFG_EM_BODY_TRAIT_UPPERTYPE(14, "上衣款式"),
// 上衣颜色
CFG_EM_BODY_TRAIT_COATCOLOR(15, "上衣颜色"),
// 发型
CFG_EM_BODY_TRAIT_HAIRSTYLE(16, "发型"),
// 头发颜色
CFG_EM_BODY_TRAIT_HAIRCOLOR(17, "头发颜色"),
// 鞋子款式
CFG_EM_BODY_TRAIT_SHOESTYPE(18, "鞋子款式"),
// 鞋子颜色
CFG_EM_BODY_TRAIT_SHOESCOLOR(19, "鞋子颜色"),
// 箱包款式
CFG_EM_BODY_TRAIT_BAG(20, "箱包款式"),
// 箱包颜色
CFG_EM_BODY_TRAIT_BAGCOLOR(21, "箱包颜色"),
// 口罩
CFG_EM_BODY_TRAIT_MASK(22, "口罩"),
// 口罩颜色
CFG_EM_BODY_TRAIT_MASKCOLOR(23, "口罩颜色");
private int value;
private String note;
private CFG_EM_BODY_TRAIT(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (CFG_EM_BODY_TRAIT enumType : CFG_EM_BODY_TRAIT.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (CFG_EM_BODY_TRAIT enumType : CFG_EM_BODY_TRAIT.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,55 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @description
* @date 2021/01/11
*/
public enum CFG_EM_FACEDETECT_TYPE {
// 未知
CFG_EM_FACEDETECT_TYPE_UNKNOWN(0, "未知"),
// 可见光
CFG_EM_FACEDETECT_TYPE_VISUAL(1, "可见光"),
// 红外
CFG_EM_FACEDETECT_TYPE_THERMAL(2, "红外"),
// 按时间段切换
CFG_EM_FACEDETECT_TYPE_SWITCHBYTIME(3, "按时间段切换");
private int value;
private String note;
private CFG_EM_FACEDETECT_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (CFG_EM_FACEDETECT_TYPE enumType : CFG_EM_FACEDETECT_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (CFG_EM_FACEDETECT_TYPE enumType : CFG_EM_FACEDETECT_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,72 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @description
* @date 2021/01/11
*/
public enum CFG_EM_FACE_SNAP_POLICY {
// 未知
CFG_EM_FACE_SNAP_POLICY_UNKNOWN(0, "未知"),
// 实时抓拍模式(当前的通用模式,实时性优先)
CFG_EM_FACE_SNAP_POLICY_REALTIME(1, "实时抓拍模式"),
// 优选抓拍模式,在设定的延时区间(OptimalTime)内挑选评分最高的抓图,准确性优先但延时较大
CFG_EM_FACE_SNAP_POLICY_OPTIMAL(2, "优选抓拍模式"),
// 质量抓拍模式在Optimal的基础上如果图片质量好于阈值提前结束优选提高实时性
CFG_EM_FACE_SNAP_POLICY_QUALITY(3, "质量抓拍模式"),
// 识别优先抓拍模式,在优选时间内,以一定间隔帧数多次进行比对;一旦比对成功则立即结束优选,以提高对比成功率,取代质量优先模式
CFG_EM_FACE_SNAP_POLICY_RECOGNITION(4, "识别优先抓拍模式"),
// 快速优选,从检测到人脸/人体开始,抓拍一定帧数内的质量最好的人脸或人体,定制
CFG_EM_FACE_SNAP_POLICY_QUICK(5, "快速优选"),
// 全程优选,抓拍全程质量最好的人脸人体,定制
CFG_EM_FACE_SNAP_POLICY_FULLTRACK(6, "全程优选"),
// 间隔抓拍,定制
CFG_EM_FACE_SNAP_POLICY_INTERVAL(7, "间隔抓拍"),
// 单人模式,常用于门禁,定制
CFG_EM_FACE_SNAP_POLICY_SINGLE(8, "单人模式"),
// 高精度模式,增强人脸识别,定制,增强人脸识别,定制
CFG_EM_FACE_SNAP_POLICY_PRECISION(9, "高精度模式");
private int value;
private String note;
private CFG_EM_FACE_SNAP_POLICY(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (CFG_EM_FACE_SNAP_POLICY enumType : CFG_EM_FACE_SNAP_POLICY.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (CFG_EM_FACE_SNAP_POLICY enumType : CFG_EM_FACE_SNAP_POLICY.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,66 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @description
* @date 2021/01/11
*/
public enum CFG_EM_FACE_TRAIT {
// 未知
CFG_EM_FACE_TRAIT_UNKNOWN(0, "未知"),
// 性别
CFG_EM_FACE_TRAIT_SEX(1, "性别"),
// 年龄
CFG_EM_FACE_TRAIT_AGE(2, "年龄"),
// 眼镜
CFG_EM_FACE_TRAIT_GLASSES(3, "眼镜"),
// 胡子
CFG_EM_FACE_TRAIT_BEARD(4, "胡子"),
// 肤色
CFG_EM_FACE_TRAIT_COMPLEXION(5, "肤色"),
// 口罩
CFG_EM_FACE_TRAIT_MASK(6, "口罩"),
// 表情
CFG_EM_FACE_TRAIT_EMOTION(7, "表情");
private int value;
private String note;
private CFG_EM_FACE_TRAIT(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (CFG_EM_FACE_TRAIT enumType : CFG_EM_FACE_TRAIT.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (CFG_EM_FACE_TRAIT enumType : CFG_EM_FACE_TRAIT.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,49 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @description
* @date 2021/01/11
*/
public enum CFG_EM_INSTANCE_SUBCLASS_TYPE {
// 本地实例
CFG_EM_INSTANCE_SUBCLASS_TYPE_LOCAL(0, "本地实例"),
// 远程实例
CFG_EM_INSTANCE_SUBCLASS_TYPE_REMOTE(1, "远程实例");
private int value;
private String note;
private CFG_EM_INSTANCE_SUBCLASS_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (CFG_EM_INSTANCE_SUBCLASS_TYPE enumType : CFG_EM_INSTANCE_SUBCLASS_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (CFG_EM_INSTANCE_SUBCLASS_TYPE enumType : CFG_EM_INSTANCE_SUBCLASS_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,70 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description ID
* @date 2021/2/7
*/
public enum CFG_EM_VOICE_ID {
/** 未知 */
CFG_EM_VOICE_ID_UNKNOWN(-1, "未知"),
/** 验证成功(默认) */
CFG_EM_VOICE_ID_VERIFY_SUCCESS(0, "验证成功(默认)"),
/** 开门成功 */
CFG_EM_VOICE_ID_OPENDOOR_SUCCESS(1, "开门成功"),
/** 开锁成功 */
CFG_EM_VOICE_ID_UNLOCK_SUCCESS(2, "开锁成功"),
/** 刷卡成功 */
CFG_EM_VOICE_ID_SWIPECARD_SUCCESS(3, "刷卡成功"),
/** 欢迎光临 */
CFG_EM_VOICE_ID_WELCOME(4, "欢迎光临"),
/** 欢迎再次光临 */
CFG_EM_VOICE_ID_WELCOME_BACK(5, "欢迎再次光临"),
/** 谢谢 */
CFG_EM_VOICE_ID_THANKS(6, "谢谢"),
/** 自定义 */
CFG_EM_VOICE_ID_CUSTOMIZED_VOICE(7, "自定义"),
/** 无声音 */
CFG_EM_VOICE_ID_NO_VOICE(8, "无声音"),
/** 欢迎回家 */
CFG_EM_VOICE_ID_WELCOME_HOME(9, "欢迎回家"),
/** 一路顺风 */
CFG_EM_VOICE_ID_GOOD_JOURNEY(10, "一路顺风"),
/** 欢迎下次光临 */
CFG_EM_VOICE_ID_WELCOME_BACK_NEXT(11, "欢迎下次光临"),
/** 谢谢惠顾 */
CFG_EM_VOICE_ID_THANKS_FOR_PATRONAGE(12, "谢谢惠顾");
private int id;
private String desc;
CFG_EM_VOICE_ID(int id, String desc) {
this.id = id;
this.desc = desc;
}
public static CFG_EM_VOICE_ID getVoiceID(int id) {
for (CFG_EM_VOICE_ID voiceID : CFG_EM_VOICE_ID.values()) {
if (voiceID.id == id) {
return voiceID;
}
}
return CFG_EM_VOICE_ID_UNKNOWN;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}

@ -1,50 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47081
*/
public enum DH_LOG_QUERY_TYPE {
/**
*
*/
DHLOG_ALL,
/**
*
*/
DHLOG_SYSTEM,
/**
*
*/
DHLOG_CONFIG,
/**
*
*/
DHLOG_STORAGE,
/**
*
*/
DHLOG_ALARM,
/**
*
*/
DHLOG_RECORD,
/**
*
*/
DHLOG_ACCOUNT,
/**
*
*/
DHLOG_CLEAR,
/**
*
*/
DHLOG_PLAYBACK,
/**
*
*/
DHLOG_MANAGER
}

@ -1,295 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2020/9/12
*/
public enum EMDeviceType {
/**
* none
*/
NET_PRODUCT_NONE(0, "未知"),
/**
* MACE
*/
NET_DVR_NONREALTIME_MACE(1, "非实时MACE"),
/**
*
*/
NET_DVR_NONREALTIME(2, "非实时"),
/**
*
*/
NET_NVS_MPEG1(3, "网络视频服务器"),
/**
* MPEG1
*/
NET_DVR_MPEG1_2(4, "MPEG1二路录像机"),
/**
* MPEG1
*/
NET_DVR_MPEG1_8(5, "MPEG1八路录像机"),
/**
* MPEG4
*/
NET_DVR_MPEG4_8(6, "MPEG4八路录像机"),
/**
* MPEG4
*/
NET_DVR_MPEG4_16(7, "MPEG4十六路录像机"),
/**
* LB
*/
NET_DVR_MPEG4_SX2(8, "LB系列录像机"),
/**
* GB
*/
NET_DVR_MEPG4_ST2(9, "GB系列录像机"),
/**
* HB
*/
NET_DVR_MEPG4_SH2(10, "HB系列录像机"),
/**
* GBE
*/
NET_DVR_MPEG4_GBE(11, "GBE系列录像机"),
/**
* II
*/
NET_DVR_MPEG4_NVSII(12, "II代网络视频服务器"),
/**
*
*/
NET_DVR_STD_NEW(13, "新标准配置协议"),
/**
* DDNS
*/
NET_DVR_DDNS(14, "DDNS服务器"),
/**
* ATM
*/
NET_DVR_ATM(15, "ATM机"),
/**
* NB
*/
NET_NB_SERIAL(16, "二代非实时NB系列机器"),
/**
* LN
*/
NET_LN_SERIAL(17, "LN系列产品"),
/**
* BAV
*/
NET_BAV_SERIAL(18, "BAV系列产品"),
/**
* SDIP
*/
NET_SDIP_SERIAL(19, "SDIP系列产品"),
/**
* IPC
*/
NET_IPC_SERIAL(20, "IPC系列产品"),
/**
* NVS B
*/
NET_NVS_B(21, "NVS B系列"),
/**
* NVS H
*/
NET_NVS_C(22, "NVS H系列"),
/**
* NVS S
*/
NET_NVS_S(23, "NVS S系列"),
/**
* NVS E
*/
NET_NVS_E(24, "NVS E系列"),
/**
* QueryDevState,
*/
NET_DVR_NEW_PROTOCOL(25, "从QueryDevState中查询设备类型,以字符串格式"),
/**
*
*/
NET_NVD_SERIAL(26, "解码器"),
/**
* N5
*/
NET_DVR_N5(27, "N5"),
/**
* DVR
*/
NET_DVR_MIX_DVR(28, "混合DVR"),
/**
* SVR
*/
NET_SVR_SERIAL(29, "SVR系列"),
/**
* SVR-BS
*/
NET_SVR_BS(30, "SVR-BS"),
/**
* NVR
*/
NET_NVR_SERIAL(31, "NVR系列"),
/**
* N51
*/
NET_DVR_N51(32, "N51"),
/**
* ITSE
*/
NET_ITSE_SERIAL(33, "ITSE 智能分析盒"),
/**
*
*/
NET_ITC_SERIAL(34, "智能交通像机设备"),
/**
* HWS
*/
NET_HWS_SERIAL(35, "雷达测速仪HWS"),
/**
* 便
*/
NET_PVR_SERIAL(36, "便携式音视频录像机"),
/**
* IVS
*/
NET_IVS_SERIAL(37, "IVS智能视频服务器系列"),
/**
*
*/
NET_IVS_B(38, "通用智能视频侦测服务器"),
/**
*
*/
NET_IVS_F(39, "人脸识别服务器"),
/**
*
*/
NET_IVS_V(40, "视频质量诊断服务器"),
/**
*
*/
NET_MATRIX_SERIAL(41, "矩阵"),
/**
* N52
*/
NET_DVR_N52(42, "N52"),
/**
* N56
*/
NET_DVR_N56(43, "N56"),
/**
* ESS
*/
NET_ESS_SERIAL(44, "ESS"),
/**
*
*/
NET_IVS_PC(45, "人数统计服务器"),
/**
* pc-nvr
*/
NET_PC_NVR(46, "pc-nvr"),
/**
*
*/
NET_DSCON(47, "大屏控制器"),
/**
*
*/
NET_EVS(48, "网络视频存储服务器"),
/**
*
*/
NET_EIVS(49, "嵌入式智能分析视频系统"),
/**
* DVR-N6
*/
NET_DVR_N6(50, "DVR-N6"),
/**
*
*/
NET_UDS(51, "万能解码器"),
/**
*
*/
NET_AF6016(52, "银行报警主机"),
/**
*
*/
NET_AS5008(53, "视频网络报警主机"),
/**
*
*/
NET_AH2008(54, "网络报警主机"),
/**
*
*/
NET_A_SERIAL(55, "报警主机系列"),
/**
*
*/
NET_BSC_SERIAL(56, "门禁系列产品"),
/**
* NVS
*/
NET_NVS_SERIAL(57, "NVS系列产品"),
/**
* VTO
*/
NET_VTO_SERIAL(58, "VTO系列产品"),
/**
* VTNC
*/
NET_VTNC_SERIAL(59, "VTNC系列产品"),
/**
* TPC()
*/
NET_TPC_SERIAL(60, "TPC系列产品(热成像设备)"),
/**
* 线
*/
NET_ASM_SERIAL(61, "无线中继设备"),
/**
*
*/
NET_VTS_SERIAL(62, "管理机");
private EMDeviceType(int type, String desc) {
this.type = type;
this.desc = desc;
}
private int type;
private String desc;
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static EMDeviceType getEMDeviceType(int type) {
for (EMDeviceType deviceType : EMDeviceType.values()) {
if (deviceType.getType() == type) {
return deviceType;
}
}
return null;
}
}

@ -1,64 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47040
* @since Created in 2020/11/18 14:40
*/
public enum EM_ACROSS_PARKING {
/**
*
*/
EM_ACROSS_PARKING_UNKNOWN(0, "未知"),
/**
*
*/
EM_ACROSS_PARKING_NO(1, "未跨位"),
/**
*
*/
EM_ACROSS_PARKING_YES(2, "跨位");
private int value;
private String note;
EM_ACROSS_PARKING(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_ACROSS_PARKING enumType : EM_ACROSS_PARKING.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_ACROSS_PARKING enumType : EM_ACROSS_PARKING.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_ACROSS_PARKING getEnum(int value) {
for (EM_ACROSS_PARKING e : EM_ACROSS_PARKING.values()) {
if (e.getValue() == value)
return e;
}
return EM_ACROSS_PARKING.EM_ACROSS_PARKING_UNKNOWN;
}
}

@ -1,25 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/22
*/
public enum EM_ALARMOUT_POLE {
/** 未知 */
EM_ALARMOUT_POLE_UNKNOWN,
/** 低电平有效 */
EM_ALARMOUT_POLE_LOW,
/** 高电平有效 */
EM_ALARMOUT_POLE_HIGH;
public static EM_ALARMOUT_POLE getAlarmOutPole(int pole) {
for (EM_ALARMOUT_POLE alarmOutPole : EM_ALARMOUT_POLE.values()) {
if (alarmOutPole.ordinal() == pole) {
return alarmOutPole;
}
}
return EM_ALARMOUT_POLE_UNKNOWN;
}
}

@ -1,27 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/20
*/
public enum EM_ALGORITHM_PARTITION_TYPE {
/** 未知 */
EM_ALGORITHM_PARTITION_UNKNOWN,
/** ext4分区 */
EM_ALGORITHM_PARTITION_EXT4,
/** suqshfs分区 */
EM_ALGORITHM_PARTITION_SUQSHFS,
/** ubifs分区 */
EM_ALGORITHM_PARTITION_UBIFS;
public static EM_ALGORITHM_PARTITION_TYPE getAlgorithmPartitionType(int type) {
for (EM_ALGORITHM_PARTITION_TYPE partitionType : EM_ALGORITHM_PARTITION_TYPE.values()) {
if (partitionType.ordinal() == type) {
return partitionType;
}
}
return EM_ALGORITHM_PARTITION_UNKNOWN;
}
}

@ -1,48 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/7
*/
public enum EM_ASG_WORK_MODE {
/** 未知 */
EM_ASG_WORK_MODE_UNKNOWN(-1, "未知"),
/** 常闭模式 */
EM_ASG_WORK_MODE_CLOSE(0, "常闭模式"),
EM_ASG_WORK_MODE_OPEN(1, "常开模式");
private int mode;
private String desc;
EM_ASG_WORK_MODE(int mode, String desc) {
this.mode = mode;
this.desc = desc;
}
public static EM_ASG_WORK_MODE getAsgWorkMode(int mode) {
for (EM_ASG_WORK_MODE workMode : EM_ASG_WORK_MODE.values()) {
if (workMode.mode == mode) {
return workMode;
}
}
return EM_ASG_WORK_MODE_UNKNOWN;
}
public int getMode() {
return mode;
}
public void setMode(int mode) {
this.mode = mode;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}

@ -1,54 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @description
* @date 2021/01/06
*/
public enum EM_AUDIO_DATA_SOURCE_TYPE {
// 未知数据类型
EM_AUDIO_DATA_SOURCE_TYPE_UNKNOWN(-1, "未知数据类型"),
// 对讲数据
EM_AUDIO_DATA_SOURCE_TYPE_TALK(0, "对讲数据"),
// 普通音频数据,如伴音
EM_AUDIO_DATA_SOURCE_TYPE_NORMAL(1, "普通音频数据,如伴音"),
// 报警音频数据流
EM_AUDIO_DATA_SOURCE_TYPE_ALARM(2, "报警音频数据流");
private int value;
private String note;
private EM_AUDIO_DATA_SOURCE_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_AUDIO_DATA_SOURCE_TYPE enumType : EM_AUDIO_DATA_SOURCE_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_AUDIO_DATA_SOURCE_TYPE enumType : EM_AUDIO_DATA_SOURCE_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -2;
}
}

@ -1,29 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/22
*/
public enum EM_AUDIO_DATA_TYPE {
/** 默认 */
EM_AUDIO_DATA_TYPE_DEFAULT,
/** 音频强制转换为AAC */
EM_AUDIO_DATA_TYPE_AAC,
/** 音频强制转换为G711A */
EM_AUDIO_DATA_TYPE_G711A,
/** 音频强制转换为G711U */
EM_AUDIO_DATA_TYPE_G711U,
/** 音频强制转换为MP2 */
EM_AUDIO_DATA_TYPE_MP2;
public static EM_AUDIO_DATA_TYPE getAudioDataType(int type) {
for (EM_AUDIO_DATA_TYPE audioType : EM_AUDIO_DATA_TYPE.values()) {
if (audioType.ordinal() == type) {
return audioType;
}
}
return EM_AUDIO_DATA_TYPE_DEFAULT;
}
}

@ -1,43 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
public enum EM_BATTERY_EXIST_STATE {
EM_BATTERY_EXIST_STATE_UNKNOWN(0, "电池在位未知"),
EM_BATTERY_EXIST_STATE_EXIST(1, "电池在位"), // 电池在位
EM_BATTERY_EXIST_STATE_MISSING(2, "电池丢失"); // 电池丢失
private int value;
private String note;
private EM_BATTERY_EXIST_STATE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_BATTERY_EXIST_STATE enumType : EM_BATTERY_EXIST_STATE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_BATTERY_EXIST_STATE enumType : EM_BATTERY_EXIST_STATE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,41 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
public enum EM_BATTERY_STATE {
EM_BATTERY_STATE_UNKNOWN(0, "电量未知"),
EM_BATTERY_STATE_NORMAL(1, "电量正常"), // 电量正常
EM_BATTERY_STATE_LOW(2, "电量低"); // 电量低
private int value;
private String note;
private EM_BATTERY_STATE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_BATTERY_STATE enumType : EM_BATTERY_STATE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_BATTERY_STATE enumType : EM_BATTERY_STATE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,57 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @description
* @date 2021/01/11
*/
public enum EM_CALIBRATEAREA_TYPE {
// 错误
EM_CALIBRATEAREA_TYPE_ERR(0, "err"),
//地面需要N条竖直线段+M条水平线段N=3M=1N=2M=2今后扩展
EM_CALIBRATEAREA_TYPE_GROUD(1, "Groud"),
//水平面,需要水平面上一点到地面点的投影垂直线段
EM_CALIBRATEAREA_TYPE_HORIZONTAL(2, "Horizontal"),
//垂直面,需要垂直面与地面的交线
EM_CALIBRATEAREA_TYPE_VERTICAL(3, "Vertical"),
//任意平面N条竖直线段及每条长度N=3及今后扩展
EM_CALIBRATEAREA_TYPE_ANY(4, "Any");
private int value;
private String note;
private EM_CALIBRATEAREA_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_CALIBRATEAREA_TYPE enumType : EM_CALIBRATEAREA_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_CALIBRATEAREA_TYPE enumType : EM_CALIBRATEAREA_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,51 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @version 1.0
* @description
* @date 2020/11/09
*/
public enum EM_CAMERA_CONNECT_STATE {
// 未知
EM_CAMERA_CONNECT_STATE_UNKNOWN(-1, "未知"),
// 北向南
EM_CAMERA_CONNECT_STATE_UNCONNECT(0, "未连接"),
// 东北向西南
EM_CAMERA_CONNECT_STATE_CONNECTED(1, "已连接");
private int value;
private String note;
private EM_CAMERA_CONNECT_STATE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_CAMERA_CONNECT_STATE enumType : EM_CAMERA_CONNECT_STATE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_CAMERA_CONNECT_STATE enumType : EM_CAMERA_CONNECT_STATE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -2;
}
}

@ -1,67 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* 使
*
* @author 47040
* @since Created in 2020/9/17 15:53
*/
public enum EM_CAN_START_STREAM {
/**
*
*/
EM_CAN_START_STREAM_UNKNOWN(-1, "未知"),
/**
*
*/
EM_CAN_START_STREAM_OFF(0, "不拉流"),
/**
*
*/
EM_CAN_START_STREAM_ON(1, "拉流");
private int value;
private String note;
EM_CAN_START_STREAM(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_CAN_START_STREAM enumType : EM_CAN_START_STREAM.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_CAN_START_STREAM enumType : EM_CAN_START_STREAM.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_CAN_START_STREAM getEnum(int value) {
for (EM_CAN_START_STREAM e : EM_CAN_START_STREAM.values()) {
if (e.getValue() == value)
return e;
}
return EM_CAN_START_STREAM.EM_CAN_START_STREAM_UNKNOWN;
}
}

@ -1,52 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
public enum EM_CAPTURE_PROCESS_END_TYPE {
/**
*
*/
EM_CAPTURE_PROCESS_END_TYPE_UNKNOWN(-1,"未知"),
/**
*
*/
EM_CAPTURE_PROCESS_END_TYPE_ABNORMAL(0,"异常"),
/**
*
*/
EM_CAPTURE_PROCESS_END_TYPE_NORMAL(1,"正常");
private int value;
private String note;
private EM_CAPTURE_PROCESS_END_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_CAPTURE_PROCESS_END_TYPE enumType : EM_CAPTURE_PROCESS_END_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_CAPTURE_PROCESS_END_TYPE enumType : EM_CAPTURE_PROCESS_END_TYPE.values()) {
if (givenNote.equals(enumType.getNote()) ) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,35 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* ,QueryNewSystemInfo
*/
public enum EM_CFG_CAP_CMD {
/**
* ( CFG_CAP_TRAFFIC_DEVICE_STATUS)
*/
CFG_CAP_CMD_DEVICE_STATE("trafficSnap.getDeviceStatus"),
/**
* , ( CFG_CAP_RECORDFINDER_INFO)
*/
CFG_CAP_CMD_RECORDFINDER("RecordFinder.getCaps"),
/**
*(CFG_VIDEODIAGNOSIS_STATE_INFO)
*/
CFG_CMD_VIDEODIAGNOSIS_GETSTATE("videoDiagnosisServer.getState"),
/**
* (CFG_CAP_PTZ_ENABLEINFO)
*/
CFG_CAP_CMD_PTZ_ENABLE("ptz.factory.instance");
/**
* ,CFG_CAP_ACCESSCONTROL
*/
public static final String CFG_CAP_CMD_ACCESSCONTROLMANAGER="accessControlManager.getCaps";
private String cmd;
EM_CFG_CAP_CMD(String cmd){
this.cmd=cmd;
}
public String getCmd() {
return cmd;
}
}

@ -1,57 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/7
*/
public enum EM_CHANNEL_WIDTH {
/** 未知 */
EM_CHANNEL_WIDTH_UNKNOWN(-1, "未知"),
/** 600mm */
EM_CHANNEL_WIDTH_600(0, "600mm"),
/** 700mm */
EM_CHANNEL_WIDTH_700(1, "700mm"),
/** 800mm */
EM_CHANNEL_WIDTH_800(2, "800mm"),
/** 900mm */
EM_CHANNEL_WIDTH_900(3, "900mm"),
/** 1000mm */
EM_CHANNEL_WIDTH_1000(4, "1000mm"),
/** 1100mm */
EM_CHANNEL_WIDTH_1100(5, "1100mm"),
/** 1200mm */
EM_CHANNEL_WIDTH_1200(6, "1200mm");
private int emWidth;
private String desc;
EM_CHANNEL_WIDTH(int emWidth, String desc) {
this.emWidth = emWidth;
this.desc = desc;
}
public int getEmWidth() {
return emWidth;
}
public void setEmWidth(int emWidth) {
this.emWidth = emWidth;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static EM_CHANNEL_WIDTH getChannelWidth(int emWidth){
for (EM_CHANNEL_WIDTH channelWidth :EM_CHANNEL_WIDTH.values() ) {
if(channelWidth.emWidth==emWidth){
return channelWidth;
}
}
return EM_CHANNEL_WIDTH_UNKNOWN;
}
}

@ -1,28 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/22
*/
public enum EM_COLLECTIVITY_STATE {
/** 成功 */
EM_COLLECTIVITY_STATE_SUCCESSED,
/** 失败 */
EM_COLLECTIVITY_STATE_FAILED;
/**
* failed
* @param state
* @return
*/
public EM_COLLECTIVITY_STATE getCollectivityState(int state) {
for (EM_COLLECTIVITY_STATE collectivityState : EM_COLLECTIVITY_STATE.values()) {
if (collectivityState.ordinal() == state) {
return collectivityState;
}
}
return EM_COLLECTIVITY_STATE_FAILED;
}
}

@ -1,41 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/7
*/
public enum EM_COLLISION_MODE {
/** 未知 */
EM_COLLISION_MODE_UNKNOWN(-1, "未知"),
/** 2s松开离合 */
EM_COLLISION_MODE_2S(0, "2s松开离合"),
/** 5s松开离合 */
EM_COLLISION_MODE_5S(1, "5s松开离合"),
/** 人员离开松开离合 */
EM_COLLISION_MODE_LEAVING(2, "人员离开松开离合");
private int mode;
private String desc;
EM_COLLISION_MODE(int mode, String desc) {
this.mode = mode;
this.desc = desc;
}
public int getMode() {
return mode;
}
public void setMode(int mode) {
this.mode = mode;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}

@ -1,68 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47040
* @since Created in 2020/9/27 15:32
*/
public enum EM_COMPOSIT_CHANNEL_BIND_MODE {
/**
*
*/
EM_COMPOSIT_CHANNEL_BIND_MODE_UNKNOWN(0, "未知"),
/**
*
*/
EM_COMPOSIT_CHANNEL_BIND_MODE_AUTOMATIC(1, "自动"),
/**
*
*/
EM_COMPOSIT_CHANNEL_BIND_MODE_SEMIAUTOMATIC(2, "半自动"),
/**
*
*/
EM_COMPOSIT_CHANNEL_BIND_MODE_MANUAL(3, "手动");
private int value;
private String note;
EM_COMPOSIT_CHANNEL_BIND_MODE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_COMPOSIT_CHANNEL_BIND_MODE enumType : EM_COMPOSIT_CHANNEL_BIND_MODE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_COMPOSIT_CHANNEL_BIND_MODE enumType : EM_COMPOSIT_CHANNEL_BIND_MODE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_COMPOSIT_CHANNEL_BIND_MODE getEnum(int value) {
for (EM_COMPOSIT_CHANNEL_BIND_MODE e : EM_COMPOSIT_CHANNEL_BIND_MODE.values()) {
if (e.getValue() == value)
return e;
}
return EM_COMPOSIT_CHANNEL_BIND_MODE.EM_COMPOSIT_CHANNEL_BIND_MODE_UNKNOWN;
}
}

@ -1,84 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
import com.zhehekeji.web.lib.joyware.structure.*;
/**
*
*
* @author 47040
* @since Created in 2020/9/28 19:49
*/
public enum EM_COURSECOMPOSITE_OPERATE_TYPE {
/**
*
* pInParam = {@link NET_IN_COURSECOMPOSITE_LOCK_CONTROL}
* pOutParam = {@link NET_OUT_COURSECOMPOSITE_LOCK_CONTROL}
*/
EM_COURSECOMPOSITE_TYPE_LOCK_CONTROL(0, "控制组合通道与逻辑通道"),
/**
*
* pInParam = {@link NET_IN_COURSECOMPOSITE_GET_LOCKINFO}
* pOutParam = {@link NET_OUT_COURSECOMPOSITE_GET_LOCKINFO}
*/
EM_COURSECOMPOSITE_TYPE_GET_LOCKINFO(1, "获取组合通道与逻辑通道的锁定信息"),
/**
* ,
* pInParam = {@link NET_IN_COURSECOMPOSITE_GET_INFO}
* pOutParam = {@link NET_OUT_COURSECOMPOSITE_GET_INFO}
*/
EM_COURSECOMPOSITE_TYPE_GET_INFO(2, "获取组合通道信息"),
/**
* ,
* pInParam = {@link NET_IN_COURSECOMPOSITE_SET_INFO}
* pOutParam = {@link NET_OUT_COURSECOMPOSITE_SET_INFO}
*/
EM_COURSECOMPOSITE_TYPE_SET_INFO(3, "设置组合通道信息"),
/**
* time
* pInParam = {@link NET_IN_COURSECOMPOSITE_UPDATE_INFO}
* pOutParam = {@link NET_OUT_COURSECOMPOSITE_UPDATE_INFO}
*/
EM_COURSECOMPOSITE_TYPE_UPDATE_INFO(4, "将组合通道信息更新到time时的信息");
private int value;
private String note;
EM_COURSECOMPOSITE_OPERATE_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_COURSECOMPOSITE_OPERATE_TYPE enumType : EM_COURSECOMPOSITE_OPERATE_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_COURSECOMPOSITE_OPERATE_TYPE enumType : EM_COURSECOMPOSITE_OPERATE_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_COURSECOMPOSITE_OPERATE_TYPE getEnum(int value) {
for (EM_COURSECOMPOSITE_OPERATE_TYPE e : EM_COURSECOMPOSITE_OPERATE_TYPE.values()) {
if (e.getValue() == value)
return e;
}
return EM_COURSECOMPOSITE_OPERATE_TYPE.EM_COURSECOMPOSITE_TYPE_LOCK_CONTROL;
}
}

@ -1,78 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
import com.zhehekeji.web.lib.joyware.structure.*;
/**
*
*
* @author 47040
* @since Created in 2020/9/28 19:17
*/
public enum EM_COURSERECORD_OPERATE_TYPE {
/**
* ,
* pInParam = {@link NET_IN_COURSERECORD_GETINFO}
* pOutParam = {@link NET_OUT_COURSERECORD_GETINFO}
*/
EM_COURSERECORDE_TYPE_GET_INFO(0, "获取教室录像信息"),
/**
* ,
* pInParam = {@link NET_IN_COURSERECORD_SETINFO}
* pOutParam = {@link NET_OUT_COURSERECORD_SETINFO}
*/
EM_COURSERECORDE_TYPE_SET_INFO(1, "设置教室录像信息"),
/**
* time,
* pInParam = {@link NET_IN_COURSERECORD_UPDATE_INFO}
* pOutParam = {@link NET_OUT_COURSERECORD_UPDATE_INFO}
*/
EM_COURSERECORDE_TYPE_UPDATE_INFO(2, "将录像信息更新到time时的信息"),
/**
* ,
* pInParam = {@link NET_IN_COURSERECORD_GET_TIME}
* pOutParam = {@link NET_OUT_COURSERECORD_GET_TIME}
*/
EM_COURSERECORDE_TYPE_GET_TIME(3, "获取当前课程教室已录制时间");
private int value;
private String note;
EM_COURSERECORD_OPERATE_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_COURSERECORD_OPERATE_TYPE enumType : EM_COURSERECORD_OPERATE_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_COURSERECORD_OPERATE_TYPE enumType : EM_COURSERECORD_OPERATE_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_COURSERECORD_OPERATE_TYPE getEnum(int value) {
for (EM_COURSERECORD_OPERATE_TYPE e : EM_COURSERECORD_OPERATE_TYPE.values()) {
if (e.getValue() == value)
return e;
}
return EM_COURSERECORD_OPERATE_TYPE.EM_COURSERECORDE_TYPE_GET_INFO;
}
}

@ -1,69 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47040
* @since Created in 2020/9/28 16:27
*/
public enum EM_COURSE_LOCK_TYPE {
/**
*
*/
EM_COURSE_LOCK_TYPE_UNKNOWN(-1, "未知"),
/**
*
*/
EM_COURSE_LOCK_TYPE_ALL(0, "全部类型"),
/**
*
*/
EM_COURSE_LOCK_TYPE_NON_LOCKING(1, "非锁定类型"),
/**
*
*/
EM_COURSE_LOCK_TYPE_LOCK(2, "锁定类型");
private int value;
private String note;
EM_COURSE_LOCK_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_COURSE_LOCK_TYPE enumType : EM_COURSE_LOCK_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_COURSE_LOCK_TYPE enumType : EM_COURSE_LOCK_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_COURSE_LOCK_TYPE getEnum(int value) {
for (EM_COURSE_LOCK_TYPE e : EM_COURSE_LOCK_TYPE.values()) {
if (e.getValue() == value)
return e;
}
return EM_COURSE_LOCK_TYPE.EM_COURSE_LOCK_TYPE_UNKNOWN;
}
}

@ -1,64 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47040
* @since Created in 2020/9/28 16:55
*/
public enum EM_COURSE_RECORD_COMPRESSION_TYPE {
/**
*
*/
EM_COURSE_RECORD_COMPRESSION_TYPE_UNKNOWN(0, "未知"),
/**
* H.264
*/
EM_COURSE_RECORD_COMPRESSION_TYPE_H264(1, "H.264 默认值"),
/**
* H.265
*/
EM_COURSE_RECORD_COMPRESSION_TYPE_H265(2, "H.265");
private int value;
private String note;
EM_COURSE_RECORD_COMPRESSION_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_COURSE_RECORD_COMPRESSION_TYPE enumType : EM_COURSE_RECORD_COMPRESSION_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_COURSE_RECORD_COMPRESSION_TYPE enumType : EM_COURSE_RECORD_COMPRESSION_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_COURSE_RECORD_COMPRESSION_TYPE getEnum(int value) {
for (EM_COURSE_RECORD_COMPRESSION_TYPE e : EM_COURSE_RECORD_COMPRESSION_TYPE.values()) {
if (e.getValue() == value)
return e;
}
return EM_COURSE_RECORD_COMPRESSION_TYPE.EM_COURSE_RECORD_COMPRESSION_TYPE_UNKNOWN;
}
}

@ -1,71 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47040
* @since Created in 2020/9/28 16:31
*/
public enum EM_COURSE_RECORD_TYPE {
/**
*
*/
EM_COURSE_RECORD_TYPE_UNKNOWN(-1, "未知"),
/**
*
*/
EM_COURSE_RECORD_TYPE_ALL(0, "全部录像类型"),
/**
*
*/
EM_COURSE_RECORD_TYPE_GUIDED_BROADCAST(1, "导播录像类型"),
/**
*
*/
EM_COURSE_RECORD_TYPE_GUIDED_INTERACTION(2, "互动录像类型");
private int value;
private String note;
EM_COURSE_RECORD_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_COURSE_RECORD_TYPE enumType : EM_COURSE_RECORD_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_COURSE_RECORD_TYPE enumType : EM_COURSE_RECORD_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_COURSE_RECORD_TYPE getEnum(int value) {
for (EM_COURSE_RECORD_TYPE e : EM_COURSE_RECORD_TYPE.values()) {
if (e.getValue() == value)
return e;
}
return EM_COURSE_RECORD_TYPE.EM_COURSE_RECORD_TYPE_UNKNOWN;
}
}

@ -1,60 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47040
* @since Created in 2020/9/17 16:00
*/
public enum EM_COURSE_STATE {
/**
*
*/
EM_COURSE_STATE_UNKNOWN(0, "未知"),
/**
*
*/
EM_COURSE_STATE_NOT_RECORD(1, "未录制"),
/**
*
*/
EM_COURSE_STATE_IN_RECORDING(2, "录制中"),
/**
*
*/
EM_COURSE_STATE_ALREADY_RECORDED(3, "已录制");
private int value;
private String note;
EM_COURSE_STATE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_COURSE_STATE enumType : EM_COURSE_STATE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_COURSE_STATE enumType : EM_COURSE_STATE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,43 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
public enum EM_CURRENT_STATE_TYPE {
EM_CURRENT_STATE_UNKNOWN(0, "电流状态未知"),
EM_CURRENT_STATE_OVER_CURRENT(1, "电流过载"), // 电流过载
EM_CURRENT_STATE_NORMAL(2, "电流正常"), // 电流正常
EM_CURRENT_STATE_UNDER_CURRENT(3, "电源欠流"); // 电源欠流
private int value;
private String note;
private EM_CURRENT_STATE_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_CURRENT_STATE_TYPE enumType : EM_CURRENT_STATE_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_CURRENT_STATE_TYPE enumType : EM_CURRENT_STATE_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,79 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47040
* @since Created in 2020/8/13 9:54
*/
public enum EM_CUSTOM_DEV_PROTOCOL_TYPE {
/**
* Private
*/
EM_CUSTOM_DEV_PROTOCOL_TYPE_PRIVATE(0, "Private"),
/**
* Dahua2
*/
EM_CUSTOM_DEV_PROTOCOL_TYPE_DAHUA2(1, "Dahua2"),
/**
* Dahua3
*/
EM_CUSTOM_DEV_PROTOCOL_TYPE_DAHUA3(2, "Dahua3"),
/**
* URL
*/
EM_CUSTOM_DEV_PROTOCOL_TYPE_GENERAL(3, "以URL形式添加的设备"),
/**
* Onvif
*/
EM_CUSTOM_DEV_PROTOCOL_TYPE_ONVIF(4, "Onvif接入"),
/**
* Onvif
*/
EM_CUSTOM_DEV_PROTOCOL_TYPE_ONVIFS(5, "Onvif加密形式接入"),
/**
* 28181
*/
EM_CUSTOM_DEV_PROTOCOL_TYPE_GB28181(6, "国标28181接入"),
/**
* Ehome
*/
EM_CUSTOM_DEV_PROTOCOL_TYPE_EHOME(7, "海康Ehome协议"),
/**
*
*/
EM_CUSTOM_DEV_PROTOCOL_TYPE_DAHUA_REG(8, "主动注册");
private int value;
private String note;
private EM_CUSTOM_DEV_PROTOCOL_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_CUSTOM_DEV_PROTOCOL_TYPE enumType : EM_CUSTOM_DEV_PROTOCOL_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_CUSTOM_DEV_PROTOCOL_TYPE enumType : EM_CUSTOM_DEV_PROTOCOL_TYPE.values()) {
if (givenNote.equals(enumType.getNote()) ) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,78 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/20
*/
public enum EM_CUSTOM_EDUCATION_VOICE_TYPE {
/** 未知 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_UNKNOWN,
/** 超时出校 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_LEAVE_SCHOOL_TIMEOUT,
/** 超时进校 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_ENTER_SCHOOL_TIMEOUT,
/** 出校 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_LEAVE_SCHOOL,
/** 此卡未绑定 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_CARD_NOT_BIND,
/** 寄宿生 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_BOARDER,
/** 家长卡已挂失 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_PARENT_CARD_REPORT_LOST,
/** 进校已过期 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_ENTER_SCHOOL_OVERDUE,
/** 您有包裹待领取 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_PACKAGE_TO_PICKUP,
/** 请假 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_ASKFORLEAVE,
/** 请假返校超时 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_RETURN_SCHOOL_TIMEOUT_WHEN_ASKFORLEAVE,
/** 请假进出校时间未到 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_INANDOUT_SCHOOL_TIMENOTUP_WHEN_ASKFORLEAVE,
/** 请假拒绝出校 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_REFUSE_LEAVE_SCHOOL_WHEN_ASKFORLEAVE,
/** 请假拒绝进校 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_REFUSE_ENTER_SCHOOL_WHEN_ASKFORLEAVE,
/** 请假审核中 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_ASKFORLEAVE_IN_REVIEW,
/** 请假已过期 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_ASKFORLEAVE_EXPIRED,
/** 请假已批准 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_ASKFORLEAVE_APPROVED,
/** 请假已失效禁止重复出校 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_FORBID_LEAVE_SCHOOL_WITH_LEAVE_INVALID,
/** 时间未到 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_TIME_ISNOT_UP,
/** 未预约 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_NOT_APPOINT,
/** 未在允许时段内禁止通行 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_NO_PASSAGE_IN_NONPERMIT_TIMESECTION,
/** 无效卡 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_INVALID_CARD,
/** 已预约 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_ALREADY_APPOINTED,
/** 允许返校 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_ALLOW_BACK_SCHOOL,
/** 再见 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_GOODBYE,
/** 正常进校 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_ENTER_SCHOOL_NORMALLY,
/** 重复出校 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_REPEAT_LEAVE_SCHOOLL,
/** 重复进校 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_REPEAT_ENTER_SCHOOLL,
/** 走读生 */
EM_CUSTOM_EDUCATION_VOICE_TYPE_DAY_STUDENT;
public static EM_CUSTOM_EDUCATION_VOICE_TYPE getEducationVoiceType(int type) {
for (EM_CUSTOM_EDUCATION_VOICE_TYPE educationVoiceType :
EM_CUSTOM_EDUCATION_VOICE_TYPE.values()) {
if (educationVoiceType.ordinal() == type) {
return educationVoiceType;
}
}
return EM_CUSTOM_EDUCATION_VOICE_TYPE_UNKNOWN;
}
}

@ -1,19 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* AccessControlCustomPassword
*/
public enum EM_CUSTOM_PASSWORD_ENCRYPTION_MODE {
/**
*
*/
EM_CUSTOM_PASSWORD_ENCRYPTION_MODE_UNKNOWN,
/**
*
*/
EM_CUSTOM_PASSWORD_ENCRYPTION_MODE_PLAINTEXT,
/**
* MD5
*/
EM_CUSTOM_PASSWORD_ENCRYPTION_MODE_MD5,
}

@ -1,52 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
/**
* @author 47081
* @version 1.0
* @description
* @date 2020/10/19
*/
public enum EM_DATA_SOURCE_TYPE {
/**
* {@link NetSDKLib.NET_REMOTE_REALTIME_STREAM_INFO}
*/
EM_DATA_SOURCE_REMOTE_REALTIME_STREAM(1, "远程实时流"),
/**
* {@link NetSDKLib.NET_PUSH_PICFILE_INFO}
*/
EM_DATA_SOURCE_PUSH_PICFILE(2, "主动推送图片文件");
private int type;
private String des;
private EM_DATA_SOURCE_TYPE(int type, String des) {
this.type = type;
this.des = des;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getDes() {
return des;
}
public void setDes(String des) {
this.des = des;
}
public static EM_DATA_SOURCE_TYPE getDataSourceType(int type) {
for (EM_DATA_SOURCE_TYPE source : EM_DATA_SOURCE_TYPE.values()) {
if (type == source.getType()) {
return source;
}
}
return null;
}
}

@ -1,48 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2020/9/14
*/
public enum EM_DELIVERY_FILE_TYPE {
/**
*
*/
EM_DELIVERY_FILE_TYPE_UNKNOWN(0,"未知"),
/**
*
*/
EM_DELIVERY_FILE_TYPE_VIDEO(1,"视频"),
/**
*
*/
EM_DELIVERY_FILE_TYPE_IMAGE(2,"图片"),
/**
*
*/
EM_DELIVERY_FILE_TYPE_AUDIO(3,"音频");
private int type;
private String desc;
private EM_DELIVERY_FILE_TYPE(int type,String desc){
this.type=type;
this.desc=desc;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}

@ -1,76 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47040
* @since Created in 2020/12/17 13:45
*/
public enum EM_DETECT_SENSOR_TYPE {
/**
*
*/
EM_DETECT_SENSOR_TYPE_UNKNOWN(0, "未知"),
/**
* 线
*/
EM_DETECT_SENSOR_TYPE_COIL(1, "线圈"),
/**
*
*/
EM_DETECT_SENSOR_TYPE_VIDEO(2, "视频"),
/**
*
*/
EM_DETECT_SENSOR_TYPE_RADAR(3, "雷达"),
/**
* 5G
*/
EM_DETECT_SENSOR_TYPE_5G(4, "5G"),
/**
*
*/
EM_DETECT_SENSOR_TYPE_FUSION(5, "融合");
private final int value;
private final String note;
EM_DETECT_SENSOR_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_DETECT_SENSOR_TYPE enumType : EM_DETECT_SENSOR_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_DETECT_SENSOR_TYPE enumType : EM_DETECT_SENSOR_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_DETECT_SENSOR_TYPE getEnum(int value) {
for (EM_DETECT_SENSOR_TYPE e : EM_DETECT_SENSOR_TYPE.values()) {
if (e.getValue() == value)
return e;
}
return EM_DETECT_SENSOR_TYPE.EM_DETECT_SENSOR_TYPE_UNKNOWN;
}
}

@ -1,27 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* classNameEM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE
* description
* ,&
*
* author251589
* createTime2020/12/29 14:04
*
* @version v1.0
*/
public class EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE {
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_UNKNOWN = 0; // 未知
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_FACE_DETECTION = 1; // 人脸检测
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_FACE_ANALYSIS = 2; // 人脸分析
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_FACE_ATTRIBUTE = 3; // 人脸属性
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_FACE_COMPARE = 4; // 人脸比对
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_NORMAL = 5; // 智能通用行为分析
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_OBJECT_DETECT = 6; // 智能 视频结构化
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_SMART_MOTION = 7; // 动检,对应的结构体 NET_CFG_SMART_MOTION_DETECT
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_ENCODE_ENHANCE = 8; // 编码增强
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_ONE_KEY_EXPAND = 9; // 一键扩展
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_NUMBER_STAT = 10; // 人数统计
public static final int EM_DEV_VARIABLE_CARS_MANAGER_FUNC_TYPE_INTELLIGENT = 11; // 智能功能,表示所有智能功能
}

@ -1,48 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/7
*/
public enum EM_DIRECTION_AFTER_POWER_OFF {
/** 未知 */
EM_DIRECTION_AFTER_POWER_OFF_UNKNOWN(-1, "未知"),
/** 进门方向 */
EM_DIRECTION_AFTER_POWER_OFF_IN(0, "进门方向"),
/** 出门方向 */
EM_DIRECTION_AFTER_POWER_OFF_OUT(1, "出门方向");
private int mode;
private String desc;
EM_DIRECTION_AFTER_POWER_OFF(int mode, String desc) {
this.mode = mode;
this.desc = desc;
}
public static EM_DIRECTION_AFTER_POWER_OFF getEmDirectionAfterPowerOff(int mode) {
for (EM_DIRECTION_AFTER_POWER_OFF powerOff : EM_DIRECTION_AFTER_POWER_OFF.values()) {
if (powerOff.mode == mode) {
return powerOff;
}
}
return EM_DIRECTION_AFTER_POWER_OFF_UNKNOWN;
}
public int getMode() {
return mode;
}
public void setMode(int mode) {
this.mode = mode;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}

@ -1,27 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/22
*/
public enum EM_DISK_STATE {
/** 未知 */
EM_DISK_STATE_UNKNOWN,
/** 已放磁盘 */
EM_DISK_STATE_EXIST,
/** 未放磁盘 */
EM_DISK_STATE_NO_EXIST,
/** 需要换盘 */
EM_DISK_STATE_NEED_CHANGE;
public static EM_DISK_STATE getDiskState(int state) {
for (EM_DISK_STATE diskState : EM_DISK_STATE.values()) {
if (diskState.ordinal() == state) {
return diskState;
}
}
return EM_DISK_STATE_UNKNOWN;
}
}

@ -1,53 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @description
* @date 2021/01/11
*/
public enum EM_DISPLAY_CAMERA_ANGLE_TYPE {
// 未知的显示方式
EM_DISPLAY_CAMERA_ANGLE_UNKNOWN(0, "未知的显示方式"),
// 按角度值配置(默认)
EM_DISPLAY_CAMERA_ANGLE_NUM(1, "按角度值配置"),
// 按模式配置0~20展示为顶装,21~90展示为斜装配置时按60下发
EM_DISPLAY_CAMERA_ANGLE_MODE(2, "按模式配置");
private int value;
private String note;
private EM_DISPLAY_CAMERA_ANGLE_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_DISPLAY_CAMERA_ANGLE_TYPE enumType : EM_DISPLAY_CAMERA_ANGLE_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_DISPLAY_CAMERA_ANGLE_TYPE enumType : EM_DISPLAY_CAMERA_ANGLE_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,56 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47040
* @since Created in 2020/12/28 16:03
*/
public enum EM_DOWNLOAD_DATA_TYPE {
EM_DOWNLOAD_DATA_RECORD(0, "录像"),
EM_DOWNLOAD_DATA_PICTURE(1, "图片");
private final int value;
private final String note;
EM_DOWNLOAD_DATA_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_DOWNLOAD_DATA_TYPE enumType : EM_DOWNLOAD_DATA_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_DOWNLOAD_DATA_TYPE enumType : EM_DOWNLOAD_DATA_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_DOWNLOAD_DATA_TYPE getEnum(int value) {
for (EM_DOWNLOAD_DATA_TYPE e : EM_DOWNLOAD_DATA_TYPE.values()) {
if (e.getValue() == value)
return e;
}
return EM_DOWNLOAD_DATA_TYPE.EM_DOWNLOAD_DATA_RECORD;
}
}

@ -1,56 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47040
* @since Created in 2020/12/28 15:25
*/
public enum EM_DOWNLOAD_FILE_TYPE {
EM_DOWNLOAD_BY_FILENAME(0,"按文件名下载"),
EM_DOWNLOAD_BY_CONDITION(1,"按条件下载");
private final int value;
private final String note;
EM_DOWNLOAD_FILE_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_DOWNLOAD_FILE_TYPE enumType : EM_DOWNLOAD_FILE_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_DOWNLOAD_FILE_TYPE enumType : EM_DOWNLOAD_FILE_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_DOWNLOAD_FILE_TYPE getEnum(int value) {
for (EM_DOWNLOAD_FILE_TYPE e : EM_DOWNLOAD_FILE_TYPE.values()) {
if (e.getValue() == value)
return e;
}
return EM_DOWNLOAD_FILE_TYPE.EM_DOWNLOAD_BY_FILENAME;
}
}

@ -1,56 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*
* @author 47040
* @since Created in 2020/12/28 15:58
*/
public enum EM_DOWNLOAD_TIME_TYPE {
EM_DOWNLOAD_TIME_SNAP(0, "抓拍时间"),
EM_DOWNLOAD_TIME_STORAGE(1, "存储时间");
private final int value;
private final String note;
EM_DOWNLOAD_TIME_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_DOWNLOAD_TIME_TYPE enumType : EM_DOWNLOAD_TIME_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_DOWNLOAD_TIME_TYPE enumType : EM_DOWNLOAD_TIME_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
public static EM_DOWNLOAD_TIME_TYPE getEnum(int value) {
for (EM_DOWNLOAD_TIME_TYPE e : EM_DOWNLOAD_TIME_TYPE.values()) {
if (e.getValue() == value)
return e;
}
return EM_DOWNLOAD_TIME_TYPE.EM_DOWNLOAD_TIME_SNAP;
}
}

@ -1,51 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
public enum EM_DRIVING_DIRECTION {
/**
*
*/
EM_DRIVING_DIRECTION_UNKNOWN(0,"未知"),
/**
*
*/
EM_DRIVING_DIRECTION_IN(1,"驶入"),
/**
*
*/
EM_DRIVING_DIRECTION_OUT(2,"驶出");
private int value;
private String note;
private EM_DRIVING_DIRECTION(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_DRIVING_DIRECTION enumType : EM_DRIVING_DIRECTION.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_DRIVING_DIRECTION enumType : EM_DRIVING_DIRECTION.values()) {
if (givenNote.equals(enumType.getNote()) ) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,38 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 47081
* @version 1.0
* @description
* @date 2021/2/22
*/
public enum EM_EMERGENCYSTATUS_TYPE {
/** 未知 */
EM_EMERGENCYSTATUS_UNKNOWN(-1, "未知"),
EM_EMERGENCYSTATUS_CLOSE(0, "关闭"),
EM_EMERGENCYSTATUS_OPEN(1, "开启");
private int type;
private String desc;
EM_EMERGENCYSTATUS_TYPE(int type, String desc) {
this.type = type;
this.desc = desc;
}
public int getType() {
return type;
}
public String getDesc() {
return desc;
}
public static EM_EMERGENCYSTATUS_TYPE getEmergencyStatusType(int type) {
for (EM_EMERGENCYSTATUS_TYPE emergencyStatus : EM_EMERGENCYSTATUS_TYPE.values()) {
if (emergencyStatus.type == type) {
return emergencyStatus;
}
}
return EM_EMERGENCYSTATUS_UNKNOWN;
}
}

@ -1,63 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @version 1.0
* @description
* @date 2020/11/07
*/
public enum EM_ENTRY_DIRECTION {
// 未知
EM_ENTRY_UNKNOWN(0, "未知"),
// 北向南
EM_ENTRY_NORTH_TO_SOUTH(1, "北向南"),
// 东北向西南
EM_ENTRY_EASTNORTH_TO_WESTSOUTH(2, "东北向西南"),
// 东向西
EM_ENTRY_EAST_TO_WEST(3, "东向西"),
// 东南向西北
EM_ENTRY_EASTSOUTH_TO_WESTNORTH(4, "东南向西北"),
// 南向北
EM_ENTRY_SOUTH_TO_NORTH(5, "南向北"),
// 西南向东北
EM_ENTRY_WESTSOUTH_TO_EASTSOUTH(6, "西南向东北"),
// 西向东
EM_ENTRY_WEST_TO_EAST(7, "西向东"),
// 西北向东南
EM_ENTRY_WESTNORTH_TO_EASTSOUTH(8, "西北向东南");
private int value;
private String note;
private EM_ENTRY_DIRECTION(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_ENTRY_DIRECTION enumType : EM_ENTRY_DIRECTION.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_ENTRY_DIRECTION enumType : EM_ENTRY_DIRECTION.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,56 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @version 1.0
* @description
* @date 2020/11/07
*/
public enum EM_ENTRY_TYPE {
// 未知
EM_ENTRY_TYPE_UNKNOWN(0, "未知"),
// 左转
EM_ENTRY_TYPE_TURN_LEFT(1, "左转"),
// 直行
EM_ENTRY_TYPE_STRAIGHT(2, "直行"),
// 右转
EM_ENTRY_TYPE_TRUN_RIGHT(3, "右转"),
// 掉头
EM_ENTRY_TYPE_TURN_ROUND(4, "掉头");
private int value;
private String note;
private EM_ENTRY_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_ENTRY_TYPE enumType : EM_ENTRY_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_ENTRY_TYPE enumType : EM_ENTRY_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

@ -1,473 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
*
*/
public enum EM_EVENT_IVS {
/**
*
*/
EVENT_IVS_ALL(0x00000001),
/**
* 线( DEV_EVENT_CROSSLINE_INFO)
*/
EVENT_IVS_CROSSLINEDETECTION(0x00000002),
/**
* ( DEV_EVENT_CROSSREGION_INFO)
*/
EVENT_IVS_CROSSREGIONDETECTION(0x00000003),
/**
* ( DEV_EVENT_LEFT_INFO)
*/
EVENT_IVS_LEFTDETECTION(0x00000005),
/**
* ( DEV_EVENT_STAY_INFO)
*/
EVENT_IVS_STAYDETECTION(0x00000006),
/**
* ( DEV_EVENT_WANDER_INFO)
*/
EVENT_IVS_WANDERDETECTION(0x00000007),
/**
* ( DEV_EVENT_MOVE_INFO)
*/
EVENT_IVS_MOVEDETECTION(0x00000009),
/**
* ( DEV_EVENT_RIOTERL_INFO)
*/
EVENT_IVS_RIOTERDETECTION(0x0000000B),
/**
* ( DEV_EVENT_FIGHT_INFO)
*/
EVENT_IVS_FIGHTDETECTION(0x0000000E),
/**
* ----( DEV_EVENT_TRAFFICJUNCTION_INFO)
*/
EVENT_IVS_TRAFFICJUNCTION(0x00000017),
/**
* ----( DEV_EVENT_TRAFFICGATE_INFO)
*/
EVENT_IVS_TRAFFICGATE(0x00000018),
/**
* ( DEV_EVENT_FACEDETECT_INFO)( EVENT_IVS_FACEDETECT)
*/
EVENT_IVS_FACEDETECT(0x0000001A),
/**
* ( DEV_EVENT_TRAFFICJAM_INFO)
*/
EVENT_IVS_TRAFFICJAM(0x0000001B),
/**
* -( DEV_EVENT_TRAFFIC_RUNREDLIGHT_INFO)
*/
EVENT_IVS_TRAFFIC_RUNREDLIGHT(0x00000100),
/**
* -线( DEV_EVENT_TRAFFIC_OVERLINE_INFO)
*/
EVENT_IVS_TRAFFIC_OVERLINE(0x00000101),
/**
* -( DEV_EVENT_TRAFFIC_RETROGRADE_INFO)
*/
EVENT_IVS_TRAFFIC_RETROGRADE(0x00000102),
/**
* -( DEV_EVENT_TRAFFIC_TURNLEFT_INFO)
*/
EVENT_IVS_TRAFFIC_TURNLEFT(0x00000103),
/**
* -( DEV_EVENT_TRAFFIC_TURNRIGHT_INFO)
*/
EVENT_IVS_TRAFFIC_TURNRIGHT(0x00000104),
/**
* -( DEV_EVENT_TRAFFIC_UTURN_INFO)
*/
EVENT_IVS_TRAFFIC_UTURN(0x00000105),
/**
* -( DEV_EVENT_TRAFFIC_OVERSPEED_INFO)
*/
EVENT_IVS_TRAFFIC_OVERSPEED(0x00000106),
/**
* -( DEV_EVENT_TRAFFIC_UNDERSPEED_INFO)
*/
EVENT_IVS_TRAFFIC_UNDERSPEED(0x00000107),
/**
* -( DEV_EVENT_TRAFFIC_PARKING_INFO)
*/
EVENT_IVS_TRAFFIC_PARKING(0x00000108),
/**
* -( DEV_EVENT_TRAFFIC_WRONGROUTE_INFO)
*/
EVENT_IVS_TRAFFIC_WRONGROUTE(0x00000109),
/**
* -( DEV_EVENT_TRAFFIC_CROSSLANE_INFO)
*/
EVENT_IVS_TRAFFIC_CROSSLANE(0x0000010A),
/**
* -线 ( DEV_EVENT_TRAFFIC_OVERYELLOWLINE_INFO)
*/
EVENT_IVS_TRAFFIC_OVERYELLOWLINE(0x0000010B),
/**
* -( DEV_EVENT_TRAFFIC_YELLOWPLATEINLANE_INFO)
*/
EVENT_IVS_TRAFFIC_YELLOWPLATEINLANE(0x0000010E),
/**
* -线( DEV_EVENT_TRAFFIC_PEDESTRAINPRIORITY_INFO)
*/
EVENT_IVS_TRAFFIC_PEDESTRAINPRIORITY(0x0000010F),
/**
* -( DEV_EVENT_TRAFFIC_NOPASSING_INFO)
*/
EVENT_IVS_TRAFFIC_NOPASSING(0x00000111),
/**
* ( DEV_EVENT_ABNORMALRUNDETECTION_INFO)
*/
EVENT_IVS_ABNORMALRUNDETECTION(0x00000112),
/**
* ( DEV_EVENT_TAKENAWAYDETECTION_INFO)
*/
EVENT_IVS_TAKENAWAYDETECTION(0x00000115),
/**
* ( DEV_EVENT_PARKINGDETECTION_INFO)
*/
EVENT_IVS_PARKINGDETECTION(0x00000116),
/**
* ( DEV_EVENT_FACERECOGNITION_INFO, ( CFG_FACERECOGNITION_INFO)
*/
EVENT_IVS_FACERECOGNITION(0x00000117),
/**
* ( DEV_EVENT_TRAFFIC_MANUALSNAP_INFO)
*/
EVENT_IVS_TRAFFIC_MANUALSNAP(0x00000118),
/**
* ( DEV_EVENT_TRAFFIC_FLOW_STATE)
*/
EVENT_IVS_TRAFFIC_FLOWSTATE(0x00000119),
/**
* ( DEV_EVENT_TRAFFIC_VEHICLEINROUTE_INFO)
*/
EVENT_IVS_TRAFFIC_VEHICLEINROUTE(0x0000011B),
/**
* ( DEV_EVENT_ALARM_INFO)
*/
EVENT_ALARM_LOCALALARM(0x0000011D),
/**
* ------( DEV_EVENT_TRAFFICJUNCTION_INFO)
*/
EVENT_IVS_TRAFFIC_TOLLGATE(0x00000120),
/**
* --( DEV_EVENT_TRAFFIC_VEHICLEINBUSROUTE_INFO)
*/
EVENT_IVS_TRAFFIC_VEHICLEINBUSROUTE(0x00000124),
/**
* --( DEV_EVENT_IVS_TRAFFIC_BACKING_INFO)
*/
EVENT_IVS_TRAFFIC_BACKING(0x00000125),
/**
* ( DEV_EVENT_IVS_AUDIO_ABNORMALDETECTION_INFO)
*/
EVENT_IVS_AUDIO_ABNORMALDETECTION(0x00000126),
/**
* -( DEV_EVENT_TRAFFIC_RUNYELLOWLIGHT_INFO)
*/
EVENT_IVS_TRAFFIC_RUNYELLOWLIGHT(0x00000127),
/**
* ( DEV_EVENT_IVS_CLIMB_INFO)
*/
EVENT_IVS_CLIMBDETECTION(0x00000128),
/**
* ( DEV_EVENT_IVS_LEAVE_INFO)
*/
EVENT_IVS_LEAVEDETECTION(0x00000129),
/**
* --线( DEV_EVENT_TRAFFIC_PARKINGONYELLOWBOX_INFO)
*/
EVENT_IVS_TRAFFIC_PARKINGONYELLOWBOX(0x0000012A),
/**
* ( DEV_EVENT_TRAFFIC_PARKINGSPACEPARKING_INFO )
*/
EVENT_IVS_TRAFFIC_PARKINGSPACEPARKING(0x0000012B),
/**
* ( DEV_EVENT_TRAFFIC_PARKINGSPACENOPARKING_INFO )
*/
EVENT_IVS_TRAFFIC_PARKINGSPACENOPARKING(0x0000012C),
/**
* ( DEV_EVENT_TRAFFIC_PEDESTRAIN_INFO)
*/
EVENT_IVS_TRAFFIC_PEDESTRAIN(0x0000012D),
/**
* ( DEV_EVENT_TRAFFIC_THROW_INFO)
*/
EVENT_IVS_TRAFFIC_THROW(0x0000012E),
/**
* --线( DEV_EVENT_TRAFFIC_OVERSTOPLINE)
*/
EVENT_IVS_TRAFFIC_OVERSTOPLINE(0X00000137),
/**
* --( DEV_EVENT_TRAFFIC_WITHOUT_SAFEBELT)
*/
EVENT_IVS_TRAFFIC_WITHOUT_SAFEBELT(0x00000138),
/**
* ( DEV_EVENT_TRAFFIC_DRIVER_SMOKING)
*/
EVENT_IVS_TRAFFIC_DRIVER_SMOKING(0x00000139),
/**
* ( DEV_EVENT_TRAFFIC_DRIVER_CALLING)
*/
EVENT_IVS_TRAFFIC_DRIVER_CALLING(0x0000013A),
/**
* --( DEV_EVENT_TRAFFIC_PASSNOTINORDER_INFO)
*/
EVENT_IVS_TRAFFIC_PASSNOTINORDER(0x0000013C),
/**
* ( DEV_EVENT_ALARM_VIDEOBLIND)
*/
EVENT_ALARM_VIDEOBLIND(0x00000153),
/**
* --( DEV_EVENT_ALARM_JAMFORBIDINTO_INFO)
*/
EVENT_IVS_TRAFFIC_JAM_FORBID_INTO(0x00000163),
/**
* ( DEV_EVENT_TRAFFIC_FCC_INFO)
*/
EVENT_IVS_TRAFFIC_FCC(0x0000016B),
/**
* ( DEV_EVENT_ACCESS_CTL_INFO)
*/
EVENT_IVS_ACCESS_CTL(0x00000204),
/**
* SnapManual( DEV_EVENT_SNAPMANUAL)
*/
EVENT_IVS_SNAPMANUAL(0x00000205),
/**
* ( DEV_EVENT_TIREDPHYSIOLOGICAL_INFO)
*/
EVENT_IVS_TRAFFIC_TIREDPHYSIOLOGICAL(0x00000207),
/**
* ( DEV_EVENT_CITIZEN_PICTURE_COMPARE_INFO )
*/
EVENT_IVS_CITIZEN_PICTURE_COMPARE(0x00000209),
/**
* ( DEV_EVENT_HUMANTRAIT_INFO)
*/
EVENT_IVS_HUMANTRAIT(0x00000215),
/**
* (DEV_EVENT_TIREDLOWERHEAD_INFO)
*/
EVENT_IVS_TRAFFIC_TIREDLOWERHEAD(0x0000020A),
/**
* (DEV_EVENT_DRIVERLOOKAROUND_INFO)
*/
EVENT_IVS_TRAFFIC_DRIVERLOOKAROUND(0x0000020B),
/**
* (DEV_EVENT_DRIVERLEAVEPOST_INFO)
*/
EVENT_IVS_TRAFFIC_DRIVERLEAVEPOST(0x0000020C),
/**
* (DEV_EVENT_DRIVERYAWN_INFO)
*/
EVENT_IVS_TRAFFIC_DRIVERYAWN(0x00000210),
/**
* ()
*/
EVENT_IVS_FACEANALYSIS(0x00000217),
/**
* ( DEV_EVENT_HIGHSPEED_INFO)
*/
EVENT_IVS_HIGHSPEED(0x0000022B),
/**
* ()( DEV_EVENT_VEHICLE_RECOGNITION_INFO)
*/
EVENT_IVS_VEHICLE_RECOGNITION(0x00000231),
/**
* ( DEV_EVENT_CROWD_DETECTION_INFO)
*/
EVENT_IVS_CROWDDETECTION(0x0000022C),
/**
* (DEV_EVENT_MANNUM_DETECTION_INFO)
*/
EVENT_IVS_MAN_NUM_DETECTION(0x0000020E),
/**
* (DEV_EVENT_ELEVATOR_ABNORMAL_INFO)
*/
EVENT_IVS_ELEVATOR_ABNORMAL(0x0000023D),
/**
* IVSS ()
*/
EVENT_IVSS_FACEATTRIBUTE(0x00000243),
/**
* IVSS ()
*/
EVENT_IVSS_FACECOMPARE(0x00000244),
/**
* ( DEV_EVENT_FIREWARNING_INFO)
*/
EVENT_IVS_FIREWARNING(0x00000245),
/**
* ( DEV_EVENT_LANEDEPARTURE_WARNNING_INFO)
*/
EVENT_IVS_LANEDEPARTURE_WARNNING(0X00000251),
/**
* ( DEV_EVENT_FORWARDCOLLISION_WARNNING_INFO)
*/
EVENT_IVS_FORWARDCOLLISION_WARNNING(0x00000252),
/**
* ( DEV_EVENT_FLOATINGOBJECT_DETECTION_INFO)
*/
EVENT_IVS_FLOATINGOBJECT_DETECTION(0x00000257),
/**
* ( DEV_EVENT_PHONECALL_DETECT_INFO)
*/
EVENT_IVS_PHONECALL_DETECT(0x0000025A),
/**
* ( DEV_EVENT_SMOKING_DETECT_INFO)
*/
EVENT_IVS_SMOKING_DETECT(0x0000025B),
/**
* ( DEV_EVENT_RADAR_SPEED_LIMIT_ALARM_INFO)
*/
EVENT_IVS_RADAR_SPEED_LIMIT_ALARM(0x0000025C),
/**
* ( DEV_EVENT_WATER_LEVEL_DETECTION_INFO)
*/
EVENT_IVS_WATER_LEVEL_DETECTION(0x0000025D),
/**
* ( DEV_EVENT_CITY_MOTORPARKING_INFO)
*/
EVENT_IVS_CITY_MOTORPARKING(0x0000024F),
/**
* ( DEV_EVENT_CITY_NONMOTORPARKING_INFO)
*/
EVENT_IVS_CITY_NONMOTORPARKING(0x00000250),
/**
* ( DEV_EVENT_HOLD_UMBRELLA_INFO)
*/
EVENT_IVS_HOLD_UMBRELLA(0x0000025E),
/**
* ( DEV_EVENT_GARBAGE_EXPOSURE_INFO)
*/
EVENT_IVS_GARBAGE_EXPOSURE(0x0000025F),
/**
* ( DEV_EVENT_DUSTBIN_OVER_FLOW_INFO)
*/
EVENT_IVS_DUSTBIN_OVER_FLOW(0x00000260),
/**
* ( DEV_EVENT_DOOR_FRONT_DIRTY_INFO)
*/
EVENT_IVS_DOOR_FRONT_DIRTY(0x00000261),
/**
* ( DEV_EVENT_QUEUESTAY_DETECTION_INFO)
*/
EVENT_IVS_QUEUESTAY_DETECTION(0X00000262),
/**
* DEV_EVENT_QUEUENUM_DETECTION_INFO
*/
EVENT_IVS_QUEUENUM_DETECTION(0X00000263),
/**
* DEV_EVENT_GENERATEGRAPH_DETECTION_INFO
*/
EVENT_IVS_GENERATEGRAPH_DETECTION(0X00000264),
/**
* -( DEV_EVENT_TRAFFIC_PARKING_MANUAL_INFO)
*/
EVENT_IVS_TRAFFIC_PARKING_MANUAL(0x00000265),
/**
* ( DEV_EVENT_HELMET_DETECTION_INFO)
*/
EVENT_IVS_HELMET_DETECTION(0x00000266),
/**
* ( DEV_EVENT_DEPOSIT_DETECTION_INFO)
*/
EVENT_IVS_DEPOSIT_DETECTION(0x00000267),
/**
* ( DEV_EVENT_HOTSPOT_WARNING_INFO)
*/
EVENT_IVS_HOTSPOT_WARNING(0x00000268),
/**
* ( DEV_EVENT_WEIGHING_PLATFORM_DETECTION_INFO)
*/
EVENT_IVS_WEIGHING_PLATFORM_DETECTION(0x00000269),
/**
* ( DEV_EVENT_CLASSROOM_BEHAVIOR_INFO)
*/
EVENT_IVS_CLASSROOM_BEHAVIOR(0x0000026A),
/**
* (/)( DEV_EVENT_WORKCLOTHES_DETECT_INFO)
*/
EVENT_IVS_WORKCLOTHES_DETECT(0x0000026E),
/**
* (DEV_EVENT_MANSTAND_DETECTION_INFO)
*/
EVENT_IVS_MAN_STAND_DETECTION(0x0000020D),
/**
* ( DEV_EVENT_GASSTATION_VEHICLE_DETECT_INFO)
*/
EVENT_IVS_GASSTATION_VEHICLE_DETECT(0x00000283),
/**
* ( DEV_EVENT_SHOPPRESENCE_INFO)
*/
EVENT_IVS_SHOPPRESENCE(0x00000246),
/**
* ( DEV_EVENT_FLOWBUSINESS_INFO)
*/
EVENT_IVS_FLOWBUSINESS(0x0000024E),
/**
* ( DEV_EVENT_PEDESTRIAN_JUNCTION_INFO)
*/
EVENT_IVS_PEDESTRIAN_JUNCTION(0x00000230),
/**
* ( DEV_EVENT_BANNER_DETECTION_INFO)
*/
EVENT_IVS_BANNER_DETECTION(0x0000023B),
/**
* 穿 DEV_EVENT_SMART_KITCHEN_CLOTHES_DETECTION_INFO
*/
EVENT_IVS_SMART_KITCHEN_CLOTHES_DETECTION(0x0000029D),
/**
*
*/
EVENT_IVS_WATER_STAGE_MONITOR(0x0000030A),
/**
* ( DEV_EVENT_VIOLENT_THROW_DETECTION_INFO)
*/
EVENT_IVS_VIOLENT_THROW_DETECTION(0x0000027D),
/**
* ( DEV_EVENT_ANATOMY_TEMP_DETECT_INFO)
*/
EVENT_IVS_ANATOMY_TEMP_DETECT(0x00000303),
/**
* ( DEV_EVENT_FOG_DETECTION)
*/
EVENT_IVS_FOG_DETECTION(0x00000308),
/**
* ( DEV_EVENT_VIDEOABNORMALDETECTION_INFO)
*/
EVENT_IVS_VIDEOABNORMALDETECTION(0x00000013),
/**
* ( DEV_EVENT_STAY_ALONE_DETECTION_INFO)
*/
EVENT_IVS_STAY_ALONE_DETECTION(0x00000270),
/**
* ( DEV_EVENT_PRISONERRISEDETECTION_INFO)
*/
EVENT_IVS_PRISONERRISEDETECTION(0x0000011E),
/**
* (DEV_EVENT_HIGH_TOSS_DETECT_INFO)
*/
EVENT_IVS_HIGH_TOSS_DETECT(0x0000028D),
/**
* ( DEV_EVENT_FEATURE_ABSTRACT_INFO)
*/
EVENT_IVS_FEATURE_ABSTRACT(0x00000276);
private final int id;
private EM_EVENT_IVS(int id) {
this.id = id;
}
public int getId() {
return id;
}
}

@ -1,789 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
import com.zhehekeji.web.lib.joyware.NetSDKLib;
import com.sun.jna.Callback;
import com.sun.jna.Pointer;
/**
* @author 47081
* @version 1.0
* @description
* {@link NetSDKLib#CLIENT_RealLoadPictureEx(NetSDKLib.LLong, int, int, int, Callback, Pointer, Pointer)}
* @date 2020/10/14
*/
public enum EM_EVENT_IVS_TYPE {
/**
*
*/
EVENT_IVS_ALL(0x00000001, "所有事件"),
/**
* 线
* {@link NetSDKLib.DEV_EVENT_CROSSLINE_INFO}
*/
EVENT_IVS_CROSSLINEDETECTION(0x00000002, "警戒线事件"),
/**
*
* {@link NetSDKLib.DEV_EVENT_CROSSREGION_INFO}
*/
EVENT_IVS_CROSSREGIONDETECTION(0x00000003, "警戒区事件"),
/**
*
* {@see DEV_EVENT_PASTE_INFO}
*/
EVENT_IVS_PASTEDETECTION(0x00000004, "贴条事件"),
/**
*
* ( {@link NetSDKLib.DEV_EVENT_LEFT_INFO})
*/
EVENT_IVS_LEFTDETECTION(0x00000005, "物品遗留事件"),
/**
*
* ( {@link NetSDKLib.DEV_EVENT_STAY_INFO})
*/
EVENT_IVS_STAYDETECTION(0x00000006, "停留事件"),
/**
*
* ( {@link NetSDKLib.DEV_EVENT_WANDER_INFO})
*/
EVENT_IVS_WANDERDETECTION(0x00000007, "徘徊事件"),
/**
*
* ( {@see DEV_EVENT_PRESERVATION_INFO})
*/
EVENT_IVS_PRESERVATION(0x00000008, "物品保全事件"),
/**
* ( {@link NetSDKLib.DEV_EVENT_MOVE_INFO})
*/
EVENT_IVS_MOVEDETECTION(0x00000009, "移动事件"),
/**
* {@see DEV_EVENT_TAIL_INFO}
*/
EVENT_IVS_TAILDETECTION(0x0000000A, "尾随事件"),
/**
* {@link NetSDKLib.DEV_EVENT_RIOTERL_INFO}
*/
EVENT_IVS_RIOTERDETECTION(0x0000000B, "聚众事件"),
/**
* {@see DEV_EVENT_FIRE_INFO}
*/
EVENT_IVS_FIREDETECTION(0x0000000C, "火警事件"),
/**
* {@see DEV_EVENT_SMOKE_INFO}
*/
EVENT_IVS_SMOKEDETECTION(0x0000000D, "烟雾报警事件"),
/**
* {@link NetSDKLib.DEV_EVENT_FIGHT_INFO}
*/
EVENT_IVS_FIGHTDETECTION(0x0000000E, "斗殴事件"),
/**
* {@see DEV_EVENT_FLOWSTAT_INFO}
*/
EVENT_IVS_FLOWSTAT(0x0000000F, "流量统计事件"),
/**
* {@see DEV_EVENT_NUMBERSTAT_INFO}
*/
EVENT_IVS_NUMBERSTAT(0x00000010, "数量统计事件"),
EVENT_IVS_CAMERACOVERDDETECTION(0x00000011, "摄像头覆盖事件(保留)"),
EVENT_IVS_CAMERAMOVEDDETECTION(0x00000012, "摄像头移动事件(保留)"),
/**
* {@link NetSDKLib.DEV_EVENT_VIDEOABNORMALDETECTION_INFO}
*/
EVENT_IVS_VIDEOABNORMALDETECTION(0x00000013, "视频异常事件"),
EVENT_IVS_VIDEOBADDETECTION(0x00000014, "视频损坏事件(保留)"),
/**
* {@see DEV_EVENT_TRAFFICCONTROL_INFO}
* <p>
* {@see }
*/
EVENT_IVS_TRAFFICCONTROL(0x00000015, "交通管制事件"),
/**
* {@see DEV_EVENT_TRAFFICACCIDENT_INFO}
*/
EVENT_IVS_TRAFFICACCIDENT(0x00000016, "交通事故事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFICJUNCTION_INFO}
*/
EVENT_IVS_TRAFFICJUNCTION(0x00000017, "交通路口事件----老规则"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFICGATE_INFO}
*/
EVENT_IVS_TRAFFICGATE(0x00000018, "交通卡口事件----老规则"),
/**
* {@see DEV_EVENT_TRAFFICSNAPSHOT_INFO}
*/
EVENT_TRAFFICSNAPSHOT(0x00000019, "交通抓拍事件"),
/**
* {@link NetSDKLib.DEV_EVENT_FACEDETECT_INFO}
*/
EVENT_IVS_FACEDETECT(0x0000001A, "人脸检测事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFICJAM_INFO}
*/
EVENT_IVS_TRAFFICJAM(0x0000001B, "交通拥堵事件"),
/**
* {@see DEV_EVENT_TRAFFIC_NONMOTORINMOTORROUTE_INFO}
*/
EVENT_IVS_TRAFFIC_NONMOTORINMOTORROUTE(0x0000001C, "非机动车占机动车车道事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_RUNREDLIGHT_INFO}
*/
EVENT_IVS_TRAFFIC_RUNREDLIGHT(0x00000100, "交通违章-闯红灯事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_OVERLINE_INFO}
*/
EVENT_IVS_TRAFFIC_OVERLINE(0x00000101, "交通违章-压车道线事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_RETROGRADE_INFO}
*/
EVENT_IVS_TRAFFIC_RETROGRADE(0x00000102, "交通违章-逆行事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_TURNLEFT_INFO}
*/
EVENT_IVS_TRAFFIC_TURNLEFT(0x00000103, "交通违章-违章左转"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_TURNRIGHT_INFO}
*/
EVENT_IVS_TRAFFIC_TURNRIGHT(0x00000104, "交通违章-违章右转"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_UTURN_INFO}
*/
EVENT_IVS_TRAFFIC_UTURN(0x00000105, "交通违章-违章掉头"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_OVERSPEED_INFO}
*/
EVENT_IVS_TRAFFIC_OVERSPEED(0x00000106, "交通违章-超速"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_UNDERSPEED_INFO}
*/
EVENT_IVS_TRAFFIC_UNDERSPEED(0x00000107, "交通违章-低速"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_PARKING_INFO}
*/
EVENT_IVS_TRAFFIC_PARKING(0x00000108, "交通违章-违章停车"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_WRONGROUTE_INFO}
*/
EVENT_IVS_TRAFFIC_WRONGROUTE(0x00000109, "交通违章-不按车道行驶"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_CROSSLANE_INFO}
*/
EVENT_IVS_TRAFFIC_CROSSLANE(0x0000010A, "交通违章-违章变道"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_OVERYELLOWLINE_INFO}
*/
EVENT_IVS_TRAFFIC_OVERYELLOWLINE(0x0000010B, "交通违章-压黄线"),
/**
* {@see DEV_EVENT_TRAFFIC_DRIVINGONSHOULDER_INFO}
*/
EVENT_IVS_TRAFFIC_DRIVINGONSHOULDER(0x0000010C, "交通违章-路肩行驶事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_YELLOWPLATEINLANE_INFO}
*/
EVENT_IVS_TRAFFIC_YELLOWPLATEINLANE(0x0000010E, "交通违章-黄牌车占道事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_PEDESTRAINPRIORITY_INFO}
*/
EVENT_IVS_TRAFFIC_PEDESTRAINPRIORITY(0x0000010F, "交通违章-礼让行人/斑马线行人优先事件"),
/**
* {@see DEV_EVENT_CROSSFENCEDETECTION_INFO}
*/
EVENT_IVS_CROSSFENCEDETECTION(0x0000011F, "翻越围栏事件"),
/**
* {@see DEV_EVENT_ELECTROSPARK_INFO}
*/
EVENT_IVS_ELECTROSPARKDETECTION(0x00000110, "电火花事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_NOPASSING_INFO}
*/
EVENT_IVS_TRAFFIC_NOPASSING(0x00000111, "交通违章-禁止通行事件"),
/**
* {@link NetSDKLib.DEV_EVENT_ABNORMALRUNDETECTION_INFO}
*/
EVENT_IVS_ABNORMALRUNDETECTION(0x00000112, "异常奔跑事件"),
/**
* {@link NetSDKLib.DEV_EVENT_RETROGRADEDETECTION_INFO}
*/
EVENT_IVS_RETROGRADEDETECTION(0x00000113, "人员逆行事件"),
/**
* {@see DEV_EVENT_INREGIONDETECTION_INFO}
*/
EVENT_IVS_INREGIONDETECTION(0x00000114, "区域内检测事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TAKENAWAYDETECTION_INFO}
*/
EVENT_IVS_TAKENAWAYDETECTION(0x00000115, "物品搬移事件"),
/**
* {@link NetSDKLib.DEV_EVENT_PARKINGDETECTION_INFO}
*/
EVENT_IVS_PARKINGDETECTION(0x00000116, "非法停车事件"),
/**
* {@link NetSDKLib.DEV_EVENT_FACERECOGNITION_INFO}
*/
EVENT_IVS_FACERECOGNITION(0x00000117, "人脸识别事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_MANUALSNAP_INFO}
*/
EVENT_IVS_TRAFFIC_MANUALSNAP(0x00000118, "交通手动抓拍事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_FLOW_STATE}
*/
EVENT_IVS_TRAFFIC_FLOWSTATE(0x00000119, "交通流量统计事件"),
/**
* {@see DEV_EVENT_TRAFFIC_STAY_INFO}
*/
EVENT_IVS_TRAFFIC_STAY(0x0000011A, "交通滞留事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_VEHICLEINROUTE_INFO}
*/
EVENT_IVS_TRAFFIC_VEHICLEINROUTE(0x0000011B, "有车占道事件"),
/**
* {@link NetSDKLib.DEV_EVENT_ALARM_INFO}
*/
EVENT_ALARM_MOTIONDETECT(0x0000011C, "视频移动侦测事件"),
/**
* {@link NetSDKLib.DEV_EVENT_ALARM_INFO}
*/
EVENT_ALARM_LOCALALARM(0x0000011D, "外部报警事件"),
/**
* {@link NetSDKLib.DEV_EVENT_PRISONERRISEDETECTION_INFO}
*/
EVENT_IVS_PRISONERRISEDETECTION(0x0000011E, "看守所囚犯起身事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFICJUNCTION_INFO}
*/
EVENT_IVS_TRAFFIC_TOLLGATE(0x00000120, "交通违章-卡口事件----新规则"),
/**
* {@see DEV_EVENT_DENSITYDETECTION_INFO}
*/
EVENT_IVS_DENSITYDETECTION(0x00000121, "人员密集度检测"),
/**
* {@link NetSDKLib.NET_VIDEODIAGNOSIS_COMMON_INFO}
* {@link NetSDKLib.NET_REAL_DIAGNOSIS_RESULT}
*/
EVENT_IVS_VIDEODIAGNOSIS(0x00000122, "视频诊断结果事件"),
/**
* {@see DEV_EVENT_QUEUEDETECTION_INFO}
*/
EVENT_IVS_QUEUEDETECTION(0x00000123, "排队检测报警事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_VEHICLEINBUSROUTE_INFO}
*/
EVENT_IVS_TRAFFIC_VEHICLEINBUSROUTE(0x00000124, "占用公交车道事件"),
/**
* {@link NetSDKLib.DEV_EVENT_IVS_TRAFFIC_BACKING_INFO}
*/
EVENT_IVS_TRAFFIC_BACKING(0x00000125, "违章倒车事件"),
/**
* {@link NetSDKLib.DEV_EVENT_IVS_AUDIO_ABNORMALDETECTION_INFO}
*/
EVENT_IVS_AUDIO_ABNORMALDETECTION(0x00000126, "声音异常检测"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_RUNYELLOWLIGHT_INFO}
*/
EVENT_IVS_TRAFFIC_RUNYELLOWLIGHT(0x00000127, "交通违章-闯黄灯事件"),
/**
* {@link NetSDKLib.DEV_EVENT_IVS_CLIMB_INFO}
*/
EVENT_IVS_CLIMBDETECTION(0x00000128, "攀高检测事件"),
/**
* {@link NetSDKLib.DEV_EVENT_IVS_LEAVE_INFO}
*/
EVENT_IVS_LEAVEDETECTION(0x00000129, "离岗检测事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_PARKINGONYELLOWBOX_INFO}
*/
EVENT_IVS_TRAFFIC_PARKINGONYELLOWBOX(0x0000012A, "黄网格线抓拍事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_PARKINGSPACEPARKING_INFO}
*/
EVENT_IVS_TRAFFIC_PARKINGSPACEPARKING(0x0000012B, "车位有车事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_PARKINGSPACENOPARKING_INFO}
*/
EVENT_IVS_TRAFFIC_PARKINGSPACENOPARKING(0x0000012C, "车位无车事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_PEDESTRAIN_INFO}
*/
EVENT_IVS_TRAFFIC_PEDESTRAIN(0x0000012D, "交通行人事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_THROW_INFO}
*/
EVENT_IVS_TRAFFIC_THROW(0x0000012E, "交通抛洒物品事件"),
/**
* {@see DEV_EVENT_TRAFFIC_IDLE_INFO}
*/
EVENT_IVS_TRAFFIC_IDLE(0x0000012F, "交通空闲事件"),
/**
* {@see DEV_EVENT_ALARM_VEHICLEACC_INFO}
*/
EVENT_ALARM_VEHICLEACC(0x00000130, "车载ACC断电报警事件"),
/**
* {@see DEV_EVENT_VEHICEL_ALARM_INFO}
*/
EVENT_ALARM_VEHICLE_TURNOVER(0x00000131, "车辆侧翻报警事件"),
/**
* {@see DEV_EVENT_VEHICEL_ALARM_INFO}
*/
EVENT_ALARM_VEHICLE_COLLISION(0x00000132, "车辆撞车报警事件"),
EVENT_ALARM_VEHICLE_LARGE_ANGLE(0x00000133, "车载摄像头大角度扭转事件"),
/**
* {@see DEV_EVENT_TRAFFIC_PARKINGSPACEOVERLINE_INFO}
*/
EVENT_IVS_TRAFFIC_PARKINGSPACEOVERLINE(0x00000134, "车位压线事件"),
/**
* {@see DEV_EVENT_IVS_MULTI_SCENE_SWICH_INFO}
*/
EVENT_IVS_MULTISCENESWITCH(0x00000135, "多场景切换事件"),
/**
* {@see DEV_EVENT_TRAFFIC_RESTRICTED_PLATE}
*/
EVENT_IVS_TRAFFIC_RESTRICTED_PLATE(0x00000136, "受限车牌事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_OVERSTOPLINE}
*/
EVENT_IVS_TRAFFIC_OVERSTOPLINE(0x00000137, "压停止线事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_WITHOUT_SAFEBELT}
*/
EVENT_IVS_TRAFFIC_WITHOUT_SAFEBELT(0x00000138, "交通未系安全带事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_DRIVER_SMOKING}
*/
EVENT_IVS_TRAFFIC_DRIVER_SMOKING(0x00000139, "驾驶员抽烟事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_DRIVER_CALLING}
*/
EVENT_IVS_TRAFFIC_DRIVER_CALLING(0x0000013A, "驾驶员打电话事件"),
/**
* {@link com.zhehekeji.web.lib.joyware.structure.DEV_EVENT_TRAFFIC_PEDESTRAINRUNREDLIGHT_INFO}
*/
EVENT_IVS_TRAFFIC_PEDESTRAINRUNREDLIGHT(0x0000013B, "行人闯红灯事件"),
/**
* {@link NetSDKLib.DEV_EVENT_TRAFFIC_PASSNOTINORDER_INFO}
*/
EVENT_IVS_TRAFFIC_PASSNOTINORDER(0x0000013C, "未按规定依次通行"),
EVENT_IVS_OBJECT_DETECTION(0x00000141, "物体特征检测事件"),
/**
* {@see DEV_EVENT_ALARM_ANALOGALRM_INFO}
*/
EVENT_ALARM_ANALOGALARM(0x00000150, "模拟量报警通道的报警事件"),
EVENT_IVS_CROSSLINEDETECTION_EX(0x00000151, "警戒线扩展事件"),
EVENT_ALARM_COMMON(0x00000152, "普通录像"),
/**
* {@link NetSDKLib.DEV_EVENT_ALARM_VIDEOBLIND}
*/
EVENT_ALARM_VIDEOBLIND(0x00000153, "视频遮挡事件"),
EVENT_ALARM_VIDEOLOSS(0x00000154, "视频丢失事件"),
/**
* {@see DEV_EVENT_GETOUTBED_INFO}
*/
EVENT_IVS_GETOUTBEDDETECTION(0x00000155, "看守所下床事件"),
/**
* {@see DEV_EVENT_PATROL_INFO}
*/
EVENT_IVS_PATROLDETECTION(0x00000156, "巡逻检测事件"),
/**
* {@see DEV_EVENT_ONDUTY_INFO}
*/
EVENT_IVS_ONDUTYDETECTION(0x00000157, "站岗检测事件"),
EVENT_IVS_NOANSWERCALL(0x00000158, "门口机呼叫未响应事件"),
EVENT_IVS_STORAGENOTEXIST(0x00000159, "存储组不存在事件"),
EVENT_IVS_STORAGELOWSPACE(0x0000015A, "硬盘空间低报警事件"),
EVENT_IVS_STORAGEFAILURE(0x0000015B, "存储错误事件"),
/**
* {@see DEV_EVENT_PROFILE_ALARM_TRANSMIT_INFO}
*/
EVENT_IVS_PROFILEALARMTRANSMIT(0x0000015C, "报警传输事件"),
/**
* {@see DEV_EVENT_ALARM_VIDEOSTATIC_INFO}
*/
EVENT_IVS_VIDEOSTATIC(0x0000015D, "视频静态检测事件"),
/**
* {@see DEV_EVENT_ALARM_VIDEOTIMING_INFO}
*/
EVENT_IVS_VIDEOTIMING(0x0000015E, "视频定时检测事件"),
/**
* {@see CFG_IVS_HEATMAP_INFO}
*/
EVENT_IVS_HEATMAP(0x0000015F, "热度图"),
/**
* {@see DEV_EVENT_ALARM_CITIZENIDCARD_INFO}
*/
EVENT_IVS_CITIZENIDCARD(0x00000160, "身份证信息读取事件"),
/**
* {@see DEV_EVENT_ALARM_PIC_INFO}
*/
EVENT_IVS_PICINFO(0x00000161, "图片信息事件"),
/**
* {@see DEV_EVENT_ALARM_NETPLAYCHECK_INFO}
*/
EVENT_IVS_NETPLAYCHECK(0x00000162, "上网登记事件"),
/**
* {@see DEV_EVENT_ALARM_JAMFORBIDINTO_INFO}
*/
EVENT_IVS_TRAFFIC_JAM_FORBID_INTO(0x00000163, "车辆拥堵禁入事件"),
/**
* {@see EV_EVENT_SNAPBYTIME}
*/
EVENT_IVS_SNAPBYTIME(0x00000164, "定时抓图事件"),
EVENT_IVS_PTZ_PRESET(0x00000165, "云台转动到预置点事件"), // (对应 DEV_EVENT_ALARM_PTZ_PRESET_INFO)
EVENT_IVS_RFID_INFO(0x00000166, "红外线检测信息事件"), // (对应 DEV_EVENT_ALARM_RFID_INFO)
EVENT_IVS_STANDUPDETECTION(0x00000167, "人起立检测事件"), //
EVENT_IVS_QSYTRAFFICCARWEIGHT(0x00000168, "交通卡口称重事件"), // (对应 DEV_EVENT_QSYTRAFFICCARWEIGHT_INFO)
EVENT_IVS_TRAFFIC_COMPAREPLATE(0x00000169, "卡口前后车牌合成事件"), // (对应DEV_EVENT_TRAFFIC_COMPAREPLATE_INFO)
EVENT_IVS_SHOOTINGSCORERECOGNITION(0x0000016A, "打靶像机事件"), // (对应 DEV_EVENT_SHOOTING_SCORE_RECOGNITION_INFO,CFG_IVS_SHOOTINGSCORERECOGNITION_INFO)
EVENT_IVS_TRAFFIC_FCC(0x0000016B, "加油站提枪、挂枪事件"), // (对应 DEV_EVENT_TRAFFIC_FCC_INFO)
EVENT_IVS_TRAFFIC_TRANSFINITE(0x0000016C, "违章超限抓图上报事件"), // ,绍兴科技治超(对应 DEV_EVENT_TRAFFIC_TRANSFINITE_INFO)
EVENT_IVS_SCENE_CHANGE(0x0000016D, "场景变更事件"), // (对应 DEV_ALRAM_SCENECHANGE_INFO,CFG_VIDEOABNORMALDETECTION_INFO)
EVENT_IVS_LETRACK(0x0000016E, "简单跟踪事件(暂未有具体事件)"), //
EVENT_IVS_OBJECT_ACTION(0x0000016F, "物体检测事件(暂未有具体事件)"), //
EVENT_IVS_TRAFFIC_ANALYSE_PRESNAP(0x00000170, "预分析抓拍图片事件"), // (对应 DEV_EVENT_TRAFFIC_ANALYSE_PRESNAP_INFO)
EVENT_ALARM_EQSTATE(0x00000171, "智能插座电量状态上报(暂未有具体事件)"), //
EVENT_IVS_ALARM_IPC(0x00000172, "DVR/NVR设备上的IPC报警"), // (对应 DEV_EVENT_ALARM_IPC_INFO)
EVENT_IVS_POS_RECORD(0x00000173, "POS录像查询事件(暂未有具体事件)"), //
EVENT_IVS_NEAR_DISTANCE_DETECTION(0x00000174, "近距离接触事件"), // (对应 DEV_EVENT_NEAR_DISTANCE_DETECTION_INFO)
EVENT_IVS_OBJECTSTRUCTLIZE_PERSON(0x00000175, "行人特征检测事件"), // (对应 DEV_EVENT_OBJECTSTRUCTLIZE_PERSON_INFO)
EVENT_IVS_OBJECTSTRUCTLIZE_NONMOTOR(0x00000176, "非机动车特征检测事件"), // (对应 DEV_EVENT_OBJECTSTRUCTLIZE_NONMOTOR_INFO)
EVENT_IVS_TUMBLE_DETECTION(0x00000177, "倒地报警事件"), // (对应 DEV_EVENT_TUMBLE_DETECTION_INFO)
/**
* traffic
*
* EVENT_IVS_TRAFFICCONTROL -> EVENT_TRAFFICSNAPSHOT
* EVENT_IVS_TRAFFIC_RUNREDLIGHT -> EVENT_IVS_TRAFFIC_UNDERSPEED
*/
EVENT_IVS_TRAFFIC_ALL(0x000001FF, "所有以traffic开头的事件"),
EVENT_IVS_VIDEOANALYSE(0x00000200, "所有智能分析事件"),
EVENT_IVS_LINKSD(0x00000201, "LinkSD事件"), // (对应 DEV_EVENT_LINK_SD)
EVENT_IVS_VEHICLEANALYSE(0x00000202, "车辆特征检测分析"), // (对应DEV_EVENT_VEHICLEANALYSE)
EVENT_IVS_FLOWRATE(0x00000203, "流量使用情况事件"), // (对应 DEV_EVENT_FLOWRATE_INFO)
/**
* {@link NetSDKLib.DEV_EVENT_ACCESS_CTL_INFO}
*/
EVENT_IVS_ACCESS_CTL(0x00000204, "门禁事件"),
/**
* {@link NetSDKLib.DEV_EVENT_SNAPMANUAL}
*/
EVENT_IVS_SNAPMANUAL(0x00000205, "SnapManual事件"),
EVENT_IVS_TRAFFIC_ELETAGINFO(0x00000206, "RFID电子车牌标签事件"), // (对应 DEV_EVENT_TRAFFIC_ELETAGINFO_INFO)
EVENT_IVS_TRAFFIC_TIREDPHYSIOLOGICAL(0x00000207, "生理疲劳驾驶事件"), // (对应 DEV_EVENT_TIREDPHYSIOLOGICAL_INFO)
EVENT_IVS_TRAFFIC_BUSSHARPTURN(0x00000208, "车辆急转报警事件"), // (对应DEV_EVENT_BUSSHARPTURN_INFO)
EVENT_IVS_CITIZEN_PICTURE_COMPARE(0x00000209, "人证比对事件"), // (对应 DEV_EVENT_CITIZEN_PICTURE_COMPARE_INFO)
EVENT_IVS_TRAFFIC_TIREDLOWERHEAD(0x0000020A, "开车低头报警事件"), // (对应DEV_EVENT_TIREDLOWERHEAD_INFO)
EVENT_IVS_TRAFFIC_DRIVERLOOKAROUND(0x0000020B, "开车左顾右盼报警事件"), // (对应DEV_EVENT_DRIVERLOOKAROUND_INFO)
EVENT_IVS_TRAFFIC_DRIVERLEAVEPOST(0x0000020C, "开车离岗报警事件"), // (对应DEV_EVENT_DRIVERLEAVEPOST_INFO)
EVENT_IVS_MAN_STAND_DETECTION(0x0000020D, "立体视觉站立事件"), // (对应DEV_EVENT_MANSTAND_DETECTION_INFO)
EVENT_IVS_MAN_NUM_DETECTION(0x0000020E, "立体视觉区域内人数统计事件"), // (对应DEV_EVENT_MANNUM_DETECTION_INFO)
EVENT_IVS_STEREO_NUMBERSTAT(0x0000020F, "客流量统计事件"), // (暂未有具体事件)
EVENT_IVS_TRAFFIC_DRIVERYAWN(0x00000210, "开车打哈欠事件"), // (对应DEV_EVENT_DRIVERYAWN_INFO)
EVENT_IVS_NUMBERSTAT_PLAN(0x00000211, "客流量统计计划"), // (暂未有具体事件,球机使用,对应规则配置结构体 CFG_NUMBERSTAT_INFO)
EVENT_IVS_HEATMAP_PLAN(0x00000212, "热度图计划"), // (暂未有具体事件,球机使用,对应规则配置结构体 CFG_IVS_HEATMAP_INFO)
EVENT_IVS_CALLNOANSWERED(0x00000213, "呼叫无答应事件"), //
EVENT_IVS_IGNOREINVITE(0x00000214, "无视邀请事件"), //
EVENT_IVS_HUMANTRAIT(0x00000215, "人体特征事件"), // (对应 DEV_EVENT_HUMANTRAIT_INFO)
EVENT_ALARM_LE_HEADDETECTION(0x00000216, "乐橙人头检测事件"), // (对应 DEV_EVENT_LE_HEADDETECTION_INFO)
EVENT_IVS_FACEANALYSIS(0x00000217, "人脸分析事件"), // (暂未有具体事件)
EVENT_IVS_TRAFFIC_TURNLEFTAFTERSTRAIGHT(0x00000218, "左转不礼让直行事件"), // (对应 DEV_EVENT_TURNLEFTAFTERSTRAIGHT_INFO)
EVENT_IVS_TRAFFIC_BIGBENDSMALLTURN(0x00000219, "大弯小转事件"), // (对应 DEV_EVENT_BIGBENDSMALLTURN_INFO)
EVENT_IVS_ROAD_CONSTRUCTION(0x0000021A, "道路施工监测事件"), // (对应DEV_EVENT_ROAD_CONSTRUCTION_INFO)
EVENT_IVS_ROAD_BLOCK(0x0000021B, "路障检测事件"), // (对应DEV_EVENT_ROAD_BLOCK_INFO)
EVENT_IVS_TRAFFIC_QUEUEJUMP(0x0000021C, "车辆加塞事件"), // (对应 DEV_EVENT_TRAFFIC_QUEUEJUMP_INFO)
EVENT_IVS_VEHICLE_SUSPICIOUSCAR(0x0000021D, "嫌疑车辆事件"), // (对应 DEV_EVENT_VEHICLE_SUSPICIOUSCAR_INFO)
EVENT_IVS_TRAFFIC_TURNRIGHTAFTERSTRAIGHT(0x0000021E, "右转不礼让直行事件"), // (对应 DEV_EVENT_TURNRIGHTAFTERSTRAIGHT_INFO)
EVENT_IVS_TRAFFIC_TURNRIGHTAFTERPEOPLE(0x0000021F, "右转不礼让直行行人"), // (对应 DEV_EVENT_TURNRIGHTAFTERPEOPLE_INFO)
EVENT_IVS_INSTALL_CARDREADER(0x00000220, "安装读卡器事件"), // (对应 DEV_EVENT_INSTALL_CARDREADER_INFO)
EVENT_ALARM_YALE_DROPBOX_BADTOKEN(0x00000221, " Yale token失效事件只用于订阅手机推送"), //
EVENT_IVS_ACC_OFF_SNAP(0x00000222, "车载设备断电前抓拍上传事件"), // (对应 DEV_EVENT_ACC_OFF_SNAP_INFO)
EVENI_IVS_XRAY_DETECTION(0x00000223, "X光检测事件"), // (对应 DEV_EVENT_XRAY_DETECTION_INFO)
EVENT_IVS_NOTCLEARCAR(0x00000224, "未清车告警"), // (对应 DEV_EVENT_NOTCLEARCAR_INFO)
EVENT_IVS_SOSALEART(0x00000225, "sos求救报警"), // (对应 DEV_EVENT_SOSALEART_INFO)
EVENT_IVS_OVERLOAD(0x00000226, "超载抓图"), // (对应 DEV_EVENT_OVERLOAD_INFO)
EVENT_IVS_NONWORKINGTIME(0x00000227, "非工作时间告警"), // (对应 DEV_EVENT_NONWORKINGTIME_INFO)
EVENT_IVS_TRAFFIC_HIGH_BEAM(0x00000228, "远光灯违章事件"), // (对应 DEV_EVENT_TRAFFIC_HIGH_BEAM_INFO)
EVENT_IVS_TRAFFIC_TRUCKFORBID(0x00000229, "禁止货车事件"), // (对应 DEV_EVENT_TRAFFICTRUCKFORBID_INFO)
EVENT_IVS_DRIVINGWITHOUTCARD(0x0000022A, "无卡驾驶报警事件"), // (对应 DEV_EVENT_DRIVINGWITHOUTCARD_INFO)
EVENT_IVS_HIGHSPEED(0x0000022B, "车辆超速报警事件"), // (对应 DEV_EVENT_HIGHSPEED_INFO)
EVENT_IVS_CROWDDETECTION(0x0000022C, "人群密度检测事件"), // (对应结构体 DEV_EVENT_CROWD_DETECTION_INFO)
EVENT_IVS_TRAFFIC_CARDISTANCESHORT(0x0000022D, "车间距过小报警事件"), // (对应 DEV_EVENT_TRAFFIC_CARDISTANCESHORT_INFO)
/**
* {@link NetSDKLib.DEV_EVENT_PEDESTRIAN_JUNCTION_INFO}
*/
EVENT_IVS_PEDESTRIAN_JUNCTION(0x00000230, "行人卡口事件"),
EVENT_IVS_VEHICLE_RECOGNITION(0x00000231, "车牌对比事件"), // (中石化智慧加油站项目)(对应 DEV_EVENT_VEHICLE_RECOGNITION_INFO)
EVENT_IVS_PASS_CHANGE(0x00000232, "预置点图片变化事件"), // (对应 DEV_EVENT_PASS_CHANGE_INFO)
EVENT_IVS_TRAFFIC_PARKING_SPACEDETECTION(0x00000233, "违停相机定制单球车位检测规则事件"), //
EVENT_IVS_TRAFFIC_WAITINGAREA(0x00000234, "违章进入待行区事件"), // (对应 DEV_EVENT_TRAFFIC_WAITINGAREA_INFO)
EVENT_IVS_TRAFFIC_BAN(0x00000235, "机动车违法禁令标识事件"), // (对应 DEV_EVENT_TRAFFIC_BAN_INFO)
EVENT_IVS_POS_EXCHANGE(0x00000236, "POS机交易事件"), // (对应 DEV_EVENT_POS_EXCHANGE_INFO)
EVENT_IVS_STEREO_FIGHTDETECTION(0x00000237, "立体行为分析打架/剧烈运动检测规则"), // (仅用于规则配置,对应事件 EVENT_IVS_FIGHTDETECTION)
EVENT_IVS_STEREO_DISTANCE_DETECTION(0x00000238, "立体行为分析间距异常/人员靠近检测"), // (仅用于规则配置,对应事件)
EVENT_IVS_STEREO_STEREOFALLDETECTION(0x00000239, "立体行为分析跌倒检测规则"), // (仅用于规则配置,对应事件 EVENT_IVS_TUMBLE_DETECTION)
EVENT_IVS_STEREO_STAYDETECTION(0x0000023A, "立体行为分析人员滞留检测规则"), // (仅用于规则配置,对应事件 EVENT_IVS_STAYDETECTION)
EVENT_IVS_BANNER_DETECTION(0x0000023B, "拉横幅事件"), // (对应 DEV_EVENT_BANNER_DETECTION_INFO)
EVENT_IVS_NORMAL_FIGHTDETECTION(0x0000023C, "普通打架事件"), // (只用于普通打架规则, 事件采用EVENT_IVS_FIGHTDETECTION)
EVENT_IVS_ELEVATOR_ABNORMAL(0x0000023D, "电动扶梯运行异常事件"), // (对应DEV_EVENT_ELEVATOR_ABNORMAL_INFO)
EVENT_IVS_NONMOTORDETECT(0x0000023E, "非机动车检测"), // (对应结构体 DEV_EVENT_NONMOTORDETECT_INFO)
EVENT_IVS_VEHICLEDETECT(0x0000023F, "机动车检测"), // (只用于规则配置事件采用EVENT_IVS_TRAFFICJUNCTION)
EVENT_IVS_TRAFFIC_PARKING_B(0x00000240, "交通违章-B类违章停车"), // (对应 DEV_EVENT_TRAFFIC_PARKING_B_INFO)
EVENT_IVS_TRAFFIC_PARKING_C(0x00000241, "交通违章-C类违章停车"), // (对应 DEV_EVENT_TRAFFIC_PARKING_C_INFO)
EVENT_IVS_TRAFFIC_PARKING_D(0x00000242, "交通违章-D类违章停车"), // (对应 DEV_EVENT_TRAFFIC_PARKING_D_INFO)
EVENT_IVSS_FACEATTRIBUTE(0x00000243, "IVSS人脸检测事件 (暂未有具体事件)"), //
EVENT_IVSS_FACECOMPARE(0x00000244, "IVSS人脸识别事件 (暂未有具体事件)"), //
EVENT_IVS_FIREWARNING(0x00000245, "火警事件"), // (对应 DEV_EVENT_FIREWARNING_INFO)
EVENT_IVS_SHOPPRESENCE(0x00000246, "商铺占道经营事件"), // (对应 DEV_EVENT_SHOPPRESENCE_INFO)
EVENT_IVS_WASTEDUMPED(0x00000247, "垃圾违章倾倒事件"), // (对应 DEV_EVENT_WASTEDUMPED_INFO)
EVENT_IVS_SPILLEDMATERIAL_DETECTION(0x00000248, "抛洒物检测事件"), // (对应 DEV_EVENT_SPILLEDMATERIAL_DETECTION_INFO)
EVENT_IVS_STEREO_MANNUM_DETECTION(0x00000249, "立体行为分析人数异常检测"), // (仅用于规则配置,对应事件 EVENT_IVS_MAN_NUM_DETECTION)
EVENT_IVS_DISTANCE_DETECTION(0x0000024A, "异常间距事件 "), // (对应 DEV_EVENT_DISTANCE_DETECTION_INFO)
EVENT_IVS_TRAFFIC_NONMOTOR_OVERLOAD(0x0000024B, "非机动车超载事件"), // (对应 DEV_EVENT_TRAFFIC_NONMOTOR_OVERLOAD_INFO)
EVENT_IVS_TRAFFIC_NONMOTOR_WITHOUTSAFEHAT(0x0000024C, "非机动车未戴安全帽事件"), // (对应 DEV_EVENT_TRAFFIC_NONMOTOR_WITHOUTSAFEHAT_INFO)
EVENT_IVS_TRAFFIC_JAM_STOP_ON_ZEBRACROSSING(0x0000024D, "拥堵滞留斑马线事件"), // (对应 DEV_EVENT_TRAFFIC_JAM_STOP_ON_ZEBRACROSSING_INFO)
EVENT_IVS_FLOWBUSINESS(0x0000024E, "流动摊贩事件"), // (对应 DEV_EVENT_FLOWBUSINESS_INFO)
EVENT_IVS_CITY_MOTORPARKING(0x0000024F, "城市机动车违停事件"), // (对应 DEV_EVENT_CITY_MOTORPARKING_INFO)
EVENT_IVS_CITY_NONMOTORPARKING(0x00000250, "城市机非动车违停事件"), // (对应 DEV_EVENT_CITY_NONMOTORPARKING_INFO)
EVENT_IVS_LANEDEPARTURE_WARNNING(0X00000251, "车道偏移预警"), // (对应 DEV_EVENT_LANEDEPARTURE_WARNNING_INFO)
EVENT_IVS_FORWARDCOLLISION_WARNNING(0x00000252, "前向碰撞预警"), // (对应 DEV_EVENT_FORWARDCOLLISION_WARNNING_INFO)
EVENT_IVS_MATERIALSSTAY(0x00000253, "物料堆放事件"), // (对应 DEV_EVENT_MATERIALSSTAY_INFO)
EVENT_IVS_TRAFFIC_NONMOTOR_HOLDUMBRELLA(0x00000254, "非机动车装载伞具"), // (对应 DEV_EVENT_TRAFFIC_NONMOTOR_HOLDUMBRELLA_INFO)
EVENT_IVS_JABLOTRON_ALARM(0x00000255, "客户报警产品"), //
EVENT_IVS_VIDEOUNFOCUS_ALARM(0x00000256, "视频虚焦事件"), // (对应DEV_EVENT_VIDEOUNFOCUS_INFO)
EVENT_IVS_FLOATINGOBJECT_DETECTION(0x00000257, "漂浮物检测事件"), // (对应 DEV_EVENT_FLOATINGOBJECT_DETECTION_INFO)
EVENT_IVS_SHIP_DETECTION(0x00000258, "船舶检测事件"), // (对应 DEV_EVENT_SHIP_DETECTION_INFO)
EVENT_IVS_AIRPLANE_DETECTION(0x00000259, "飞机行为检测事件"), // (对应 DEV_EVENT_AIRPLANE_DETECTION_INFO)
EVENT_IVS_PHONECALL_DETECT(0x0000025A, "打电话检测事件"), // (对应 DEV_EVENT_PHONECALL_DETECT_INFO)
EVENT_IVS_SMOKING_DETECT(0x0000025B, "吸烟检测事件"), // (对应 DEV_EVENT_SMOKING_DETECT_INFO)
EVENT_IVS_RADAR_SPEED_LIMIT_ALARM(0x0000025C, "雷达限速报警事件"), // (对应 DEV_EVENT_RADAR_SPEED_LIMIT_ALARM_INFO)
EVENT_IVS_WATER_LEVEL_DETECTION(0x0000025D, "水位检测事件"), // (对应 DEV_EVENT_WATER_LEVEL_DETECTION_INFO)
EVENT_IVS_HOLD_UMBRELLA(0x0000025E, "违规撑伞检测事件"), // (对应 DEV_EVENT_HOLD_UMBRELLA_INFO)
EVENT_IVS_GARBAGE_EXPOSURE(0x0000025F, "垃圾暴露检测事件"), // (对应 DEV_EVENT_GARBAGE_EXPOSURE_INFO)
EVENT_IVS_DUSTBIN_OVER_FLOW(0x00000260, "垃圾桶满溢检测事件"), // (对应 DEV_EVENT_DUSTBIN_OVER_FLOW_INFO)
EVENT_IVS_DOOR_FRONT_DIRTY(0x00000261, "门前脏乱检测事件"), // (对应 DEV_EVENT_DOOR_FRONT_DIRTY_INFO)
EVENT_IVS_QUEUESTAY_DETECTION(0X00000262, "排队滞留时间报警事件"), // (对应 DEV_EVENT_QUEUESTAY_DETECTION_INFO)
EVENT_IVS_QUEUENUM_DETECTION(0X00000263, "排队人数异常报警事件"), // (对应 DEV_EVENT_QUEUENUM_DETECTION_INFO
EVENT_IVS_GENERATEGRAPH_DETECTION(0X00000264, "生成图规则事件"), // (对应 DEV_EVENT_GENERATEGRAPH_DETECTION_INFO
EVENT_IVS_TRAFFIC_PARKING_MANUAL(0x00000265, "交通违章-手动取证"), // (对应 DEV_EVENT_TRAFFIC_PARKING_MANUAL_INFO)
EVENT_IVS_HELMET_DETECTION(0x00000266, "安全帽检测事件"), // (对应 DEV_EVENT_HELMET_DETECTION_INFO)
EVENT_IVS_DEPOSIT_DETECTION(0x00000267, "包裹堆积程度检测事件"), // (对应 DEV_EVENT_DEPOSIT_DETECTION_INFO)
EVENT_IVS_HOTSPOT_WARNING(0x00000268, "热点异常报警事件"), // (对应 DEV_EVENT_HOTSPOT_WARNING_INFO)
EVENT_IVS_WEIGHING_PLATFORM_DETECTION(0x00000269, "称重平台检测事件"), // (对应 DEV_EVENT_WEIGHING_PLATFORM_DETECTION_INFO)
EVENT_IVS_CLASSROOM_BEHAVIOR(0x0000026A, "课堂行为分析事件"), // (对应 DEV_EVENT_CLASSROOM_BEHAVIOR_INFO)
EVENT_IVS_VEHICLE_DISTANCE_NEAR(0x0000026B, "安全驾驶车距过近报警事件"), // (对应 DEV_EVENT_VEHICLE_DISTANCE_NEAR_INFO)
EVENT_IVS_TRAFFIC_DRIVER_ABNORMAL(0x0000026C, "驾驶员异常报警事件"), // (对应 DEV_EVENT_TRAFFIC_DRIVER_ABNORMAL_INFO)
EVENT_IVS_TRAFFIC_DRIVER_CHANGE(0x0000026D, "驾驶员变更报警事件"), // (对应 DEV_EVENT_TRAFFIC_DRIVER_CHANGE_INFO)
EVENT_IVS_WORKCLOTHES_DETECT(0x0000026E, "工装(安全帽/工作服等)检测事件"), // (对应 DEV_EVENT_WORKCLOTHES_DETECT_INFO)
EVENT_IVS_SECURITYGATE_PERSONALARM(0x0000026F, "安检门人员报警事件"), // (对应 DEV_EVENT_SECURITYGATE_PERSONALARM_INFO)
EVENT_IVS_STAY_ALONE_DETECTION(0x00000270, "单人独处事件"), // (对应 DEV_EVENT_STAY_ALONE_DETECTION_INFO)
EVENT_IVS_TRAFFIC_ROAD_BLOCK(0x00000271, "交通路障检测事件"), // (对应 DEV_EVENT_TRAFFIC_ROAD_BLOCK_INFO)
EVENT_IVS_TRAFFIC_ROAD_CONSTRUCTION(0x00000272, "交通道路施工检测事件"), // (对应 DEV_EVENT_TRAFFIC_ROAD_CONSTRUCTION_INFO)
EVENT_IVS_XRAY_DETECT_BYOBJECT(0x00000273, "X光按物体检测规则配置"), // , 对应事件 EVENI_IVS_XRAY_DETECTION
EVENT_IVS_WORKSTATDETECTION(0x00000274, "作业统计事件"), // (对应 DEV_EVENT_WORKSTATDETECTION_INFO)
EVENT_IVS_INFRAREDBLOCK(0x00000275, "红外阻断事件"), // (对应 DEV_EVENT_INFRAREDBLOCK_INFO)
EVENT_IVS_FEATURE_ABSTRACT(0x00000276, "特征提取事件"), // (对应 DEV_EVENT_FEATURE_ABSTRACT_INFO)
EVENT_IVS_INTELLI_SHELF(0x00000277, "智能补货事件"), // (对应 DEV_EVENT_INTELLI_SHELF_INFO)
EVENT_IVS_PANORAMA_SHOT(0x00000278, "全景抓拍事件"), // (对应 DEV_EVENT_PANORAMA_SHOT_INFO)
EVENT_ALARM_SMARTMOTION_HUMAN(0x00000279, "智能视频移动侦测事件(人)"), // ,目前只用于订阅手机推送, 无具体事件
EVENT_ALARM_SMARTMOTION_VEHICLE(0x0000027A, "智能视频移动侦测事件(车)"), // ,目前只用于订阅手机推送, 无具体事件
EVENT_IVS_CAR_DRIVING_IN_OUT(0x0000027B, "车辆驶入驶出状态事件"), // (对应 DEV_EVENT_CAR_DRIVING_IN_OUT_INFO)
EVENT_IVS_PARKINGSPACE_STATUS(0x0000027C, "停车位状态事件"), // (对应 DEV_EVENT_PARKINGSPACE_STATUS_INFO)
EVENT_IVS_VIOLENT_THROW_DETECTION(0x0000027D, "暴力抛物检测"), // (对应 DEV_EVENT_VIOLENT_THROW_DETECTION_INFO)
EVENT_IVS_TRAMCARSECTIONS_DETECTION(0x0000027E, "矿车超挂报警事件"), // (对应 DEV_EVENT_TRAMCARSECTIONS_DETECTION_INFO)
EVENT_IVS_ALARM_BOX_ALARM(0x0000027F, "报警盒通道的触发报警事件"), // , 目前只用于订阅手机推送
EVENT_IVS_FACE_COMPARISION(0x00000280, "人脸比对事件"), // , 专用于手机推送的人脸识别事件, 目前只用于订阅手机推送
EVENT_IVS_FACEBODY_DETECT(0x00000281, "人像检测事件"), // (对应 DEV_EVENT_FACEBODY_DETECT_INFO
EVENT_IVS_FACEBODY_ANALYSE(0x00000282, "人像识别事件"), // (对应 DEV_EVENT_FACEBODY_ANALYSE_INFO
EVENT_IVS_GASSTATION_VEHICLE_DETECT(0x00000283, "加油站车辆检测事件"), // (对应 DEV_EVENT_GASSTATION_VEHICLE_DETECT_INFO)
EVENT_IVS_CONGESTION_DETECTION(0x00000284, "道路场景车辆拥堵报警事件"), // (对应 DEV_EVENT_CONGESTION_DETECTION_INFO
EVENT_IVS_VEHICLELIMIT_DETECTION(0x00000285, "停车场场景下停车车辆上限报警"), // (对应 DEV_EVENT_VEHICLELIMIT_DETECTION_INFO
EVENT_IVS_ANIMAL_DETECTION(0x00000286, "动物检测事件"), // ,(对应 DEV_EVENT_ANIMAL_DETECTION_INFO)
/**
* {@link com.zhehekeji.web.lib.joyware.structure.DEV_EVENT_SHOP_WINDOW_POST_INFO}
*/
EVENT_IVS_SHOP_WINDOW_POST(0x00000287, "橱窗张贴事件"),
/**
* ( DEV_EVENT_SHOP_SIGN_ABNORMAL_INFO)
* {@link com.zhehekeji.web.lib.joyware.structure.DEV_EVENT_SHOP_SIGN_ABNORMAL_INFO}
*/
EVENT_IVS_SHOP_SIGN_ABNORMAL(0x00000288, "店招异常事件"),
EVENT_IVS_BREED_DETECTION(0x00000289, "智慧养殖检测事件"), // (对应 DEV_EVENT_BREED_DETECTION_INFO)
EVENT_IVS_AIRPORT_VEHICLE_DETECT(0x0000028A, "机场智能保障车辆检测事件"), // (对应 DEV_EVENT_AIRPORT_VEHICLE_DETECT_INFO)
EVENT_IVS_PIG_TEMPERATURE_DETECT(0x0000028B, "智慧养殖猪体温检测"), // (只用于规则配置)
EVENT_IVS_MAN_CAR_COEXISTANCE(0x0000028C, "人车共存事件"), // (对应 DEV_EVENT_MAN_CAR_COEXISTANCE_INFO)
EVENT_IVS_HIGH_TOSS_DETECT(0x0000028D, "高空抛物检测"), // (对应DEV_EVENT_HIGH_TOSS_DETECT_INFO)
EVENT_IVS_ELECTRIC_GLOVE_DETECT(0x0000028E, "电力检测手套检测事件"), // (对应DEV_EVENT_ELECTRIC_GLOVE_DETECT_INFO)
EVENT_IVS_ELECTRIC_LADDER_DETECT(0x0000028F, "电力检测梯子检测事件"), // (对应DEV_EVENT_ELECTRIC_LADDER_DETECT_INFO)
EVENT_IVS_ELECTRIC_CURTAIN_DETECT(0x00000290, "电力检测布幔检测事件"), // (对应DEV_EVENT_ELECTRIC_CURTAIN_DETECT_INFO)
EVENT_IVS_ELECTRIC_FENCE_DETECT(0x00000291, "电力检测围栏检测事件"), // (对应DEV_EVENT_ELECTRIC_FENCE_DETECT_INFO)
EVENT_IVS_ELECTRIC_SIGNBOARD_DETECT(0x00000292, "电力检测标识牌检测事件"), // (对应DEV_EVENT_ELECTRIC_SIGNBOARD_DETECT_INFO)
EVENT_IVS_ELECTRIC_BELT_DETECT(0x00000293, "电力检测安全带检测事件"), // (对应DEV_EVENT_ELECTRIC_BELT_DETECT_INFO)
EVENT_IVS_RADAR_LINE_DETECTION(0x00000294, "雷达警戒线/绊线检测"), // (对应DEV_EVENT_RADAR_LINE_DETECTION_INFO)
EVENT_IVS_RADAR_REGION_DETECTION(0x00000295, "雷达警戒区检测事件"), // (对应DEV_EVENT_RADAR_REGION_DETECTION_INFO)
EVENT_IVS_AUDIO_INTENSITY(0x00000296, "异常音事件"), // (对应 DEV_EVENT_AUDIO_INTENSITY_INFO)
EVENT_IVS_PARKING_LOT_STATUS_DETECTION(0x00000297, "室外停车位状态检测"), // (对应 DEV_EVENT_PARKING_LOT_STATUS_DETECTION_INFO)
EVENT_IVS_VEHICLE_COMPARE(0x00000298, ""), // (只用于规则配置)
EVENT_IVS_DREGS_UNCOVERED(0x00000299, "渣土车未遮盖载货检测事件"), // (对应 DEV_EVENT_DREGS_UNCOVERED_INFO)
EVENT_IVS_WALK_DETECTION(0x0000029A, "走动检测事件"), // (对应 DEV_EVENT_WALK_DETECTION_INFO)
EVENT_IVS_BACK_TO_DETECTION(0x0000029B, "背对检测事件"), // (对应 DEV_EVENT_BACK_TO_DETECTION_INFO)
EVENT_IVS_WRITE_ON_THE_BOARD_DETECTION(0x0000029C, "板书检测事件"), // (对应 DEV_EVENT_WRITE_ON_THE_BOARD_DETECTION_INFO)
EVENT_IVS_SMART_KITCHEN_CLOTHES_DETECTION(0x0000029D, "智慧厨房穿着检测事件"), // (对不戴口罩、厨师帽以及颜色不符合规定的厨师服进行报警)(对应 DEV_EVENT_SMART_KITCHEN_CLOTHES_DETECTION_INFO
EVENT_IVS_SLEEP_DETECT(0x0000029E, "睡觉检测事件"), // (对应 DEV_EVENT_SLEEP_DETECT_INFO)
EVENT_IVS_WALK_AROUND_DETECT(0x0000029F, "随意走动检测事件"), // (对应 DEV_EVENT_WALK_AROUND_DETECT_INFO)
EVENT_IVS_PLAY_MOBILEPHONE(0x00000300, "玩手机事件"), // (对应 DEV_EVENT_PLAY_MOBILEPHONE_INFO)
EVENT_IVS_FINANCE_CONTRABAND_DETECT(0x00000301, "智慧金融违规物品检测事件"), // (对应 DEV_EVENT_FINANCE_CONTRABAND_DETECT_INFO)
EVENT_IVS_FINANCE_CASH_TRANSACTION(0x00000302, "智慧金融现金交易检测事件"), // (对应 DEV_EVENT_FINANCE_CASH_TRANSACTION_INFO)
/**
* ( DEV_EVENT_ANATOMY_TEMP_DETECT_INFO)
*/
EVENT_IVS_ANATOMY_TEMP_DETECT(0x00000303, "人体温智能检测事件"),
EVENT_IVS_ACTIVITY_ANALYSE(0x00000304, "活跃度统计规则"), // (只用于规则配置)
EVENT_IVS_DOOR_STATUS(0x00000305, "门状态事件"), // (对应 DEV_EVENT_DOOR_STATUS_INFO)
EVENT_IVS_DHOP_CUSTOM(0x00000306, "Dhop自定义事件"), // (start/stop, 对应 DEV_EVENT_DHOP_CUSTOM_INFO)
EVENT_IVS_DHOP_CUSTOM_ONCE(0x00000307, "Dhop自定义事件"), // (Pulse, 对应 DEV_EVENT_DHOP_CUSTOM_INFO)
EVENT_IVS_FOG_DETECTION(0x00000308, "起雾检测事件"), // (对应 DEV_EVENT_FOG_DETECTION)
EVENT_IVS_TRAFFIC_VEHICLE_RACE(0x00000309, "飙车事件"), // (对应 DEV_EVENT_TRAFFIC_VEHICLE_RACE
EVENT_IVS_TRAFFIC_MOTOR_OVERLOAD(0x0000030A, "机动车超载"), // (对应 DEV_EVENT_TRAFFIC_MOTOR_OVERLOAD_INFO)
EVENT_IVS_TRAFFIC_PLATE_OCCLUSION(0x0000030B, "车牌污损"), // (对应 DEV_EVENT_TRAFFIC_PLATE_OCCLUSION_INFO)
EVENT_IVS_NONMOTOR_ENTRYING(0x0000030C, "非机动车进入电梯"), // (对应 DEV_EVENT_NONMOTOR_ENTRYING_INFO)
EVENT_IVS_WATER_STAGE_MONITOR(0x0000030D, "水位监测事件"), // , 目前仅用于任务型智能分析 (对应 DEV_EVENT_WATER_STAGE_MONITOR_INFO)
EVENT_IVS_TRAFFIC_ROAD_ALERT(0x0000030E, "道路安全预警"), // (对应 DEV_EVENT_TRAFFIC_ROAD_ALERT_INFO)
EVENT_IVS_BREAK_RULE_BUILDING_DETECTION(0x0000030F, "违章建筑检测事件"), // (对应 DEV_EVENT_BREAK_RULE_BUILDIING_DETECTION_INFO)
EVENT_IVS_TRAFFIC_NONMOTOR_RUN_REDLIGHT(0x00000310, "非机动车闯红灯"), // (对应 DEV_EVENT_TRAFFIC_NONMOTOR_RUN_REDLIGHT_INFO )
EVENT_IVS_STREET_SUNCURE(0x00000347,"沿街晾晒事件"), //对应DEV_EVENT_STREET_SUNCURE_INFO
EVENT_IVS_OUTDOOR_ADVERTISEMENT(0x00000348,"户外广告事件"), //对应DEV_EVENT_OUTDOOR_ADVERTISEMENT_INFO
EVENT_IVS_HUDDLE_MATERIAL(0x00000349,"乱堆物料检测事件"), //对应DEV_EVENT_HUDDLE_MATERIAL_INFO
EVENT_IVS_FOLLOW_CAR_ALARM(0x0000034F,"跟车报警事件"); //对应DEV_EVENT_FOLLOW_CAR_ALARM_INFO
private int type;
private String description;
private EM_EVENT_IVS_TYPE(int type, String description) {
this.type = type;
this.description = description;
}
public static EM_EVENT_IVS_TYPE getEventType(int type) {
for (EM_EVENT_IVS_TYPE event : EM_EVENT_IVS_TYPE.values()) {
if (type == event.getType()) {
return event;
}
}
return null;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}

@ -1,57 +0,0 @@
package com.zhehekeji.web.lib.joyware.enumeration;
/**
* @author 251823
* @description
* @date 2021/01/11
*/
public enum EM_FEATURE_LIST_TYPE {
// 未知
EM_FEATURE_LIST_UNKNOWN(0, "未知"),
// 是否戴口罩
EM_FEATURE_LIST_HAS_MASK(1, "是否戴口罩"),
// 是否戴厨师帽
EM_FEATURE_LIST_HAS_CHEF_HAT(2, "是否戴厨师帽"),
// 是否穿厨师服
EM_FEATURE_LIST_HAS_CHEF_CLOTHES(3, "是否穿厨师服"),
// 厨师服的颜色
EM_FEATURE_LIST_CHEF_CLOTHES_COLOR(4, "厨师服的颜色");
private int value;
private String note;
private EM_FEATURE_LIST_TYPE(int givenValue, String note) {
this.value = givenValue;
this.note = note;
}
public String getNote() {
return note;
}
public int getValue() {
return value;
}
public static String getNoteByValue(int givenValue) {
for (EM_FEATURE_LIST_TYPE enumType : EM_FEATURE_LIST_TYPE.values()) {
if (givenValue == enumType.getValue()) {
return enumType.getNote();
}
}
return null;
}
public static int getValueByNote(String givenNote) {
for (EM_FEATURE_LIST_TYPE enumType : EM_FEATURE_LIST_TYPE.values()) {
if (givenNote.equals(enumType.getNote())) {
return enumType.getValue();
}
}
return -1;
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save