zhangqiankun 3 年之前
父節點
當前提交
42ef9eb3bb

+ 1 - 1
src/main/java/com/persagy/cameractl/service/windows/Nvr9CameraExecuteApi.java

@@ -83,7 +83,7 @@ public class Nvr9CameraExecuteApi {
 				IPC_ArrayEx.ipc.streamType = streamType;
 				IPC_ArrayEx.ipc.deviceType = 0;
 				//IPC_ArrayEx.ipc.channelID = channel.getChannelID();
-				IPC_ArrayEx.ipc.manufacterID = new IPC_MACHINE_TYPE();
+				//IPC_ArrayEx.ipc.manufacterID = IPC_MACHINE_TYPE.ONVIF_AXIS;
 				IPC_ArrayEx.ipc.manufacturer = camera.getManufactername().getBytes();
 				IPC_ArrayEx.ipc.model = camera.getModel().getBytes();
 				

+ 8 - 0
src/main/java/com/persagy/vsknet/structure/CurShowDevEx.java

@@ -1,5 +1,8 @@
 package com.persagy.vsknet.structure;
 
+import java.util.Arrays;
+import java.util.List;
+
 import com.sun.jna.Structure;
 
 /**
@@ -17,4 +20,9 @@ public class CurShowDevEx extends Structure {
 	
 	public IPC_ArrayEx[] ChlInfo = new IPC_ArrayEx[16];		//通道信息。
 	
+    @Override
+    protected List<String> getFieldOrder() {
+        return Arrays.asList("WindowsNum", "ChlNum", "ChlInfo");
+    }
+    
 }

+ 8 - 0
src/main/java/com/persagy/vsknet/structure/DECV2_PROTO_DecCircleStrateryEx.java

@@ -1,5 +1,8 @@
 package com.persagy.vsknet.structure;
 
+import java.util.Arrays;
+import java.util.List;
+
 import com.sun.jna.Structure;
 
 /**
@@ -16,4 +19,9 @@ public class DECV2_PROTO_DecCircleStrateryEx extends Structure {
 	
 	public DecCircleStrateryEx decStratery;
 	
+    @Override
+    protected List<String> getFieldOrder() {
+        return Arrays.asList("proHead", "decStratery");
+    }
+    
 }

+ 8 - 0
src/main/java/com/persagy/vsknet/structure/DECV2_PROTO_HEADER_T.java

@@ -1,5 +1,8 @@
 package com.persagy.vsknet.structure;
 
+import java.util.Arrays;
+import java.util.List;
+
 import com.sun.jna.Structure;
 
 /**
@@ -18,4 +21,9 @@ public class DECV2_PROTO_HEADER_T extends Structure {
 	public int reserv4;
 	public int dataLen;// 该长度不包含头的长度
 
+    @Override
+    protected List<String> getFieldOrder() {
+        return Arrays.asList("master", "modeVal", "weekday", "segment", "reserv4", "dataLen");
+    }
+    
 }

+ 8 - 0
src/main/java/com/persagy/vsknet/structure/DECV2_PROTO_IPC.java

@@ -1,5 +1,8 @@
 package com.persagy.vsknet.structure;
 
+import java.util.Arrays;
+import java.util.List;
+
 import com.sun.jna.Structure;
 
 /**
@@ -15,4 +18,9 @@ public class DECV2_PROTO_IPC extends Structure {
 	
 	public IPC_ArrayEx ipc;
 	
+    @Override
+    protected List<String> getFieldOrder() {
+        return Arrays.asList("proHead", "ipc");
+    }
+    
 }

+ 8 - 0
src/main/java/com/persagy/vsknet/structure/DECV2_PROTO_SPLIT_PREVIEW.java

@@ -1,5 +1,8 @@
 package com.persagy.vsknet.structure;
 
+import java.util.Arrays;
+import java.util.List;
+
 import com.sun.jna.Structure;
 
 /**
@@ -16,4 +19,9 @@ public class DECV2_PROTO_SPLIT_PREVIEW extends Structure {
 
 	public TagChangeWndStyle ipc;
 
+    @Override
+    protected List<String> getFieldOrder() {
+        return Arrays.asList("proHead", "ipc");
+    }
+    
 }

+ 8 - 0
src/main/java/com/persagy/vsknet/structure/DecCircleStrateryEx.java

@@ -1,5 +1,8 @@
 package com.persagy.vsknet.structure;
 
+import java.util.Arrays;
+import java.util.List;
+
 import com.sun.jna.Structure;
 
 /**
@@ -14,4 +17,9 @@ public class DecCircleStrateryEx extends Structure {
 	/**分时间段的策略和通道信息。*/
 	public DecCircleTimeEx[][] DecCircleStrateryChl = new DecCircleTimeEx[7][3];
 
+    @Override
+    protected List<String> getFieldOrder() {
+        return Arrays.asList("DecCircleStrateryChl");
+    }
+    
 }

