|
|
@@ -0,0 +1,492 @@
|
|
|
+package com.zd.laboratory.utils.door.lib;
|
|
|
+
|
|
|
+import com.sun.jna.*;
|
|
|
+import com.sun.jna.ptr.IntByReference;
|
|
|
+
|
|
|
+import java.lang.reflect.Field;
|
|
|
+import java.lang.reflect.Modifier;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Author donggaosheng
|
|
|
+ * @Date 2023-11-29
|
|
|
+ * @description
|
|
|
+ **/
|
|
|
+public interface NetSDKLibs extends Library {
|
|
|
+ NetSDKLibs NETSDK_INSTANCE = Native.load(LibraryLoad.getLoadLibrary("dhnetsdk"), NetSDKLibs.class);
|
|
|
+
|
|
|
+ NetSDKLibs CONFIG_INSTANCE = Native.load(LibraryLoad.getLoadLibrary("dhconfigsdk"), NetSDKLibs.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_DEVSTATE_DOOR_STATE = 0x0159; // 查询门禁状态(对应NET_DOOR_STATUS_INFO)
|
|
|
+
|
|
|
+ public static final int MAX_LOG_PATH_LEN = 260; // 日志路径名最大长度
|
|
|
+
|
|
|
+ public static final int MAX_COMMON_STRING_32 = 32; // 通用字符串长度32
|
|
|
+
|
|
|
+ // 设备信息扩展///////////////////////////////////////////////////
|
|
|
+ public static class NET_DEVICEINFO_Ex extends SdkStructure {
|
|
|
+ public byte[] sSerialNumber = new byte[NET_SERIALNO_LEN]; // 序列号
|
|
|
+ public int byAlarmInPortNum; // DVR报警输入个数
|
|
|
+ public int byAlarmOutPortNum; // DVR报警输出个数
|
|
|
+ public int byDiskNum; // DVR硬盘个数
|
|
|
+ public int byDVRType; // DVR类型,见枚举NET_DEVICE_TYPE
|
|
|
+ public int byChanNum; // DVR通道个数
|
|
|
+ public byte byLimitLoginTime; // 在线超时时间,为0表示不限制登陆,非0表示限制的分钟数
|
|
|
+ public byte byLeftLogTimes; // 当登陆失败原因为密码错误时,通过此参数通知用户,剩余登陆次数,为0时表示此参数无效
|
|
|
+ public byte[] bReserved = new byte[2]; // 保留字节,字节对齐
|
|
|
+ public int byLockLeftTime; // 当登陆失败,用户解锁剩余时间(秒数), -1表示设备未设置该参数
|
|
|
+ public byte[] Reserved = new byte[24]; // 保留
|
|
|
+ }
|
|
|
+
|
|
|
+ // 控制类型,对应CLIENT_ControlDevice接口
|
|
|
+ public static class CtrlType extends NetSDKLibs.SdkStructure
|
|
|
+ {
|
|
|
+ public static final int CTRLTYPE_CTRL_REBOOT = 0;//重启设备
|
|
|
+ public static final int CTRLTYPE_CTRL_SHUTDOWN = CTRLTYPE_CTRL_REBOOT+1; //关闭设备
|
|
|
+ public static final int CTRLTYPE_CTRL_DISK = CTRLTYPE_CTRL_SHUTDOWN+1; //硬盘管理
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_POWER =3;//网络键盘
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_ENTER = CTRLTYPE_KEYBOARD_POWER+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_ESC = CTRLTYPE_KEYBOARD_ENTER+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_UP = CTRLTYPE_KEYBOARD_ESC+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_DOWN = CTRLTYPE_KEYBOARD_UP+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_LEFT = CTRLTYPE_KEYBOARD_DOWN+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_RIGHT = CTRLTYPE_KEYBOARD_LEFT+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN0 = CTRLTYPE_KEYBOARD_RIGHT+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN1 = CTRLTYPE_KEYBOARD_BTN0+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN2 = CTRLTYPE_KEYBOARD_BTN1+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN3 = CTRLTYPE_KEYBOARD_BTN2+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN4 = CTRLTYPE_KEYBOARD_BTN3+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN5 = CTRLTYPE_KEYBOARD_BTN4+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN6 = CTRLTYPE_KEYBOARD_BTN5+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN7 = CTRLTYPE_KEYBOARD_BTN6+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN8 = CTRLTYPE_KEYBOARD_BTN7+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN9 = CTRLTYPE_KEYBOARD_BTN8+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN10 = CTRLTYPE_KEYBOARD_BTN9+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN11 = CTRLTYPE_KEYBOARD_BTN10+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN12 = CTRLTYPE_KEYBOARD_BTN11+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN13 = CTRLTYPE_KEYBOARD_BTN12+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN14 = CTRLTYPE_KEYBOARD_BTN13+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN15 = CTRLTYPE_KEYBOARD_BTN14+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BTN16 = CTRLTYPE_KEYBOARD_BTN15+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_SPLIT = CTRLTYPE_KEYBOARD_BTN16+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_ONE = CTRLTYPE_KEYBOARD_SPLIT+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_NINE = CTRLTYPE_KEYBOARD_ONE+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_ADDR = CTRLTYPE_KEYBOARD_NINE+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_INFO = CTRLTYPE_KEYBOARD_ADDR+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_REC = CTRLTYPE_KEYBOARD_INFO+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_FN1 = CTRLTYPE_KEYBOARD_REC+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_FN2 = CTRLTYPE_KEYBOARD_FN1+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_PLAY = CTRLTYPE_KEYBOARD_FN2+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_STOP = CTRLTYPE_KEYBOARD_PLAY+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_SLOW = CTRLTYPE_KEYBOARD_STOP+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_FAST = CTRLTYPE_KEYBOARD_SLOW+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_PREW = CTRLTYPE_KEYBOARD_FAST+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_NEXT = CTRLTYPE_KEYBOARD_PREW+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_JMPDOWN = CTRLTYPE_KEYBOARD_NEXT+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_JMPUP = CTRLTYPE_KEYBOARD_JMPDOWN+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_10PLUS = CTRLTYPE_KEYBOARD_JMPUP+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_SHIFT = CTRLTYPE_KEYBOARD_10PLUS+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_BACK = CTRLTYPE_KEYBOARD_SHIFT+1;
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_LOGIN = CTRLTYPE_KEYBOARD_BACK+1; // 新网络键盘功能
|
|
|
+ public static final int CTRLTYPE_KEYBOARD_CHNNEL = CTRLTYPE_KEYBOARD_LOGIN+1; // 切换视频通道
|
|
|
+ public static final int CTRLTYPE_TRIGGER_ALARM_IN =100; // 触发报警输入
|
|
|
+ public static final int CTRLTYPE_TRIGGER_ALARM_OUT = CTRLTYPE_TRIGGER_ALARM_IN+1; // 触发报警输出
|
|
|
+ public static final int CTRLTYPE_CTRL_MATRIX = CTRLTYPE_TRIGGER_ALARM_OUT+1; // 矩阵控制
|
|
|
+ public static final int CTRLTYPE_CTRL_SDCARD = CTRLTYPE_CTRL_MATRIX+1; // SD卡控制(IPC产品)参数同硬盘控制
|
|
|
+ public static final int CTRLTYPE_BURNING_START = CTRLTYPE_CTRL_SDCARD+1; // 刻录机控制,开始刻录
|
|
|
+ public static final int CTRLTYPE_BURNING_STOP = CTRLTYPE_BURNING_START+1; // 刻录机控制,结束刻录
|
|
|
+ public static final int CTRLTYPE_BURNING_ADDPWD = CTRLTYPE_BURNING_STOP+1; // 刻录机控制,叠加密码(以'\0'为结尾的字符串,最大长度8位)
|
|
|
+ public static final int CTRLTYPE_BURNING_ADDHEAD = CTRLTYPE_BURNING_ADDPWD+1; // 刻录机控制,叠加片头(以'\0'为结尾的字符串,最大长度1024字节,支持分行,行分隔符'\n')
|
|
|
+ public static final int CTRLTYPE_BURNING_ADDSIGN = CTRLTYPE_BURNING_ADDHEAD+1; // 刻录机控制,叠加打点到刻录信息(参数无)
|
|
|
+ public static final int CTRLTYPE_BURNING_ADDCURSTOMINFO = CTRLTYPE_BURNING_ADDSIGN+1; // 刻录机控制,自定义叠加(以'\0'为结尾的字符串,最大长度1024字节,支持分行,行分隔符'\n')
|
|
|
+ public static final int CTRLTYPE_CTRL_RESTOREDEFAULT = CTRLTYPE_BURNING_ADDCURSTOMINFO+1; // 恢复设备的默认设置
|
|
|
+ public static final int CTRLTYPE_CTRL_CAPTURE_START = CTRLTYPE_CTRL_RESTOREDEFAULT+1; // 触发设备抓图
|
|
|
+ public static final int CTRLTYPE_CTRL_CLEARLOG = CTRLTYPE_CTRL_CAPTURE_START+1; // 清除日志
|
|
|
+ public static final int CTRLTYPE_TRIGGER_ALARM_WIRELESS =200; // 触发无线报警(IPC产品)
|
|
|
+ public static final int CTRLTYPE_MARK_IMPORTANT_RECORD = CTRLTYPE_TRIGGER_ALARM_WIRELESS+1; // 标识重要录像文件
|
|
|
+ public static final int CTRLTYPE_CTRL_DISK_SUBAREA = CTRLTYPE_MARK_IMPORTANT_RECORD+1; // 网络硬盘分区
|
|
|
+ public static final int CTRLTYPE_BURNING_ATTACH = CTRLTYPE_CTRL_DISK_SUBAREA+1; // 刻录机控制,附件刻录.
|
|
|
+ public static final int CTRLTYPE_BURNING_PAUSE = CTRLTYPE_BURNING_ATTACH+1; // 刻录暂停
|
|
|
+ public static final int CTRLTYPE_BURNING_CONTINUE = CTRLTYPE_BURNING_PAUSE+1; // 刻录继续
|
|
|
+ public static final int CTRLTYPE_BURNING_POSTPONE = CTRLTYPE_BURNING_CONTINUE+1; // 刻录顺延
|
|
|
+ public static final int CTRLTYPE_CTRL_OEMCTRL = CTRLTYPE_BURNING_POSTPONE+1; // 报停控制
|
|
|
+ public static final int CTRLTYPE_BACKUP_START = CTRLTYPE_CTRL_OEMCTRL+1; // 设备备份开始
|
|
|
+ public static final int CTRLTYPE_BACKUP_STOP = CTRLTYPE_BACKUP_START+1; // 设备备份停止
|
|
|
+ public static final int CTRLTYPE_VIHICLE_WIFI_ADD = CTRLTYPE_BACKUP_STOP+1; // 车载手动增加WIFI配置
|
|
|
+ public static final int CTRLTYPE_VIHICLE_WIFI_DEC = CTRLTYPE_VIHICLE_WIFI_ADD+1; // 车载手动删除WIFI配置
|
|
|
+ public static final int CTRLTYPE_BUZZER_START = CTRLTYPE_VIHICLE_WIFI_DEC+1; // 蜂鸣器控制开始
|
|
|
+ public static final int CTRLTYPE_BUZZER_STOP = CTRLTYPE_BUZZER_START+1; // 蜂鸣器控制结束
|
|
|
+ public static final int CTRLTYPE_REJECT_USER = CTRLTYPE_BUZZER_STOP+1; // 剔除用户
|
|
|
+ public static final int CTRLTYPE_SHIELD_USER = CTRLTYPE_REJECT_USER+1; // 屏蔽用户
|
|
|
+ public static final int CTRLTYPE_RAINBRUSH = CTRLTYPE_SHIELD_USER+1; // 智能交通,雨刷控制
|
|
|
+ public static final int CTRLTYPE_MANUAL_SNAP = CTRLTYPE_RAINBRUSH+1; // 智能交通,手动抓拍(对应结构体MANUAL_SNAP_PARAMETER)
|
|
|
+ public static final int CTRLTYPE_MANUAL_NTP_TIMEADJUST = CTRLTYPE_MANUAL_SNAP+1; // 手动NTP校时
|
|
|
+ public static final int CTRLTYPE_NAVIGATION_SMS = CTRLTYPE_MANUAL_NTP_TIMEADJUST+1; // 导航信息和短消息
|
|
|
+ public static final int CTRLTYPE_CTRL_ROUTE_CROSSING = CTRLTYPE_NAVIGATION_SMS+1; // 路线点位信息
|
|
|
+ public static final int CTRLTYPE_BACKUP_FORMAT = CTRLTYPE_CTRL_ROUTE_CROSSING+1; // 格式化备份设备
|
|
|
+ public static final int CTRLTYPE_DEVICE_LOCALPREVIEW_SLIPT = CTRLTYPE_BACKUP_FORMAT+1; // 控制设备端本地预览分割(对应结构体DEVICE_LOCALPREVIEW_SLIPT_PARAMETER)
|
|
|
+ public static final int CTRLTYPE_CTRL_INIT_RAID = CTRLTYPE_DEVICE_LOCALPREVIEW_SLIPT+1; // RAID初始化
|
|
|
+ public static final int CTRLTYPE_CTRL_RAID = CTRLTYPE_CTRL_INIT_RAID+1; // RAID操作
|
|
|
+ public static final int CTRLTYPE_CTRL_SAPREDISK = CTRLTYPE_CTRL_RAID+1; // 热备盘操作
|
|
|
+ public static final int CTRLTYPE_WIFI_CONNECT = CTRLTYPE_CTRL_SAPREDISK+1; // 手动发起WIFI连接(对应结构体WIFI_CONNECT)
|
|
|
+ public static final int CTRLTYPE_WIFI_DISCONNECT = CTRLTYPE_WIFI_CONNECT+1; // 手动断开WIFI连接(对应结构体WIFI_CONNECT)
|
|
|
+ public static final int CTRLTYPE_CTRL_ARMED = CTRLTYPE_WIFI_DISCONNECT+1; // 布撤防操作
|
|
|
+ public static final int CTRLTYPE_CTRL_IP_MODIFY = CTRLTYPE_CTRL_ARMED+1; // 修改前端IP(对应结构体 NET_CTRL_IPMODIFY_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_WIFI_BY_WPS = CTRLTYPE_CTRL_IP_MODIFY+1; // wps连接wifi(对应结构体NET_CTRL_CONNECT_WIFI_BYWPS)
|
|
|
+ public static final int CTRLTYPE_CTRL_FORMAT_PATITION = CTRLTYPE_CTRL_WIFI_BY_WPS+1; // 格式化分区(对应结构体NET_FORMAT_PATITION)
|
|
|
+ public static final int CTRLTYPE_CTRL_EJECT_STORAGE = CTRLTYPE_CTRL_FORMAT_PATITION+1; // 手动卸载设备(对应结构体NET_EJECT_STORAGE_DEVICE)
|
|
|
+ public static final int CTRLTYPE_CTRL_LOAD_STORAGE = CTRLTYPE_CTRL_EJECT_STORAGE+1; // 手动装载设备(对应结构体NET_LOAD_STORAGE_DEVICE)
|
|
|
+ public static final int CTRLTYPE_CTRL_CLOSE_BURNER = CTRLTYPE_CTRL_LOAD_STORAGE+1; // 关闭刻录机光驱门(对应结构体NET_CTRL_BURNERDOOR)一般需要等6
|
|
|
+ public static final int CTRLTYPE_CTRL_EJECT_BURNER = CTRLTYPE_CTRL_CLOSE_BURNER+1; // 弹出刻录机光驱门(对应结构体NET_CTRL_BURNERDOOR)一般需要等4秒
|
|
|
+ public static final int CTRLTYPE_CTRL_CLEAR_ALARM = CTRLTYPE_CTRL_EJECT_BURNER+1; // 消警(对应结构体NET_CTRL_CLEAR_ALARM)
|
|
|
+ public static final int CTRLTYPE_CTRL_MONITORWALL_TVINFO = CTRLTYPE_CTRL_CLEAR_ALARM+1; // 电视墙信息显示(对应结构体NET_CTRL_MONITORWALL_TVINFO)
|
|
|
+ public static final int CTRLTYPE_CTRL_START_VIDEO_ANALYSE = CTRLTYPE_CTRL_MONITORWALL_TVINFO+1; // 开始视频智能分析(对应结构体NET_CTRL_START_VIDEO_ANALYSE)
|
|
|
+ public static final int CTRLTYPE_CTRL_STOP_VIDEO_ANALYSE = CTRLTYPE_CTRL_START_VIDEO_ANALYSE+1; // 停止视频智能分析(对应结构体NET_CTRL_STOP_VIDEO_ANALYSE)
|
|
|
+ public static final int CTRLTYPE_CTRL_UPGRADE_DEVICE = CTRLTYPE_CTRL_STOP_VIDEO_ANALYSE+1; // 控制启动设备升级,由设备独立完成升级过程,不需要传输升级文件
|
|
|
+ public static final int CTRLTYPE_CTRL_MULTIPLAYBACK_CHANNALES = CTRLTYPE_CTRL_UPGRADE_DEVICE+1; // 切换多通道预览回放的通道(对应结构体NET_CTRL_MULTIPLAYBACK_CHANNALES)
|
|
|
+ public static final int CTRLTYPE_CTRL_SEQPOWER_OPEN = CTRLTYPE_CTRL_MULTIPLAYBACK_CHANNALES+1; // 电源时序器打开开关量输出口(对应NET_CTRL_SEQPOWER_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_SEQPOWER_CLOSE = CTRLTYPE_CTRL_SEQPOWER_OPEN+1; // 电源时序器关闭开关量输出口(对应NET_CTRL_SEQPOWER_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_SEQPOWER_OPEN_ALL = CTRLTYPE_CTRL_SEQPOWER_CLOSE+1; // 电源时序器打开开关量输出口组(对应NET_CTRL_SEQPOWER_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_SEQPOWER_CLOSE_ALL = CTRLTYPE_CTRL_SEQPOWER_OPEN_ALL+1; // 电源时序器关闭开关量输出口组(对应NET_CTRL_SEQPOWER_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_PROJECTOR_RISE = CTRLTYPE_CTRL_SEQPOWER_CLOSE_ALL+1; // 投影仪上升(对应NET_CTRL_PROJECTOR_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_PROJECTOR_FALL = CTRLTYPE_CTRL_PROJECTOR_RISE+1; // 投影仪下降(对应NET_CTRL_PROJECTOR_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_PROJECTOR_STOP = CTRLTYPE_CTRL_PROJECTOR_FALL+1; // 投影仪停止(对应NET_CTRL_PROJECTOR_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_INFRARED_KEY = CTRLTYPE_CTRL_PROJECTOR_STOP+1; // 红外按键(对应NET_CTRL_INFRARED_KEY_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_START_PLAYAUDIO = CTRLTYPE_CTRL_INFRARED_KEY+1; // 设备开始播放音频文件(对应结构体NET_CTRL_START_PLAYAUDIO)
|
|
|
+ public static final int CTRLTYPE_CTRL_STOP_PLAYAUDIO = CTRLTYPE_CTRL_START_PLAYAUDIO+1; // 设备停止播放音频文件
|
|
|
+ public static final int CTRLTYPE_CTRL_START_ALARMBELL = CTRLTYPE_CTRL_STOP_PLAYAUDIO+1; // 开启警号(对应结构体 NET_CTRL_ALARMBELL )
|
|
|
+ public static final int CTRLTYPE_CTRL_STOP_ALARMBELL = CTRLTYPE_CTRL_START_ALARMBELL+1; // 关闭警号(对应结构体 NET_CTRL_ALARMBELL )
|
|
|
+ public static final int CTRLTYPE_CTRL_ACCESS_OPEN = CTRLTYPE_CTRL_STOP_ALARMBELL+1; // 门禁控制-开门(对应结构体 NET_CTRL_ACCESS_OPEN)
|
|
|
+ public static final int CTRLTYPE_CTRL_SET_BYPASS = CTRLTYPE_CTRL_ACCESS_OPEN+1; // 设置旁路功能(对应结构体NET_CTRL_SET_BYPASS)
|
|
|
+ public static final int CTRLTYPE_CTRL_RECORDSET_INSERT = CTRLTYPE_CTRL_SET_BYPASS+1; // 添加记录,获得记录集编号(对应NET_CTRL_RECORDSET_INSERT_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_RECORDSET_UPDATE = CTRLTYPE_CTRL_RECORDSET_INSERT+1; // 更新某记录集编号的记录(对应 NET_CTRL_RECORDSET_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_RECORDSET_REMOVE = CTRLTYPE_CTRL_RECORDSET_UPDATE+1; // 根据记录集编号删除某记录(对应 NET_CTRL_RECORDSET_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_RECORDSET_CLEAR = CTRLTYPE_CTRL_RECORDSET_REMOVE+1; // 清除所有记录集信息(对应NET_CTRL_RECORDSET_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_ACCESS_CLOSE = CTRLTYPE_CTRL_RECORDSET_CLEAR+1; // 门禁控制-关门(对应结构体NET_CTRL_ACCESS_CLOSE)
|
|
|
+ public static final int CTRLTYPE_CTRL_ALARM_SUBSYSTEM_ACTIVE_SET = CTRLTYPE_CTRL_ACCESS_CLOSE+1;// 报警子系统激活设置(对应结构体NET_CTRL_ALARM_SUBSYSTEM_SETACTIVE)
|
|
|
+ public static final int CTRLTYPE_CTRL_FORBID_OPEN_STROBE = CTRLTYPE_CTRL_ALARM_SUBSYSTEM_ACTIVE_SET+1; // 禁止设备端开闸(对应结构体NET_CTRL_FORBID_OPEN_STROBE)
|
|
|
+ public static final int CTRLTYPE_CTRL_OPEN_STROBE = CTRLTYPE_CTRL_FORBID_OPEN_STROBE+1; // 开启道闸(对应结构体 NET_CTRL_OPEN_STROBE)
|
|
|
+ public static final int CTRLTYPE_CTRL_TALKING_REFUSE = CTRLTYPE_CTRL_OPEN_STROBE+1; // 对讲拒绝接听(对应结构体NET_CTRL_TALKING_REFUSE)
|
|
|
+ public static final int CTRLTYPE_CTRL_ARMED_EX = CTRLTYPE_CTRL_TALKING_REFUSE+1; // 布撤防操作(对应结构体CTRL_ARM_DISARM_PARAM_EX),对CTRL_ARM_DISARM_PARAM升级,建议用这个
|
|
|
+ public static final int CTRLTYPE_CTRL_NET_KEYBOARD =400; // 网络键盘控制(对应结构体NET_CTRL_NET_KEYBOARD)
|
|
|
+ public static final int CTRLTYPE_CTRL_AIRCONDITION_OPEN = CTRLTYPE_CTRL_NET_KEYBOARD+1; // 打开空调(对应结构体NET_CTRL_OPEN_AIRCONDITION)
|
|
|
+ public static final int CTRLTYPE_CTRL_AIRCONDITION_CLOSE = CTRLTYPE_CTRL_AIRCONDITION_OPEN+1; // 关闭空调(对应结构体NET_CTRL_CLOSE_AIRCONDITION)
|
|
|
+ public static final int CTRLTYPE_CTRL_AIRCONDITION_SET_TEMPERATURE = CTRLTYPE_CTRL_AIRCONDITION_CLOSE+1; // 设定空调温度(对应结构体NET_CTRL_SET_TEMPERATURE)
|
|
|
+ public static final int CTRLTYPE_CTRL_AIRCONDITION_ADJUST_TEMPERATURE = CTRLTYPE_CTRL_AIRCONDITION_SET_TEMPERATURE+1; // 调节空调温度(对应结构体NET_CTRL_ADJUST_TEMPERATURE)
|
|
|
+ public static final int CTRLTYPE_CTRL_AIRCONDITION_SETMODE = CTRLTYPE_CTRL_AIRCONDITION_ADJUST_TEMPERATURE+1; // 设置空调工作模式(对应结构体NET_CTRL_ADJUST_TEMPERATURE)
|
|
|
+ public static final int CTRLTYPE_CTRL_AIRCONDITION_SETWINDMODE = CTRLTYPE_CTRL_AIRCONDITION_SETMODE+1; // 设置空调送风模式(对应结构体NET_CTRL_AIRCONDITION_SETMODE)
|
|
|
+ public static final int CTRLTYPE_CTRL_RESTOREDEFAULT_EX = CTRLTYPE_CTRL_AIRCONDITION_SETWINDMODE+1; // 恢复设备的默认设置新协议(对应结构体 NET_CTRL_RESTORE_DEFAULT )
|
|
|
+ // 恢复配置优先使用该枚举,如果接口失败,
|
|
|
+ // 且CLIENT_GetLastError返回NET_UNSUPPORTED,再尝试使用NET_CTRL_RESTOREDEFAULT恢复配置
|
|
|
+ public static final int CTRLTYPE_CTRL_NOTIFY_EVENT = CTRLTYPE_CTRL_RESTOREDEFAULT_EX+1; // 向设备发送事件(对应结构体NET_NOTIFY_EVENT_DATA)
|
|
|
+ public static final int CTRLTYPE_CTRL_SILENT_ALARM_SET = CTRLTYPE_CTRL_NOTIFY_EVENT+1; // 无声报警设置
|
|
|
+ public static final int CTRLTYPE_CTRL_START_PLAYAUDIOEX = CTRLTYPE_CTRL_SILENT_ALARM_SET+1; // 设备开始语音播报(对应结构体NET_CTRL_START_PLAYAUDIOEX)
|
|
|
+ public static final int CTRLTYPE_CTRL_STOP_PLAYAUDIOEX = CTRLTYPE_CTRL_START_PLAYAUDIOEX+1; // 设备停止语音播报
|
|
|
+ public static final int CTRLTYPE_CTRL_CLOSE_STROBE = CTRLTYPE_CTRL_STOP_PLAYAUDIOEX+1; // 关闭道闸(对应结构体 NET_CTRL_CLOSE_STROBE)
|
|
|
+ public static final int CTRLTYPE_CTRL_SET_ORDER_STATE = CTRLTYPE_CTRL_CLOSE_STROBE+1; // 设置车位预定状态(对应结构体NET_CTRL_SET_ORDER_STATE)
|
|
|
+ public static final int CTRLTYPE_CTRL_RECORDSET_INSERTEX = CTRLTYPE_CTRL_SET_ORDER_STATE+1; // 添加记录,获得记录集编号(对应 NET_CTRL_RECORDSET_INSERT_PARAM )
|
|
|
+ public static final int CTRLTYPE_CTRL_RECORDSET_UPDATEEX = CTRLTYPE_CTRL_RECORDSET_INSERTEX+1; // 更新某记录集编号的记录(对应NET_CTRL_RECORDSET_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_CAPTURE_FINGER_PRINT = CTRLTYPE_CTRL_RECORDSET_UPDATEEX+1; // 指纹采集(对应结构体NET_CTRL_CAPTURE_FINGER_PRINT)
|
|
|
+ public static final int CTRLTYPE_CTRL_ECK_LED_SET = CTRLTYPE_CTRL_CAPTURE_FINGER_PRINT+1; // 停车场出入口控制器LED设置(对应结构体NET_CTRL_ECK_LED_SET_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_ECK_IC_CARD_IMPORT = CTRLTYPE_CTRL_ECK_LED_SET+1; // 智能停车系统出入口机IC卡信息导入(对应结构体NET_CTRL_ECK_IC_CARD_IMPORT_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_ECK_SYNC_IC_CARD = CTRLTYPE_CTRL_ECK_IC_CARD_IMPORT+1; // 智能停车系统出入口机IC卡信息同步指令,收到此指令后,设备删除原有IC卡信息(对应结构体NET_CTRL_ECK_SYNC_IC_CARD_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_LOWRATEWPAN_REMOVE = CTRLTYPE_CTRL_ECK_SYNC_IC_CARD+1; // 删除指定无线设备(对应结构体NET_CTRL_LOWRATEWPAN_REMOVE)
|
|
|
+ public static final int CTRLTYPE_CTRL_LOWRATEWPAN_MODIFY = CTRLTYPE_CTRL_LOWRATEWPAN_REMOVE+1; // 修改无线设备信息(对应结构体NET_CTRL_LOWRATEWPAN_MODIFY)
|
|
|
+ public static final int CTRLTYPE_CTRL_ECK_SET_PARK_INFO = CTRLTYPE_CTRL_LOWRATEWPAN_MODIFY+1; // 智能停车系统出入口机设置车位信息(对应结构体NET_CTRL_ECK_SET_PARK_INFO_PARAM)
|
|
|
+ public static final int CTRLTYPE_CTRL_VTP_DISCONNECT = CTRLTYPE_CTRL_ECK_SET_PARK_INFO+1; // 挂断视频电话(对应结构体NET_CTRL_VTP_DISCONNECT)
|
|
|
+ public static final int CTRLTYPE_CTRL_UPDATE_FILES = CTRLTYPE_CTRL_VTP_DISCONNECT+1; // 远程投放多媒体文件更新(对应结构体NET_CTRL_UPDATE_FILES)
|
|
|
+ public static final int CTRLTYPE_CTRL_MATRIX_SAVE_SWITCH = CTRLTYPE_CTRL_UPDATE_FILES+1; // 保存上下位矩阵输出关系(对应结构体NET_CTRL_MATRIX_SAVE_SWITCH)
|
|
|
+ public static final int CTRLTYPE_CTRL_MATRIX_RESTORE_SWITCH = CTRLTYPE_CTRL_MATRIX_SAVE_SWITCH+1; // 恢复上下位矩阵输出关系(对应结构体NET_CTRL_MATRIX_RESTORE_SWITCH)
|
|
|
+ public static final int CTRLTYPE_CTRL_VTP_DIVERTACK = CTRLTYPE_CTRL_MATRIX_RESTORE_SWITCH+1; // 呼叫转发响应(对应结构体NET_CTRL_VTP_DIVERTACK)
|
|
|
+ public static final int CTRLTYPE_CTRL_RAINBRUSH_MOVEONCE = CTRLTYPE_CTRL_VTP_DIVERTACK+1; // 雨刷来回刷一次,雨刷模式配置为手动模式时有效(对应结构体NET_CTRL_RAINBRUSH_MOVEONCE)
|
|
|
+ public static final int CTRLTYPE_CTRL_RAINBRUSH_MOVECONTINUOUSLY = CTRLTYPE_CTRL_RAINBRUSH_MOVEONCE+1; // 雨刷来回循环刷,雨刷模式配置为手动模式时有效(对应结构体NET_CTRL_RAINBRUSH_MOVECONTINUOUSLY)
|
|
|
+ public static final int CTRLTYPE_CTRL_RAINBRUSH_STOPMOVE = CTRLTYPE_CTRL_RAINBRUSH_MOVECONTINUOUSLY+1; // 雨刷停止刷,雨刷模式配置为手动模式时有效(对应结构体NET_CTRL_RAINBRUSH_STOPMOVE)
|
|
|
+ public static final int CTRLTYPE_CTRL_ALARM_ACK = CTRLTYPE_CTRL_RAINBRUSH_STOPMOVE+1; // 报警事件确认(对应结构体NET_CTRL_ALARM_ACK)
|
|
|
+ // NET_CTRL_ALARM_ACK 该操作切勿在报警回调接口中调用
|
|
|
+ public static final int CTRLTYPE_CTRL_RECORDSET_IMPORT = CTRLTYPE_CTRL_ALARM_ACK + 1; // 批量导入记录集信息(对应 NET_CTRL_RECORDSET_PARAM )
|
|
|
+ public static final int CTRLTYPE_CTRL_DELIVERY_FILE = CTRLTYPE_CTRL_RECORDSET_IMPORT + 1; // 向视频输出口投放视频和图片文件, 楼宇对讲使用,同一时间投放(对应 NET_CTRL_DELIVERY_FILE )
|
|
|
+ public static final int CTRLTYPE_CTRL_FORCE_BREAKING = CTRLTYPE_CTRL_DELIVERY_FILE + 1; // 强制产生违章类型(对应 NET_CTRL_FORCE_BREAKING)
|
|
|
+ public static final int CTRLTYPE_CTRL_RESTORE_EXCEPT = CTRLTYPE_CTRL_FORCE_BREAKING + 1; // 恢复除指定配置外的其他配置为默认。
|
|
|
+ public static final int CTRLTYPE_CTRL_SET_PARK_INFO = CTRLTYPE_CTRL_RESTORE_EXCEPT + 1; // 设置停车信息,平台设置给相机,内容用于点阵屏显示(对应结构体 NET_CTRL_SET_PARK_INFO)
|
|
|
+ public static final int CTRLTYPE_CTRL_CLEAR_SECTION_STAT = CTRLTYPE_CTRL_SET_PARK_INFO + 1; // 清除当前时间段内人数统计信息, 重新从0开始计算(对应结构体NET_CTRL_CLEAR_SECTION_STAT_INFO)
|
|
|
+ public static final int CTRLTYPE_CTRL_DELIVERY_FILE_BYCAR = CTRLTYPE_CTRL_CLEAR_SECTION_STAT + 1; // 向视频输出口投放视频和图片文件, 车载使用,广告单独时间投放(对应NET_CTRL_DELIVERY_FILE_BYCAR)
|
|
|
+ public static final int CTRLTYPE_CTRL_ECK_GUIDINGPANEL_CONTENT = CTRLTYPE_CTRL_DELIVERY_FILE_BYCAR + 1; // 设置诱导屏显示内容(对应结构体 NET_CTRL_ECK_GUIDINGPANEL_CONTENT)
|
|
|
+ public static final int CTRLTYPE_CTRL_SET_SAFE_LEVEL = CTRLTYPE_CTRL_ECK_GUIDINGPANEL_CONTENT + 1; // 设置门禁安全等级(对应结构体,pInBuf= NET_IN_SET_SAFE_LEVEL*, pOutBuf= NET_OUT_SET_SAFE_LEVEL * )
|
|
|
+ public static final int CTRLTYPE_CTRL_VTP_INVITEACK = CTRLTYPE_CTRL_SET_SAFE_LEVEL + 1; // 对讲请求回复(对应结构体 NET_CTRL_VTP_INVITEACK)
|
|
|
+ public static final int CTRLTYPE_CTRL_ACCESS_RESET_PASSWORD = CTRLTYPE_CTRL_VTP_INVITEACK + 1; // 门禁控制-重置密码(对应结构体 NET_CTRL_ACCESS_RESET_PASSWORD)
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 以下命令只在 CLIENT_ControlDeviceEx 上有效
|
|
|
+ */
|
|
|
+ public static final int CTRLTYPE_CTRL_THERMO_GRAPHY_ENSHUTTER = 0x10000; // 设置热成像快门启用/禁用,pInBuf= NET_IN_THERMO_EN_SHUTTER*, pOutBuf= NET_OUT_THERMO_EN_SHUTTER *
|
|
|
+ public static final int CTRLTYPE_CTRL_RADIOMETRY_SETOSDMARK = CTRLTYPE_CTRL_THERMO_GRAPHY_ENSHUTTER+1; // 设置测温项的osd为高亮,pInBuf=NET_IN_RADIOMETRY_SETOSDMARK*,pOutBuf= NET_OUT_RADIOMETRY_SETOSDMARK *
|
|
|
+ public static final int CTRLTYPE_CTRL_AUDIO_REC_START_NAME = CTRLTYPE_CTRL_RADIOMETRY_SETOSDMARK+1; // 开启音频录音并得到录音名,pInBuf = NET_IN_AUDIO_REC_MNG_NAME *, pOutBuf = NET_OUT_AUDIO_REC_MNG_NAME *
|
|
|
+ public static final int CTRLTYPE_CTRL_AUDIO_REC_STOP_NAME = CTRLTYPE_CTRL_AUDIO_REC_START_NAME+1; // 关闭音频录音并返回文件名称,pInBuf = NET_IN_AUDIO_REC_MNG_NAME *, pOutBuf = NET_OUT_AUDIO_REC_MNG_NAME *
|
|
|
+ public static final int CTRLTYPE_CTRL_SNAP_MNG_SNAP_SHOT = CTRLTYPE_CTRL_AUDIO_REC_STOP_NAME+1; // 即时抓图(又名手动抓图),pInBuf =NET_IN_SNAP_MNG_SHOT *, pOutBuf = NET_OUT_SNAP_MNG_SHOT *
|
|
|
+ public static final int CTRLTYPE_CTRL_LOG_STOP = CTRLTYPE_CTRL_SNAP_MNG_SNAP_SHOT+1; // 强制同步缓存数据到数据库并关闭数据库,pInBuf = NET_IN_LOG_MNG_CTRL *, pOutBuf = NET_OUT_LOG_MNG_CTRL *
|
|
|
+ public static final int CTRLTYPE_CTRL_LOG_RESUME = CTRLTYPE_CTRL_LOG_STOP+1; // 恢复数据库,pInBuf = NET_IN_LOG_MNG_CTRL *, pOutBuf = NET_OUT_LOG_MNG_CTRL *
|
|
|
+
|
|
|
+ public static final int CTRLTYPE_CTRL_POS_ADD = CTRLTYPE_CTRL_LOG_RESUME + 1; // 增加一个Pos设备, pInBuf = NET_IN_POS_ADD *, pOutBuf = NET_OUT_POS_ADD *
|
|
|
+ public static final int CTRLTYPE_CTRL_POS_REMOVE = CTRLTYPE_CTRL_POS_ADD + 1; // 删除一个Pos设备, pInBuf = NET_IN_POS_REMOVE *, pOutBuf = NET_OUT_POS_REMOVE *
|
|
|
+ public static final int CTRLTYPE_CTRL_POS_REMOVE_MULTI = CTRLTYPE_CTRL_POS_REMOVE + 1; // 批量删除Pos设备, pInBuf = NET_IN_POS_REMOVE_MULTI *, pOutBuf = NET_OUT_POS_REMOVE_MULTI *
|
|
|
+ public static final int CTRLTYPE_CTRL_POS_MODIFY = CTRLTYPE_CTRL_POS_REMOVE_MULTI + 1; // 修改一个Pos设备, pInBuf = NET_IN_POS_ADD *, pOutBuf = NET_OUT_POS_ADD *
|
|
|
+ public static final int CTRLTYPE_CTRL_SET_SOUND_ALARM = CTRLTYPE_CTRL_POS_MODIFY + 1; // 触发有声报警, pInBuf = NET_IN_SOUND_ALARM *, pOutBuf = NET_OUT_SOUND_ALARM *
|
|
|
+ public static final int CTRLTYPE_CTRL_AUDIO_MATRIX_SILENCE = CTRLTYPE_CTRL_SET_SOUND_ALARM + 1; // 音频举证一键静音控制(对应pInBuf = NET_IN_AUDIO_MATRIX_SILENCE, pOutBuf = NET_OUT_AUDIO_MATRIX_SILENCE)
|
|
|
+ public static final int CTRLTYPE_CTRL_MANUAL_UPLOAD_PICTURE = CTRLTYPE_CTRL_AUDIO_MATRIX_SILENCE + 1; // 设置手动上传, pInBuf = NET_IN_MANUAL_UPLOAD_PICTURE *, pOutBUf = NET_OUT_MANUAL_UPLOAD_PICTURE *
|
|
|
+ public static final int CTRLTYPE_CTRL_REBOOT_NET_DECODING_DEV = CTRLTYPE_CTRL_MANUAL_UPLOAD_PICTURE + 1; // 重启网络解码设备, pInBuf = NET_IN_REBOOT_NET_DECODING_DEV *, pOutBuf = NET_OUT_REBOOT_NET_DECODING_DEV *
|
|
|
+ public static final int CTRLTYPE_CTRL_SET_IC_SENDER = CTRLTYPE_CTRL_REBOOT_NET_DECODING_DEV + 1; // ParkingControl 设置发卡设备, pInBuf = NET_IN_SET_IC_SENDER *, pOutBuf = NET_OUT_SET_IC_SENDER *
|
|
|
+ public static final int CTRLTYPE_CTRL_SET_MEDIAKIND = CTRLTYPE_CTRL_SET_IC_SENDER + 1; // 设置监视码流组成,如仅音频,仅视频,音视频 pInBuf = NET_IN_SET_MEDIAKIND *, pOutBuf = NET_OUT_SET_MEDIAKIND *// 配合功能列表能力集使用, EN_ENCODE_CHN,2-监视支持音视频分开获取
|
|
|
+ public static final int CTRLTYPE_CTRL_LOWRATEWPAN_ADD = CTRLTYPE_CTRL_SET_MEDIAKIND + 1; // 增加无线设备信息(对应结构体 pInBuf = NET_CTRL_LOWRATEWPAN_ADD *, pOutBUf = NULL)
|
|
|
+ public static final int CTRLTYPE_CTRL_LOWRATEWPAN_REMOVEALL = CTRLTYPE_CTRL_LOWRATEWPAN_ADD + 1; // 删除所有的无线设备信息(对应结构体 pInBuf = NET_CTRL_LOWRATEWPAN_REMOVEALL *, pOutBUf = NULL)
|
|
|
+ public static final int CTRLTYPE_CTRL_SET_DOOR_WORK_MODE = CTRLTYPE_CTRL_LOWRATEWPAN_REMOVEALL + 1; // 设置门锁工作模式(对应结构体 pInBuf = NET_IN_CTRL_ACCESS_SET_DOOR_WORK_MODE *, pOutBUf = NULL)
|
|
|
+ public static final int CTRLTYPE_CTRL_TEST_MAIL = CTRLTYPE_CTRL_SET_DOOR_WORK_MODE + 1; // 测试邮件 pInBuf = NET_IN_TEST_MAIL *, pOutBUf = NET_OUT_TEST_MAIL *
|
|
|
+ public static final int CTRLTYPE_CTRL_CONTROL_SMART_SWITCH = CTRLTYPE_CTRL_TEST_MAIL + 1; // 控制智能开关 pInBuf = NET_IN_CONTROL_SMART_SWITCH *, pOutBUf = NET_OUT_CONTROL_SMART_SWITCH *
|
|
|
+ public static final int CTRLTYPE_CTRL_LOWRATEWPAN_SETWORKMODE = CTRLTYPE_CTRL_CONTROL_SMART_SWITCH + 1; // 设置探测器的工作模式(对应结构体pInBuf = NET_IN_CTRL_LOWRATEWPAN_SETWORKMODE *, pOutBUf = NULL)
|
|
|
+ public static final int CTRLTYPE_CTRL_COAXIAL_CONTROL_IO = CTRLTYPE_CTRL_LOWRATEWPAN_SETWORKMODE + 1; // 发送同轴IO控制命令(对应结构体pInBuf = NET_IN_CONTROL_COAXIAL_CONTROL_IO*, pOutBUf = NET_OUT_CONTROL_COAXIAL_CONTROL_IO*)
|
|
|
+ public static final int CTRLTYPE_CTRL_START_REMOTELOWRATEWPAN_ALARMBELL = CTRLTYPE_CTRL_COAXIAL_CONTROL_IO + 1; // 开启无线警号 (对应结构体pInBuf = NET_IN_START_REMOTELOWRATEWPAN_ALARMBELL*, pOutBUf = NET_OUT_START_REMOTELOWRATEWPAN_ALARMBELL*)
|
|
|
+ public static final int CTRLTYPE_CTRL_STOP_REMOTELOWRATEWPAN_ALARMBELL = CTRLTYPE_CTRL_START_REMOTELOWRATEWPAN_ALARMBELL + 1; // 关闭无线警号 (对应结构体pInBuf = NET_IN_STOP_REMOTELOWRATEWPAN_ALARMBELL*, pOutBUf = NET_OUT_STOP_REMOTELOWRATEWPAN_ALARMBELL*)
|
|
|
+ public static final int CTRLTYPE_CTRL_THERMO_DO_FFC = CTRLTYPE_CTRL_STOP_REMOTELOWRATEWPAN_ALARMBELL + 1; // 热成像FFC校准(对应结构体 pInBuf = NET_IN_THERMO_DO_FFC *,pOutBuf = NET_OUT_THERMO_DO_FFC *)
|
|
|
+ public static final int CTRLTYPE_CTRL_THERMO_FIX_FOCUS = CTRLTYPE_CTRL_THERMO_DO_FFC + 1; // 热成像双目定焦调(对应结构体 pInBuf = NET_IN_THERMO_FIX_FOCUS *,pOutBuf = NET_OUT_THERMO_FIX_FOCUS *)
|
|
|
+ public static final int CTRLTYPE_CTRL_SET_THIRD_CALLSTATUS = CTRLTYPE_CTRL_THERMO_FIX_FOCUS + 1; // 设置对讲状态(对应结构体pInBuf = NET_IN_VTP_THIRDCALL_STATUS*, pOutBuf = NET_OUT_VTP_THIRDCALL_STATUS*)
|
|
|
+ public static final int CTRL_ACCESS_CLEAR_STATUS = CTRLTYPE_CTRL_SET_THIRD_CALLSTATUS + 1; // 门禁定制-清除用户进出门状态 (对应结构体pInBuf = NET_IN_ACCESS_CLEAR_STATUS*, pOutBuf = NET_OUT_ACCESS_CLEAR_STATUS *)
|
|
|
+ public static final int CTRL_ACCESS_DEAL_RECORD = CTRL_ACCESS_CLEAR_STATUS + 1; // 门禁定制-查询/设置用户进出门记录 (对应结构体pInBuf = NET_IN_ACCESS_DEAL_RECORD*, pOutBuf = NET_OUT_ACCESS_DEAL_RECORD*)
|
|
|
+ public static final int CTRL_QUERY_DELIVERED_FILE = CTRL_ACCESS_DEAL_RECORD + 1; // 向视频输出口查询广告信息,楼宇对讲使用,(对应NET_CTRL_QUERY_DELIVERY_FILE)
|
|
|
+ public static final int CTRL_SET_PARK_CONTROL_INFO = CTRL_QUERY_DELIVERED_FILE + 1; // 设置停车控制信息(点阵屏和语音播报的控制)(对应结构体pInBuf = NET_IN_SET_PARK_CONTROL_INFO*, pOutBuf = NET_OUT_SET_PARK_CONTROL_INFO*)
|
|
|
+ }
|
|
|
+
|
|
|
+ /************************************************************************
|
|
|
+ ** 接口
|
|
|
+ ***********************************************************************/
|
|
|
+ // JNA直接调用方法定义,cbDisConnect 实际情况并不回调Java代码,仅为定义可以使用如下方式进行定义。 fDisConnect 回调
|
|
|
+ public boolean CLIENT_Init(Callback cbDisConnect, Pointer dwUser);
|
|
|
+
|
|
|
+ // JNA直接调用方法定义,SDK退出清理
|
|
|
+ public void CLIENT_Cleanup();
|
|
|
+
|
|
|
+ // JNA直接调用方法定义,设置断线重连成功回调函数,设置后SDK内部断线自动重连, fHaveReConnect 回调
|
|
|
+ public void CLIENT_SetAutoReconnect(Callback cbAutoConnect, Pointer dwUser);
|
|
|
+
|
|
|
+ // 设置连接设备超时时间和尝试次数
|
|
|
+ public void CLIENT_SetConnectTime(int nWaitTime, int nTryTimes);
|
|
|
+
|
|
|
+ // 设置登陆网络环境
|
|
|
+ public void CLIENT_SetNetworkParam(NetSDKLibs.NET_PARAM pNetParam);
|
|
|
+
|
|
|
+ // 打开日志功能
|
|
|
+ // pstLogPrintInfo指向LOG_SET_PRINT_INFO的指针
|
|
|
+ public boolean CLIENT_LogOpen(NetSDKLibs.LOG_SET_PRINT_INFO pstLogPrintInfo);
|
|
|
+
|
|
|
+ // 高安全级别登陆
|
|
|
+ public NetSDKLibs.LLong CLIENT_LoginWithHighLevelSecurity(NetSDKLibs.NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY pstInParam, NetSDKLibs.NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY pstOutParam);
|
|
|
+
|
|
|
+
|
|
|
+ // CLIENT_LoginWithHighLevelSecurity 输入参数
|
|
|
+ public static class NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY extends NetSDKLibs.SdkStructure
|
|
|
+ {
|
|
|
+ public int dwSize; // 结构体大小
|
|
|
+ public byte[] szIP=new byte[64]; // IP
|
|
|
+ public int nPort; // 端口
|
|
|
+ public byte[] szUserName=new byte[64]; // 用户名
|
|
|
+ public byte[] szPassword=new byte[64]; // 密码
|
|
|
+ public int emSpecCap; // 登录模式
|
|
|
+ public byte[] byReserved=new byte[4]; // 字节对齐
|
|
|
+ public Pointer pCapParam; // 见 CLIENT_LoginEx 接口 pCapParam 与 nSpecCap 关系
|
|
|
+
|
|
|
+ public NET_IN_LOGIN_WITH_HIGHLEVEL_SECURITY()
|
|
|
+ {
|
|
|
+ this.dwSize = this.size();
|
|
|
+ }// 此结构体大小
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ // CLIENT_LoginWithHighLevelSecurity 输出参数
|
|
|
+ public static class NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY extends NetSDKLibs.SdkStructure
|
|
|
+ {
|
|
|
+ public int dwSize; // 结构体大小
|
|
|
+ public NetSDKLibs.NET_DEVICEINFO_Ex stuDeviceInfo; // 设备信息
|
|
|
+ public int nError; // 错误码,见 CLIENT_Login 接口错误码
|
|
|
+ public byte[] byReserved=new byte[132]; // 预留字段
|
|
|
+
|
|
|
+ public NET_OUT_LOGIN_WITH_HIGHLEVEL_SECURITY()
|
|
|
+ {
|
|
|
+ this.dwSize = this.size();
|
|
|
+ }// 此结构体大小
|
|
|
+ };
|
|
|
+
|
|
|
+ // SDK全局日志打印信息
|
|
|
+ public static class LOG_SET_PRINT_INFO extends NetSDKLibs.SdkStructure
|
|
|
+ {
|
|
|
+ public int dwSize;
|
|
|
+ public int bSetFilePath;//是否重设日志路径, BOOL类型,取值0或1
|
|
|
+ public byte[] szLogFilePath = new byte[MAX_LOG_PATH_LEN];//日志路径(默认"./sdk_log/sdk_log.log")
|
|
|
+ public int bSetFileSize;//是否重设日志文件大小, BOOL类型,取值0或1
|
|
|
+ public int nFileSize;//每个日志文件的大小(默认大小10240),单位:比特, 类型为unsigned int
|
|
|
+ public int bSetFileNum;//是否重设日志文件个数, BOOL类型,取值0或1
|
|
|
+ public int nFileNum;//绕接日志文件个数(默认大小10), 类型为unsigned int
|
|
|
+ public int bSetPrintStrategy;//是否重设日志打印输出策略, BOOL类型,取值0或1
|
|
|
+ public int nPrintStrategy;//日志输出策略,0:输出到文件(默认); 1:输出到窗口, 类型为unsigned int
|
|
|
+ public byte[] byReserved=new byte[4]; // 字节对齐
|
|
|
+ public Pointer cbSDKLogCallBack; // 日志回调,需要将sdk日志回调出来时设置,默认为NULL
|
|
|
+ public Pointer dwUser; // 用户数据
|
|
|
+ public LOG_SET_PRINT_INFO()
|
|
|
+ {
|
|
|
+ this.dwSize = this.size();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 设置登入时的相关参数
|
|
|
+ public static class NET_PARAM extends NetSDKLibs.SdkStructure
|
|
|
+ {
|
|
|
+ public int nWaittime; // 等待超时时间(毫秒为单位),为0默认5000ms
|
|
|
+ public int nConnectTime; // 连接超时时间(毫秒为单位),为0默认1500ms
|
|
|
+ public int nConnectTryNum; // 连接尝试次数,为0默认1次
|
|
|
+ public int nSubConnectSpaceTime; // 子连接之间的等待时间(毫秒为单位),为0默认10ms
|
|
|
+ public int nGetDevInfoTime; // 获取设备信息超时时间,为0默认1000ms
|
|
|
+ public int nConnectBufSize; // 每个连接接收数据缓冲大小(字节为单位),为0默认250*1024
|
|
|
+ public int nGetConnInfoTime; // 获取子连接信息超时时间(毫秒为单位),为0默认1000ms
|
|
|
+ public int nSearchRecordTime; // 按时间查询录像文件的超时时间(毫秒为单位),为0默认为3000ms
|
|
|
+ public int nsubDisconnetTime; // 检测子链接断线等待时间(毫秒为单位),为0默认为60000ms
|
|
|
+ public byte byNetType; // 网络类型, 0-LAN, 1-WAN
|
|
|
+ public byte byPlaybackBufSize; // 回放数据接收缓冲大小(M为单位),为0默认为4M
|
|
|
+ public byte bDetectDisconnTime; // 心跳检测断线时间(单位为秒),为0默认为60s,最小时间为2s
|
|
|
+ public byte bKeepLifeInterval; // 心跳包发送间隔(单位为秒),为0默认为10s,最小间隔为2s
|
|
|
+ public int nPicBufSize; // 实时图片接收缓冲大小(字节为单位),为0默认为2*1024*1024
|
|
|
+ public byte[] bReserved = new byte[4]; // 保留字段字段
|
|
|
+ }
|
|
|
+
|
|
|
+ // 门禁状态信息(CLIENT_QueryDevState 接口输入参数)
|
|
|
+ public static class NET_DOOR_STATUS_INFO extends SdkStructure
|
|
|
+ {
|
|
|
+ public int dwSize;
|
|
|
+ public int nChannel;//门禁通道号
|
|
|
+ public int emStateType;//门禁状态信息, 对应枚举EM_NET_DOOR_STATUS_TYPE
|
|
|
+
|
|
|
+ public NET_DOOR_STATUS_INFO() {
|
|
|
+ this.dwSize = this.size();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 门禁关门CLIENT_ControlDevice接口的 CTRLTYPE_CTRL_ACCESS_CLOSE 命令参数
|
|
|
+ public static class NET_CTRL_ACCESS_CLOSE extends NetSDKLibs.SdkStructure
|
|
|
+ {
|
|
|
+ public int dwSize;
|
|
|
+ public int nChannelID;//通道号(0开始)
|
|
|
+
|
|
|
+ public NET_CTRL_ACCESS_CLOSE() {
|
|
|
+ this.dwSize = this.size();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 设备控制扩展接口,兼容 CLIENT_ControlDevice (pInBuf, pOutBuf内存由用户申请释放)
|
|
|
+ // emType的取值为CtrlType中的值
|
|
|
+ public boolean CLIENT_ControlDeviceEx(LLong lLoginID, int emType, Pointer pInBuf, Pointer pOutBuf, int nWaitTime);
|
|
|
+
|
|
|
+
|
|
|
+ // 查询设备状态(pBuf内存由用户申请释放)
|
|
|
+ // pBuf指向char *,输出参数
|
|
|
+ // pRetLen指向int *;输出参数,实际返回的数据长度,单位字节
|
|
|
+ public boolean CLIENT_QueryDevState(LLong lLoginID, int nType, Pointer pBuf, int nBufLen, IntByReference pRetLen, int waittime);
|
|
|
+
|
|
|
+
|
|
|
+ // 返回函数执行失败代码
|
|
|
+ public int CLIENT_GetLastError();
|
|
|
+
|
|
|
+ /***********************************************************************
|
|
|
+ ** 回调
|
|
|
+ ***********************************************************************/
|
|
|
+ //JNA Callback方法定义,断线回调
|
|
|
+ public interface fDisConnect extends Callback {
|
|
|
+ public void invoke(NetSDKLibs.LLong lLoginID, String pchDVRIP, int nDVRPort, Pointer dwUser);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 网络连接恢复回调函数原形
|
|
|
+ public interface fHaveReConnect extends Callback {
|
|
|
+ public void invoke(NetSDKLibs.LLong lLoginID, String pchDVRIP, int nDVRPort, Pointer dwUser);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 门禁开门 CLIENT_ControlDevice接口的 CTRLTYPE_CTRL_ACCESS_OPEN 命令参数
|
|
|
+ public static class NET_CTRL_ACCESS_OPEN extends NetSDKLibs.SdkStructure {
|
|
|
+ public int dwSize;
|
|
|
+ public int nChannelID; // 通道号(0开始)
|
|
|
+ public Pointer szTargetID; // 转发目标设备ID,为NULL表示不转发
|
|
|
+ public byte[] szUserID = new byte[MAX_COMMON_STRING_32];//远程用户ID
|
|
|
+ public int emOpenDoorType; // 开门方式, 参考 EM_OPEN_DOOR_TYPE
|
|
|
+ /**
|
|
|
+ * EM_OPEN_DOOR_DIRECTION
|
|
|
+ */
|
|
|
+ public int emOpenDoorDirection; // 开门方向
|
|
|
+ /**
|
|
|
+ * EM_REMOTE_CHECK_CODE
|
|
|
+ */
|
|
|
+ public int emRemoteCheckCode; // 远程权限验证结果
|
|
|
+ public NET_CTRL_ACCESS_OPEN() {
|
|
|
+ this.dwSize = this.size();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // JNA直接调用方法定义,向设备注销
|
|
|
+ public boolean CLIENT_Logout(LLong lLoginID);
|
|
|
+}
|