package com.ruoyi.lib;
import com.ruoyi.lib.enumeration.EM_FILTER_IMAGE_TYPE;
import com.ruoyi.lib.structure.*;
import com.sun.jna.*;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.win32.StdCallLibrary.StdCallCallback;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* NetSDK JNA接口封装
*/
public interface NetSDKLib extends Library {
NetSDKLib NETSDK_INSTANCE = Native.load(LibraryLoad.getLoadLibrary("dhnetsdk"), NetSDKLib.class);
NetSDKLib CONFIG_INSTANCE = Native.load(LibraryLoad.getLoadLibrary("dhconfigsdk"), NetSDKLib.class);
//NetSDKLib CONFIG_JNI = (NetSDKLib)Native.loadLibrary(util.getLoadLibrary("JNI1.dll"), INetSDK.class);
class LLong extends IntegerType {
private static final long serialVersionUID = 1L;
/** Size of a native long, in bytes. */
public static int size;
static {
size = Native.LONG_SIZE;
if (Utils.getOsPrefix().equalsIgnoreCase("linux-amd64")
|| Utils.getOsPrefix().equalsIgnoreCase("win32-amd64")
|| Utils.getOsPrefix().equalsIgnoreCase("mac-64")) {
size = 8;
} else if (Utils.getOsPrefix().equalsIgnoreCase("linux-i386")
|| Utils.getOsPrefix().equalsIgnoreCase("win32-x86")) {
size = 4;
}
}
/** Create a zero-valued LLong. */
public LLong() {
this(0);
}
/** Create a LLong with the given value. */
public LLong(long value) {
super(size, value);
}
}
public static class SdkStructure extends Structure {
@Override
protected List<String> getFieldOrder(){
List<String> fieldOrderList = new ArrayList<String>();
for (Class<?> cls = getClass();
!cls.equals(SdkStructure.class);
cls = cls.getSuperclass()) {
Field[] fields = cls.getDeclaredFields();
int modifiers;
for (Field field : fields) {
modifiers = field.getModifiers();
if (Modifier.isStatic(modifiers) || !Modifier.isPublic(modifiers)) {
continue;
}
fieldOrderList.add(field.getName());
}
}
// System.out.println(fieldOrderList);
return fieldOrderList;
}
@Override
public int fieldOffset(String name){
return super.fieldOffset(name);
}
}
/************************************************************************
** 常量定义
***********************************************************************/
public static final int NET_SERIALNO_LEN = 48; // 设备序列号字符长度
public static final int NET_CFG_Max_VideoColor = 24; // 每个通道最大视频输入颜色配置数量
public static final int NET_CFG_Custom_Title_Len = 1024; // 自定义标题名称长度(扩充到1024)
public static final int NET_CFG_Custom_TitleType_Len = 32; // 自定义标题类型长度
public static final int NET_CFG_Max_Video_Widget_Cover = 16; // 编码区域覆盖最大数量
public static final int NET_CFG_Max_Video_Widget_Custom_Title = 8; // 编码物件自定义标题最大数量
public static final int NET_CFG_Max_Video_Widget_Sensor_Info = 2; // 编码物件叠加传感器信息的最大数目
public static final int NET_CFG_Max_Description_Num = 4; // 叠加区域描述信息的最大个数
// 错误类型代号,对应CLIENT_GetLastError接口的返回值, 十进制
// CLIENT_StartListenEx报警事件
public static final int NET_ALARM_ALARM_EX = 0x2101; // 外部报警,数据字节数与设备报警通道个数相同,每个字节表示一个报警通道的报警状态,1为有报警,0为无报警。
public static final int NET_MOTION_ALARM_EX = 0x2102; // 动态检测报警,数据字节数与设备视频通道个数相同,每个字节表示一个视频通道的动态检测报警状态,1为有报警,0为无报警。
public static final int NET_VIDEOLOST_ALARM_EX = 0x2103; // 视频丢失报警,数据字节数与设备视频通道个数相同,每个字节表示一个视频通道的视频丢失报警状态,1为有报警,0为无报警。
public static final int NET_SHELTER_ALARM_EX = 0x2104; // 视频遮挡报警,数据字节数与设备视频通道个数相同,每个字节表示一个视频通道的遮挡(黑屏)报警状态,1为有报警,0为无报警。
public static final int NET_DISKFULL_ALARM_EX = 0x2106; // 硬盘满报警,数据为1个字节,1为有硬盘满报警,0为无报警。
public static final int NET_DISKERROR_ALARM_EX = 0x2107; // 坏硬盘报警,数据为32个字节,每个字节表示一个硬盘的故障报警状态,1为有报警,0为无报警。
public static final int NET_TRAF_CONGESTION_ALARM_EX = 0x211A; // 交通阻塞报警(车辆出现异常停止或者排队)(对应结构体 ALARM_TRAF_CONGESTION_INFO)
public static final int NET_ALARM_ACC_POWEROFF = 0x211E; // ACC断电报警,数据为 DWORD 0:ACC通电 1:ACC断电
public static final int NET_ALARM_3GFLOW_EXCEED = 0x211F; // 3G流量超出阈值报警(对应结构体 DHDEV_3GFLOW_EXCEED_STATE_INFO)
public static final int NET_ALARM_ENCLOSURE = 0x2126; // 电子围栏报警(对应结构体 ALARM_ENCLOSURE_INFO)
public static final int NET_ALARM_RAID_STATE = 0x2128; // RAID异常报警(对应结构体 ALARM_RAID_INFO)
public static final int NET_ALARM_TRAFFIC_FLUX_STAT = 0x212E; // 交通流量统计报警(对应结构体ALARM_TRAFFIC_FLUX_LANE_INFO)
public static final int NET_ALARM_FRONTDISCONNECT = 0x2132; // 前端IPC断网报警(对应结构体 ALARM_FRONTDISCONNET_INFO)
public static final int NET_ALARM_BATTERYLOWPOWER = 0x2134; // 电池电量低报警(对应结构体 ALARM_BATTERYLOWPOWER_INFO)
public static final int NET_ALARM_TEMPERATURE = 0x2135; // 温度过高报警(对应结构体 ALARM_TEMPERATURE_INFO)
public static final int NET_ALARM_STORAGE_FAILURE_EX = 0x2163; // 存储错误报警(对应结构体 ALARM_STORAGE_FAILURE_EX)
public static final int NET_ALARM_TALKING_INVITE = 0x2171; // 设备请求对方发起对讲事件(对应结构体 ALARM_TALKING_INVITE_INFO)
public static final int NET_ALARM_ALARM_EX2 = 0x2175; // 本地报警事件(对应结构体ALARM_ALARM_INFO_EX2,对NET_ALARM_ALARM_EX升级)
public static final int NET_ALARM_IPC = 0x218c; // IPC报警,IPC通过DVR或NVR上报的本地报警(对应结构体 ALARM_IPC_INFO)
public static final int NET_EVENT_VIDEOABNORMALDETECTION = 0x218e; // 视频异常事件(对应ALARM_VIDEOABNORMAL_DETECTION_INFO)
public static final int NET_CONFIG_RESULT_EVENT_EX = 0x3000; // 修改配置的返回码;返回结构见 DEV_SET_RESULT
public static final int NET_START_LISTEN_FINISH_EVENT = 0x300c; // 订阅事件接口完成异步通知事件, 信息为 START_LISTEN_FINISH_RESULT_INFO
public static final int NET_ALARM_STORAGE_NOT_EXIST = 0x3167; // 存储组不
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
大华SDK+java+4G网络摄像头 (2000个子文件)
NetSDKLib.class 261KB
Res.class 66KB
ENUMERROR.class 57KB
EM_EVENT_TYPE.class 42KB
EM_EVENT_IVS_TYPE.class 36KB
LastError.class 25KB
EM_NEW_CONFIG.class 24KB
ErrorCode.class 18KB
ToolKits.class 13KB
BaseModule.class 12KB
NetSDKLib$CtrlType.class 11KB
EM_EVENT_IVS.class 10KB
EM_SCENE_TYPE.class 8KB
NetSDKLib$EM_CAR_TYPE.class 8KB
EM_IPC_TYPE.class 7KB
EMDeviceType.class 7KB
NET_EM_CFG_OPERATE_TYPE.class 7KB
EM_TRAFFIC_SNAP_STROBE_FAULT_CODE_TYPE.class 6KB
EM_NEW_QUERY_SYSTEM_INFO.class 6KB
ServiceCB.class 6KB
BaseDemo.class 6KB
LibraryLoad.class 5KB
NetSDKLib$VIOLATIONCODE_INFO.class 5KB
LoginModule.class 5KB
NetSDKLib$CFG_ANALYSEGLOBAL_INFO.class 5KB
NET_EM_FAILCODE.class 5KB
NetSDKLib$VIOLATION_TIME_SCHEDULE.class 5KB
NetSDKLib$NET_ALARM_MSG_HANDLE.class 5KB
DeviceInfo.class 5KB
NetSDKLib$CFG_ALARM_MSG_HANDLE.class 5KB
NetSDKLib$TRAFFIC_EVENT_CHECK_INFO.class 5KB
Base64$Decoder.class 4KB
NetSDKLib$TRAFFIC_EVENT_CHECK_MASK.class 4KB
EM_CUSTOM_EDUCATION_VOICE_TYPE.class 4KB
NetSDKLib$NET_RECORDSET_ACCESS_CTL_CARD.class 4KB
EM_TRAFFIC_SNAP_STROBE_ACTION_REASON_TYPE.class 4KB
CFG_EM_BODY_TRAIT.class 4KB
Base64$Encoder.class 4KB
EM_SOLARCELL_SYSTEM_FAULT_TYPE.class 4KB
NetSDKLib$CFG_CATEGORY_TYPE.class 4KB
NetSDKLib$CFG_MODULE_INFO.class 4KB
LoginPanel.class 4KB
NET_EM_LOGIC_CHANNEL.class 4KB
NetSDKLib$NET_EXTPTZ_ControlType.class 4KB
NetSDKLib$EM_CITIZENIDCARD_ETHNICITY_TYPE.class 4KB
NET_MONITORWALL_OPERATE_TYPE.class 3KB
Utils.class 3KB
EM_VSP_GAVI_PLATFORM_CODE.class 3KB
NetSDKLib$NET_ACCESS_DOOROPEN_METHOD.class 3KB
PlayModule.class 3KB
NetSDKLib$DEV_EVENT_TRAFFICJUNCTION_INFO.class 3KB
NetSDKLib$DEV_EVENT_ACCESS_CTL_INFO.class 3KB
NetSDKLib$CFG_ACCESS_EVENT_INFO.class 3KB
NetSDKLib$NET_PRODUCTION_DEFNITION.class 3KB
NetSDKLib$NET_EM_FAILCODE.class 3KB
NetSDKLib$ALARM_TAFFIC_JUNCTION_INFO.class 3KB
NetSDKLib$ALARM_ACCESS_CTL_EVENT_INFO.class 3KB
NetSDKLib$ENUM_UAV_MODE.class 3KB
CFG_ACCESS_GENERAL_INFO.class 3KB
NativeString.class 3KB
NetSDKLib$DEV_EVENT_CROSSREGION_INFO.class 3KB
NetSDKLib$EM_ANALYSE_EVENT_TYPE.class 3KB
CaseMenu.class 3KB
RealPlayByDataTypeDemo.class 3KB
NetSDKLib$NET_ACCESS_USER_INFO.class 3KB
NetSDKLib$DEV_EVENT_HIGH_TOSS_DETECT_INFO.class 3KB
CFG_EM_VOICE_ID.class 3KB
NetSDKLib$NET_RECORDSET_ACCESS_CTL_CARDREC.class 3KB
DEV_EVENT_TRAFFIC_PEDESTRAINRUNREDLIGHT_INFO.class 3KB
NetSDKLib$DEV_EVENT_TRAFFIC_TRAFFICCAR_INFO.class 3KB
NetSDKLib$EM_SCENE_CLASS_TYPE.class 3KB
NetSDKLib$DEV_EVENT_TRAFFICGATE_INFO.class 3KB
DynamicParseUtil.class 3KB
CaseMenu.class 3KB
NetSDKLib$EM_CLASS_TYPE.class 3KB
EventTaskCommonQueue.class 3KB
DynamicParseUtil$DynamicLibParseHandler.class 3KB
NetSDKLib$DEV_EVENT_FACERECOGNITION_INFO.class 3KB
NetSDKLib$CFG_DOOR_OPEN_METHOD.class 3KB
CFG_EM_FACE_SNAP_POLICY.class 3KB
EM_CUSTOM_DEV_PROTOCOL_TYPE.class 3KB
FunctionList$FunctionPanel.class 3KB
NetSDKLib$NET_MSG_OBJECT_EX2.class 3KB
EM_COURSECOMPOSITE_OPERATE_TYPE.class 3KB
NetSDKLib$NET_DEVICE_TYPE.class 3KB
CFG_CAP_SCENE.class 3KB
NetSDKLib$NET_DEVICE_PROTOCOL.class 3KB
EM_VEHICLEINOUT_CAR_TYPE.class 3KB
NET_RADIOMETRY_RESULT.class 3KB
EM_PTZ_UNSUPPORT_DIRECTION.class 3KB
CFG_PTZ_PROTOCOL_CAPS_INFO.class 3KB
NetSDKLib$EM_CATEGORY_TYPE.class 3KB
NetSDKLib$DEV_EVENT_TRAFFIC_PARKING_INFO.class 3KB
NetSDKLib$EM_SCENE_TYPE.class 3KB
NetSDKLib$DEV_EVENT_CITIZEN_PICTURE_COMPARE_INFO.class 3KB
NetSDKLib$DEV_EVENT_TRAFFIC_PARKINGSPACENOPARKING_INFO.class 3KB
EM_ENTRY_DIRECTION.class 3KB
MEDIAFILE_FACERECOGNITION_INFO.class 3KB
NetSDKLib$DEV_EVENT_TRAFFIC_PARKINGSPACEPARKING_INFO.class 3KB
NET_EM_2DCODE_TYPE.class 3KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
Cljxy~
- 粉丝: 23
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功