| @@ -1,7 +1,9 @@ | |||||
| package com.hkversion; | package com.hkversion; | ||||
| import com.alibaba.fastjson.JSONObject; | |||||
| import com.common.CommonUtil; | import com.common.CommonUtil; | ||||
| import com.sun.jna.Pointer; | import com.sun.jna.Pointer; | ||||
| import com.yzx.callback.AlarmCallback; | |||||
| import java.io.*; | import java.io.*; | ||||
| import java.nio.ByteBuffer; | import java.nio.ByteBuffer; | ||||
| @@ -14,7 +16,7 @@ import java.util.Date; | |||||
| */ | */ | ||||
| public class AlarmDataParse { | public class AlarmDataParse { | ||||
| public static void alarmDataHandle(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) { | |||||
| public static void alarmDataHandle(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser, AlarmCallback callback) { | |||||
| System.out.println("报警事件类型: lCommand:" + Integer.toHexString(lCommand)); | System.out.println("报警事件类型: lCommand:" + Integer.toHexString(lCommand)); | ||||
| String sTime; | String sTime; | ||||
| String MonitoringSiteID; | String MonitoringSiteID; | ||||
| @@ -568,7 +570,8 @@ public class AlarmDataParse { | |||||
| } | } | ||||
| break; | break; | ||||
| case HCNetSDK.COMM_ALARM_ACS: //门禁主机报警信息 | case HCNetSDK.COMM_ALARM_ACS: //门禁主机报警信息 | ||||
| //组装数据 | |||||
| JSONObject json = new JSONObject(); | |||||
| HCNetSDK.NET_DVR_ACS_ALARM_INFO strACSInfo = new HCNetSDK.NET_DVR_ACS_ALARM_INFO(); | HCNetSDK.NET_DVR_ACS_ALARM_INFO strACSInfo = new HCNetSDK.NET_DVR_ACS_ALARM_INFO(); | ||||
| strACSInfo.write(); | strACSInfo.write(); | ||||
| Pointer pACSInfo = strACSInfo.getPointer(); | Pointer pACSInfo = strACSInfo.getPointer(); | ||||
| @@ -2,12 +2,18 @@ | |||||
| package com.hkversion; | package com.hkversion; | ||||
| import com.sun.jna.Pointer; | import com.sun.jna.Pointer; | ||||
| import com.yzx.callback.AlarmCallback; | |||||
| public class FMSGCallBack_V31 implements HCNetSDK.FMSGCallBack_V31 { | public class FMSGCallBack_V31 implements HCNetSDK.FMSGCallBack_V31 { | ||||
| private AlarmCallback callback; | |||||
| public FMSGCallBack_V31(AlarmCallback callback){ | |||||
| this.callback = callback; | |||||
| } | |||||
| //报警信息回调函数 | //报警信息回调函数 | ||||
| public boolean invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) { | public boolean invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) { | ||||
| AlarmDataParse.alarmDataHandle(lCommand, pAlarmer, pAlarmInfo, dwBufLen, pUser); | |||||
| AlarmDataParse.alarmDataHandle(lCommand, pAlarmer, pAlarmInfo, dwBufLen, pUser,callback); | |||||
| return true; | return true; | ||||
| } | } | ||||
| } | } | ||||
| @@ -7,6 +7,7 @@ import com.hkversion.HCNetSDK; | |||||
| import com.sun.jna.Native; | import com.sun.jna.Native; | ||||
| import com.sun.jna.Pointer; | import com.sun.jna.Pointer; | ||||
| import com.yzx.IHardwareEquipment; | import com.yzx.IHardwareEquipment; | ||||
| import com.yzx.callback.AlarmCallback; | |||||
| public class HKVersion implements IHardwareEquipment { | public class HKVersion implements IHardwareEquipment { | ||||
| @@ -33,14 +34,14 @@ public class HKVersion implements IHardwareEquipment { | |||||
| private HardwareEquipmentInfo info; | private HardwareEquipmentInfo info; | ||||
| public HKVersion(HardwareEquipmentInfo info){ | public HKVersion(HardwareEquipmentInfo info){ | ||||
| this.info = info; | this.info = info; | ||||
| this.alarm(); | |||||
| this.alarm(info.getAlarmCallback()); | |||||
| } | } | ||||
| private void alarm(){ | |||||
| private void alarm(AlarmCallback callback){ | |||||
| //设置报警回调函数 | //设置报警回调函数 | ||||
| if (fMSFCallBack_V31 == null) { | if (fMSFCallBack_V31 == null) { | ||||
| fMSFCallBack_V31 = new FMSGCallBack_V31(); | |||||
| fMSFCallBack_V31 = new FMSGCallBack_V31(callback); | |||||
| Pointer pUser = null; | Pointer pUser = null; | ||||
| if (!hCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(fMSFCallBack_V31, pUser)) { | if (!hCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(fMSFCallBack_V31, pUser)) { | ||||
| System.out.println("设置回调函数失败!"); | System.out.println("设置回调函数失败!"); | ||||