package com.ycl.api.YS.config.temper; import com.sun.jna.ptr.IntByReference; import com.ycl.api.YS.NetDemo; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_CONFIG_COMMAND_E; import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_TAMPER_DETECTION_RULE_INFO_S; import javax.swing.*; /** * * @introduction Temper detection * @description Suppport IPC/NVR */ public class TemperDetection { /** * * @introduction Get temper detection * @description Calling the interface of NETDEV_GetDevConfig * */ public static void getTemperDetection() { if(null == NetDemo.lpUserID){ JOptionPane.showMessageDialog(null, "Please Login device first. error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); return; } if(NetDemo.ChannelID == 0){ JOptionPane.showMessageDialog(null, "Please select an online channel after login."); return; } NETDEV_TAMPER_DETECTION_RULE_INFO_S stTamperDetectionInfo = new NETDEV_TAMPER_DETECTION_RULE_INFO_S(); stTamperDetectionInfo.write(); IntByReference dwBytesReturned = new IntByReference(); boolean bRet = NetDemo.netdevsdk.NETDEV_GetDevConfig(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_GET_TAMPER_DETECTION_RULE_INFO, stTamperDetectionInfo.getPointer(), stTamperDetectionInfo.size() , dwBytesReturned ); if(bRet != true) { JOptionPane.showMessageDialog(null, "Get data failed,error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); System.out.printf("NETDEV_GetDevConfig failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; }else { stTamperDetectionInfo.read(); if(stTamperDetectionInfo.bEnabled == 1) { NetDemo.chckbxConfigTamperChannelEnable.setSelected(true); }else { NetDemo.chckbxConfigTamperChannelEnable.setSelected(false); } NetDemo.textFieldConfigTemperChannelSensitivity.setText(String.valueOf(stTamperDetectionInfo.udwSensitivity)); NetDemo.textFieldConfigTemperChannelDuration.setText(String.valueOf(stTamperDetectionInfo.udwDuration)); } } /** * * @introduction Set temper detection * @description Calling the interface of NETDEV_SetDevConfig * */ public static void setTemperDetection() { if(null == NetDemo.lpUserID){ JOptionPane.showMessageDialog(null, "Please Login device first. error code" +NetDemo.netdevsdk.NETDEV_GetLastError()); return; } if(NetDemo.ChannelID == 0){ JOptionPane.showMessageDialog(null, "Please select an online channel after login."); return; } NETDEV_TAMPER_DETECTION_RULE_INFO_S stTamperDetectionInfo = new NETDEV_TAMPER_DETECTION_RULE_INFO_S(); stTamperDetectionInfo.write(); IntByReference dwBytesReturned = new IntByReference(); boolean bRet = NetDemo.netdevsdk.NETDEV_GetDevConfig(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_GET_TAMPER_DETECTION_RULE_INFO, stTamperDetectionInfo.getPointer(), stTamperDetectionInfo.size() , dwBytesReturned ); if(bRet != true) { JOptionPane.showMessageDialog(null, "Get data failed,error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); System.out.printf("NETDEV_GetDevConfig failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; }else { stTamperDetectionInfo.read(); String FieldConfigTemperChannelSensitivity=NetDemo.textFieldConfigTemperChannelSensitivity.getText(); if(FieldConfigTemperChannelSensitivity==null||FieldConfigTemperChannelSensitivity.equals("")) { JOptionPane.showMessageDialog(null, "Sensitivity is null"); return; } int ConfigTemperChannelSensitivity=1; try { ConfigTemperChannelSensitivity=Integer.parseInt(FieldConfigTemperChannelSensitivity); }catch(Exception o) { JOptionPane.showMessageDialog(null, "Sensitivity transformation Exception"); NetDemo.textFieldConfigTemperChannelSensitivity.setText(null); return; } if(ConfigTemperChannelSensitivity<1 || ConfigTemperChannelSensitivity>100) { JOptionPane.showMessageDialog(null, "Sensitivity should between 1 and 100"); NetDemo.textFieldConfigTemperChannelSensitivity.setText(null); return; } stTamperDetectionInfo.udwSensitivity = ConfigTemperChannelSensitivity; if(NetDemo.chckbxConfigTamperChannelEnable.isSelected() == true) { stTamperDetectionInfo.bEnabled = 1; }else { stTamperDetectionInfo.bEnabled = 0; } String FieldConfigTemperChannelDuration=NetDemo.textFieldConfigTemperChannelDuration.getText(); if(FieldConfigTemperChannelDuration==null||FieldConfigTemperChannelDuration.equals("")) { JOptionPane.showMessageDialog(null, "Duration is null"); return; } int ConfigTemperChannelDuration=1; try { ConfigTemperChannelDuration=Integer.parseInt(FieldConfigTemperChannelDuration); }catch(Exception o) { JOptionPane.showMessageDialog(null, "Duration transformation Exception"); NetDemo.textFieldConfigTemperChannelDuration.setText(null); return; } if(ConfigTemperChannelDuration<1 || ConfigTemperChannelDuration>10) { JOptionPane.showMessageDialog(null, "Duration should between 1 and 10"); NetDemo.textFieldConfigTemperChannelDuration.setText(null); return; } stTamperDetectionInfo.udwDuration = ConfigTemperChannelDuration; stTamperDetectionInfo.write(); boolean bRet2 = NetDemo.netdevsdk.NETDEV_SetDevConfig(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_SET_TAMPER_DETECTION_RULE_INFO, stTamperDetectionInfo.getPointer(), stTamperDetectionInfo.size()); if(bRet2 != true) { JOptionPane.showMessageDialog(null, "Set data Failed,error code"+NetDemo.netdevsdk.NETDEV_GetLastError()); System.out.printf("NETDEV_SetDevConfig failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError()); return; }else { JOptionPane.showMessageDialog(null, "Set Success."); } } } }