package com.ycl.api.YS.config.network;
|
|
import com.sun.jna.ptr.IntByReference;
|
import com.ycl.api.YS.NetDemo;
|
import com.ycl.api.YS.util.Common;
|
import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_CONFIG_COMMAND_E;
|
import com.ycl.api.YS.lib.NetDEVSDKLib.NETDEV_VPN_CLIENT_INFO_S;
|
|
import javax.swing.*;
|
|
/**
|
*
|
* @introduction VPN
|
* @description Support IPC/NVR/VMS
|
*/
|
public class Vpn {
|
|
/**
|
*
|
* @introduction Get VPN information
|
* @description Calling the interface of NETDEV_GetDevConfig
|
*
|
*/
|
public static void getVpn() {
|
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_VPN_CLIENT_INFO_S vpnInfo = new NETDEV_VPN_CLIENT_INFO_S();
|
vpnInfo.write();
|
IntByReference dwBytesReturned = new IntByReference();
|
|
boolean bRet = NetDemo.netdevsdk.NETDEV_GetDevConfig(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_GET_VPN_CFG, vpnInfo.getPointer(), vpnInfo.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 {
|
vpnInfo.read();
|
NetDemo.textVpnAddress.setText(Common.byteArrayToString(vpnInfo.szAddress));
|
NetDemo.textVpnPort.setText(String.valueOf(vpnInfo.udwPort));
|
}
|
}
|
|
/**
|
*
|
* @introduction Set VPN configure
|
* @description Calling the interface of NETDEV_SetDevConfig
|
*
|
*/
|
public static void setVpn() {
|
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_VPN_CLIENT_INFO_S vpnInfo = new NETDEV_VPN_CLIENT_INFO_S();
|
vpnInfo.write();
|
IntByReference dwBytesReturned = new IntByReference();
|
boolean bRet = NetDemo.netdevsdk.NETDEV_GetDevConfig( NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_GET_VPN_CFG, vpnInfo.getPointer(), vpnInfo.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 {
|
vpnInfo.read();
|
String getVpnAddress= NetDemo.textVpnAddress.getText();
|
if( getVpnAddress==null||getVpnAddress.equals("")) {
|
JOptionPane.showMessageDialog(null, "VPN is null");
|
return;
|
}else {
|
Common.stringToByteArray(getVpnAddress, vpnInfo.szAddress);
|
}
|
String getPort= NetDemo.textVpnPort.getText();
|
if(getPort==null||getPort.equals("")) {
|
JOptionPane.showMessageDialog(null, "Port is null");
|
return;
|
}
|
int port=0;
|
try {
|
port=Integer.parseInt(getPort);
|
|
}catch(Exception el) {
|
JOptionPane.showMessageDialog(null, "Port is null or transformation Exception");
|
NetDemo.textVpnPort.setText(null);
|
return;
|
}
|
|
if(port==0) {
|
JOptionPane.showMessageDialog(null, "Zero port can not use");
|
NetDemo.textVpnPort.setText(null);
|
return;
|
}
|
|
if(port<0 || port>65535) {
|
JOptionPane.showMessageDialog(null, "Port should between 0 and 65535");
|
NetDemo.textVpnPort.setText(null);
|
return;
|
}
|
vpnInfo.udwEnabled=1;
|
vpnInfo.udwInterface=0;
|
vpnInfo.udwPort=port;
|
vpnInfo.write();
|
|
boolean bRet2 = NetDemo.netdevsdk.NETDEV_SetDevConfig(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_SET_VPN_CFG, vpnInfo.getPointer(), vpnInfo.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");
|
}
|
}
|
}
|
}
|