package com.netsdk.demo.customize; import com.netsdk.lib.NetSDKLib; import com.netsdk.lib.ToolKits; import com.netsdk.lib.structure.*; import com.netsdk.lib.utils.Initialization; import com.sun.jna.Memory; import com.sun.jna.Pointer; import java.util.Scanner; /** * @author 291189 * @version 1.0 * @description GIP210810006 * @date 2021/8/17 10:29 */ public class VehicleRegisterDBDemo extends Initialization { //创建车辆组 public String CLIENT_CreateGroupForVehicleRegisterDB(){ //入参 NET_IN_CREATE_GROUP_FOR_VEHICLE_REG_DB inparam=new NET_IN_CREATE_GROUP_FOR_VEHICLE_REG_DB(); String groupName="one"; String GroupDetail="第一个分组"; System.arraycopy(groupName.getBytes(),0,inparam.szGroupName,0,groupName.getBytes().length); System.arraycopy(GroupDetail.getBytes(),0,inparam.szGroupDetail,0,GroupDetail.getBytes().length); int pInParamSize=inparam.size(); Pointer pInParam =new Memory(pInParamSize); ToolKits.SetStructDataToPointer(inparam, pInParam, 0); //出参 NET_OUT_CREATE_GROUP_FOR_VEHICLE_REG_DB outParam=new NET_OUT_CREATE_GROUP_FOR_VEHICLE_REG_DB(); int poutParamSize=outParam.size(); Pointer poutParam =new Memory(poutParamSize); ToolKits.SetStructDataToPointer(outParam, poutParam, 0); boolean isCreate = netSdk.CLIENT_CreateGroupForVehicleRegisterDB(loginHandle, pInParam, poutParam, 3000); String id=""; if(isCreate){ ToolKits.GetPointerDataToStruct(poutParam,0,outParam); byte[] szGroupID = outParam.szGroupID; id= new String(szGroupID); System.out.println("CLIENT_CreateGroupForVehicleRegisterDB success "); System.out.println("szGroupID:"+id); }else { System.err.println(" CLIENT_CreateGroupForVehicleRegisterDB fail :"+ToolKits.getErrorCode()); } return id; } // 删除车辆组 public void CLIENT_DeleteGroupFromVehicleRegisterDB(String id){ //入参 NET_IN_DELETE_GROUP_FROM_VEHICLE_REG_DB inparam=new NET_IN_DELETE_GROUP_FROM_VEHICLE_REG_DB(); String groupID=id; System.arraycopy(groupID.getBytes(),0,inparam.szGroupID,0,groupID.getBytes().length); int pInParamSize=inparam.size(); Pointer pInParam =new Memory(pInParamSize); ToolKits.SetStructDataToPointer(inparam, pInParam, 0); //出参 NET_OUT_DELETE_GROUP_FROM_VEHICLE_REG_DB outParam=new NET_OUT_DELETE_GROUP_FROM_VEHICLE_REG_DB(); int pOutParamSize=outParam.size(); Pointer pOutParam =new Memory(pOutParamSize); ToolKits.SetStructDataToPointer(outParam, pOutParam, 0); boolean isDelete = netSdk.CLIENT_DeleteGroupFromVehicleRegisterDB(loginHandle, pInParam, pOutParam, 3000); if(isDelete){ System.out.println(" delete is success"); }else { System.err.println(" delete is fail"); } } //向车牌库添加车辆信息 public void CLIENT_MultiAppendToVehicleRegisterDB(){ //入参 NET_IN_MULTI_APPEND_TO_VEHICLE_REG_DB inparam=new NET_IN_MULTI_APPEND_TO_VEHICLE_REG_DB(); inparam.nVehicleNum=1000; // 车辆个数 // Memory memory = new Memory(info.size() * inparam.nVehicleNum); //设置车辆数组对象。 NetSDKLib.NET_VEHICLE_INFO[] infos = new NetSDKLib.NET_VEHICLE_INFO[inparam.nVehicleNum]; for(int i=0;i