+ 8 - 0
src/main/java/com/persagy/vsknet/structure/DecCircleTimeEx.java

@@ -1,5 +1,8 @@
 package com.persagy.vsknet.structure;
 
+import java.util.Arrays;
+import java.util.List;
+
 import com.sun.jna.Structure;
 
 /**
@@ -19,4 +22,9 @@ public class DecCircleTimeEx extends Structure {
 	public int nChlNum;	//标示ChlInfo数组通道数量
 	public IPC_ArrayEx[] ChlInfo = new IPC_ArrayEx[16];	//通道信息。
 
+    @Override
+    protected List<String> getFieldOrder() {
+        return Arrays.asList("nTimeId", "uistarttime", "uiendtime", "nwinnum", "nchanggeTime", "nChlNum", "ChlInfo");
+    }
+    
 }

+ 8 - 0
src/main/java/com/persagy/vsknet/structure/IPC_ArrayEx.java

@@ -1,5 +1,8 @@
 package com.persagy.vsknet.structure;
 
+import java.util.Arrays;
+import java.util.List;
+
 import com.persagy.vsknet.tmp.AUTHORIZATION;
 import com.persagy.vsknet.tmp.SERVER_URI;
 import com.sun.jna.Structure;
@@ -24,4 +27,9 @@ public class IPC_ArrayEx extends Structure {
 	 * */
 	public int nUser;
 
+    @Override
+    protected List<String> getFieldOrder() {
+        return Arrays.asList("ipc", "Ipclogin", "nUser");
+    }
+    
 }

+ 11 - 1
src/main/java/com/persagy/vsknet/structure/TagChangeWndStyle.java

@@ -1,5 +1,10 @@
 package com.persagy.vsknet.structure;
 
+import java.util.Arrays;
+import java.util.List;
+
+import com.sun.jna.Structure;
+
 /**
  * 
  * @version 1.0.0
@@ -8,7 +13,7 @@ package com.persagy.vsknet.structure;
  * @date 2021年10月13日 下午10:16:52
  */
 
-public class TagChangeWndStyle {
+public class TagChangeWndStyle extends Structure {
 
 	/** 画面分割数,值包括 1、4、9、16 */
 	public int nWndNum;
@@ -22,4 +27,9 @@ public class TagChangeWndStyle {
 	 */
 	public int nChl;
 	
+    @Override
+    protected List<String> getFieldOrder() {
+        return Arrays.asList("nWndNum", "nChl");
+    }
+	
 }

+ 1 - 1
src/main/java/com/persagy/vsknet/tmp/SERVER_URI.java

@@ -18,7 +18,7 @@ public class SERVER_URI extends Structure {
     public int          addrs_size;/*0 indicate the URI invalid*/	//标示device_addrs数组的实际有效值长度。
     public byte[]         ip = new byte[16];	//设备的IP地址。
     public int          port;	//登陆端口。
-    public IPC_MACHINE_TYPE manufacterID;      //厂商ID,用来区分  RTSP和TCP连接。 ONVIF为0
+    public int manufacterID = IPC_MACHINE_TYPE.ONVIF_PROTOCOL;      //厂商ID,用来区分  RTSP和TCP连接。 ONVIF为0
     public byte          frameRate;	//默认填写为25。
     public byte        streamType; // Sub stream or main Stream.0主码流,1子码流
     public byte        deviceType; // what 's type of device that video stream get from. 1 for IPC stream 2 for NVR stream .默认填0