package com.ycl.api.YS.config.server;
|
|
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.*;
|
|
import javax.swing.*;
|
import java.util.Vector;
|
|
public class SmartServer {
|
|
/**
|
*
|
* @introduction Get the smart server information
|
* @description Calling the interface of NETDEV_GetDevConfig
|
*
|
*/
|
public static void getSmartServer() {
|
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;
|
}
|
|
NetDemo.SmartServertableModel.setRowCount(0);
|
if(NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC ||
|
NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_FISHEYE ||
|
NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_ECONOMIC_FISHEYE ||
|
NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_ACS) {
|
|
IntByReference dwBytesReturned = new IntByReference();
|
NetDemo.serverList = new NETDEV_DATA_SERVER_LIST();
|
boolean bRet = NetDemo.netdevsdk.NETDEV_GetDevConfig(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_GET_INTELLIGENT_SERVER_INFO, NetDemo.serverList.getPointer(),5476,dwBytesReturned);
|
if(bRet != true) {
|
System.out.printf("NETDEV_GetDevConfig failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError());
|
return;
|
}else {
|
NetDemo.serverList.read();
|
//清空tableModel内容
|
NetDemo.SmartServertableModel.setRowCount(0);
|
for(int i = 0; i < NetDemo.serverList.udwNum; i++){
|
Vector<Object> vtData = new Vector<>();
|
vtData.add(NetDemo.serverList.astDataServerList[i].udwIndex);
|
if(NetDemo.serverList.astDataServerList[i].bEnable == 1){
|
vtData.add(true);
|
}else{
|
vtData.add(false);
|
}
|
|
vtData.add(NetDemo.serverList.astDataServerList[i].udwProtocol);
|
vtData.add(Common.byteArrayToString(NetDemo.serverList.astDataServerList[i].szCameraID));
|
vtData.add(Common.byteArrayToString(NetDemo.serverList.astDataServerList[i].szTollgateID));
|
vtData.add(Common.byteArrayToString(NetDemo.serverList.astDataServerList[i].szServerAddr));
|
vtData.add(NetDemo.serverList.astDataServerList[i].udwServerPort);
|
vtData.add(Common.byteArrayToString(NetDemo.serverList.astDataServerList[i].szDrivewayID));
|
vtData.add(Common.byteArrayToString(NetDemo.serverList.astDataServerList[i].szDirectionID));
|
vtData.add(Common.byteArrayToString(NetDemo.serverList.astDataServerList[i].szDeviceID));
|
vtData.add(Common.byteArrayToString(NetDemo.serverList.astDataServerList[i].szAreaId));
|
NetDemo.SmartServertableModel.insertRow(i, vtData);
|
}
|
NetDemo.SmartServerTable.setModel(NetDemo.SmartServertableModel);
|
}
|
}else{
|
JOptionPane.showMessageDialog(null, "Only Support IPC.");
|
return;
|
}
|
}
|
|
/**
|
*
|
* @introduction Set the smart server information
|
* @description Calling the interface of NETDEV_SetDevConfig
|
*
|
*/
|
public static void setSmartServer() {
|
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;
|
}
|
if(NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC ||
|
NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_FISHEYE ||
|
NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_ECONOMIC_FISHEYE ||
|
NetDemo.pstDeviceInfo.dwDeviceType == NETDEV_DEVICE_TYPE_E.NETDEV_DTYPE_IPC_ACS) {
|
NETDEV_DATA_SERVER_LIST serverListData = new NETDEV_DATA_SERVER_LIST();
|
for(int i =0; i< NetDemo.SmartServertableModel.getRowCount(); i++) {
|
serverListData.astDataServerList[i] = new NETDEV_DATA_SERVER_INFO();
|
String getValue=NetDemo.SmartServertableModel.getValueAt(i, 0).toString();
|
if(getValue==null||getValue.equals("")) {
|
JOptionPane.showMessageDialog(null, "Index is null");
|
return;
|
}
|
|
int index=0;
|
try {
|
index=Integer.valueOf(NetDemo.SmartServertableModel.getValueAt(i, 0).toString());
|
}catch(Exception m) {
|
return;
|
}
|
serverListData.astDataServerList[i].udwIndex = index;
|
|
if(new Boolean(NetDemo.SmartServertableModel.getValueAt(i, 1).toString()) == true){
|
serverListData.astDataServerList[i].bEnable = 1;
|
}else{
|
serverListData.astDataServerList[i].bEnable = 0;
|
}
|
|
String getProtol=NetDemo.SmartServertableModel.getValueAt(i, 2).toString();
|
if(getProtol==null||getProtol.equals("")) {
|
JOptionPane.showMessageDialog(null, "Protol is null");
|
return;
|
}
|
int protrol=1;
|
try {
|
protrol=Integer.valueOf(NetDemo.SmartServertableModel.getValueAt(i, 2).toString());
|
}catch(Exception m) {
|
return;
|
}
|
|
serverListData.astDataServerList[i].udwProtocol = protrol;
|
Common.stringToByteArray(NetDemo.SmartServertableModel.getValueAt(i, 3).toString(),serverListData.astDataServerList[i].szCameraID);
|
Common.stringToByteArray(NetDemo.SmartServertableModel.getValueAt(i, 4).toString(),serverListData.astDataServerList[i].szTollgateID);
|
Common.stringToByteArray(NetDemo.SmartServertableModel.getValueAt(i, 5).toString(),serverListData.astDataServerList[i].szServerAddr);
|
|
String getPort=NetDemo.SmartServertableModel.getValueAt(i, 6).toString();
|
if(getPort==null||getPort.equals("")) {
|
JOptionPane.showMessageDialog(null, "Port is null");
|
return;
|
}
|
|
int port=0;
|
try {
|
port=Integer.valueOf(NetDemo.SmartServertableModel.getValueAt(i, 6).toString());
|
}catch(Exception m2) {
|
return;
|
}
|
serverListData.astDataServerList[i].udwServerPort = port;
|
|
Common.stringToByteArray(NetDemo.SmartServertableModel.getValueAt(i, 7).toString(),serverListData.astDataServerList[i].szDrivewayID);
|
Common.stringToByteArray(NetDemo.SmartServertableModel.getValueAt(i, 8).toString(),serverListData.astDataServerList[i].szDirectionID);
|
Common.stringToByteArray(NetDemo.SmartServertableModel.getValueAt(i, 9).toString(),serverListData.astDataServerList[i].szDeviceID);
|
Common.stringToByteArray(NetDemo.SmartServertableModel.getValueAt(i, 10).toString(),serverListData.astDataServerList[i].szAreaId);
|
try {
|
if(null != NetDemo.serverList.astDataServerList[i]){
|
serverListData.astDataServerList[i].stServerUserInfo = NetDemo.serverList.astDataServerList[i].stServerUserInfo;
|
}else{
|
serverListData.astDataServerList[i].stServerUserInfo = new NETDEV_SERVER_USER_INFO_S();
|
}
|
}catch(Exception m3) {
|
|
}
|
serverListData.astDataServerList[i].write();
|
}
|
serverListData.udwNum = NetDemo.SmartServertableModel.getRowCount();
|
serverListData.write();
|
boolean bRet = NetDemo.netdevsdk.NETDEV_SetDevConfig(NetDemo.lpUserID, NetDemo.ChannelID, NETDEV_CONFIG_COMMAND_E.NETDEV_SET_INTELLIGENT_SERVER_INFO, serverListData.getPointer(), 5476);
|
if(bRet != true) {
|
System.out.printf("NETDEV_SetDevConfig failed:%d\n", NetDemo.netdevsdk.NETDEV_GetLastError());
|
return;
|
}else{
|
JOptionPane.showMessageDialog(null, "Set success!");
|
NetDemo.jButtonGetSmartServer.doClick();
|
}
|
}else{
|
JOptionPane.showMessageDialog(null, "Only Support IPC.");
|
return;
|
}
|
}
|
}
|