[libvirt] [java PATCH] Fix build with jna >= 3.5.0

Jiri Denemark jdenemar at redhat.com
Tue Nov 27 17:40:19 UTC 2012


Since jna-3.5.0, all subclasses of com.sun.jna.Structure are required to
implement getFieldOrder method which is supposed to return a list of
fields the wrapped structure contains.
---
 src/main/java/org/libvirt/jna/virConnectAuth.java          | 5 +++++
 src/main/java/org/libvirt/jna/virConnectCredential.java    | 6 ++++++
 src/main/java/org/libvirt/jna/virDomainBlockInfo.java      | 4 ++++
 src/main/java/org/libvirt/jna/virDomainBlockStats.java     | 5 +++++
 src/main/java/org/libvirt/jna/virDomainInfo.java           | 5 +++++
 src/main/java/org/libvirt/jna/virDomainInterfaceStats.java | 5 +++++
 src/main/java/org/libvirt/jna/virDomainJobInfo.java        | 7 +++++++
 src/main/java/org/libvirt/jna/virDomainMemoryStats.java    | 4 ++++
 src/main/java/org/libvirt/jna/virError.java                | 6 ++++++
 src/main/java/org/libvirt/jna/virNodeInfo.java             | 8 +++++++-
 src/main/java/org/libvirt/jna/virSchedParameter.java       | 5 +++++
 src/main/java/org/libvirt/jna/virStoragePoolInfo.java      | 5 +++++
 src/main/java/org/libvirt/jna/virStorageVolInfo.java       | 6 +++++-
 src/main/java/org/libvirt/jna/virVcpuInfo.java             | 4 ++++
 14 files changed, 73 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/libvirt/jna/virConnectAuth.java b/src/main/java/org/libvirt/jna/virConnectAuth.java
index 74dd65c..369d2e5 100644
--- a/src/main/java/org/libvirt/jna/virConnectAuth.java
+++ b/src/main/java/org/libvirt/jna/virConnectAuth.java
@@ -1,14 +1,19 @@
 package org.libvirt.jna;
 
 import com.sun.jna.Pointer;
 import com.sun.jna.Structure;
 
 /**
  * JNA mapping for the virConnectAuth structure
  */
 public class virConnectAuth extends Structure {
     public Pointer credtype;
     public int ncredtype;
     public Libvirt.VirConnectAuthCallback cb;
     public Pointer cbdata;
+
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "credtype", "ncredtype", "cb", "cbdata" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virConnectCredential.java b/src/main/java/org/libvirt/jna/virConnectCredential.java
index ba47482..dbfc38e 100644
--- a/src/main/java/org/libvirt/jna/virConnectCredential.java
+++ b/src/main/java/org/libvirt/jna/virConnectCredential.java
@@ -1,16 +1,22 @@
 package org.libvirt.jna;
 
 import com.sun.jna.Structure;
 
 /**
  * JNA mapping for the virConnectCredential structure
  */
 public class virConnectCredential extends Structure implements Structure.ByReference {
     public int type;
     public String prompt;
     public String challenge;
     public String defresult;
     // public Pointer result;
     public String result;
     public int resultlen;
+
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "type", "prompt", "challenge", "defresult",
+            "result", "resultlen" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virDomainBlockInfo.java b/src/main/java/org/libvirt/jna/virDomainBlockInfo.java
index 234a381..cbd7385 100644
--- a/src/main/java/org/libvirt/jna/virDomainBlockInfo.java
+++ b/src/main/java/org/libvirt/jna/virDomainBlockInfo.java
@@ -1,10 +1,14 @@
 package org.libvirt.jna;
 
 import com.sun.jna.Structure;
 
 public class virDomainBlockInfo extends Structure {
     public long capacity;
     public long allocation;
     public long physical;
 
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "capacity", "allocation", "physical" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virDomainBlockStats.java b/src/main/java/org/libvirt/jna/virDomainBlockStats.java
index f29dba0..71041cc 100644
--- a/src/main/java/org/libvirt/jna/virDomainBlockStats.java
+++ b/src/main/java/org/libvirt/jna/virDomainBlockStats.java
@@ -1,19 +1,24 @@
 package org.libvirt.jna;
 
 import com.sun.jna.Structure;
 
 /**
  * JNA mapping for the virDomainBlockStats structure
  */
 public class virDomainBlockStats extends Structure {
     public long rd_req; // this is a long long in the code, so a long mapping is
     // correct
     public long rd_bytes;// this is a long long in the code, so a long mapping
     // is correct
     public long wr_req; // this is a long long in the code, so a long mapping is
     // correct
     public long wr_bytes;// this is a long long in the code, so a long mapping
     // is correct
     public long errs; // this is a long long in the code, so a long mapping is
     // correct
+
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "rd_req", "rd_bytes", "wr_req", "wr_bytes", "errs" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virDomainInfo.java b/src/main/java/org/libvirt/jna/virDomainInfo.java
index a93c0a5..994042a 100644
--- a/src/main/java/org/libvirt/jna/virDomainInfo.java
+++ b/src/main/java/org/libvirt/jna/virDomainInfo.java
@@ -1,15 +1,20 @@
 package org.libvirt.jna;
 
 import com.sun.jna.NativeLong;
 import com.sun.jna.Structure;
 
 /**
  * JNA mapping for the virDomainInfo structure
  */
 public class virDomainInfo extends Structure {
     public int state;
     public NativeLong maxMem;
     public NativeLong memory;
     public short nrVirtCpu;
     public long cpuTime;
+
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "state", "maxMem", "memory", "nrVirtCpu", "cpuTime" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virDomainInterfaceStats.java b/src/main/java/org/libvirt/jna/virDomainInterfaceStats.java
index 1cb0e66..dcdd529 100644
--- a/src/main/java/org/libvirt/jna/virDomainInterfaceStats.java
+++ b/src/main/java/org/libvirt/jna/virDomainInterfaceStats.java
@@ -8,19 +8,24 @@ import com.sun.jna.Structure;
 public class virDomainInterfaceStats extends Structure {
     public long rx_bytes; // this is a long long in the code, so a long mapping
     // is correct
     public long rx_packets; // this is a long long in the code, so a long
     // mapping is correct
     public long rx_errs; // this is a long long in the code, so a long mapping
     // is correct
     public long rx_drop; // this is a long long in the code, so a long mapping
     // is correct
     public long tx_bytes; // this is a long long in the code, so a long mapping
     // is correct
     public long tx_packets; // this is a long long in the code, so a long
     // mapping is correct
     public long tx_errs; // this is a long long in the code, so a long mapping
     // is correct
     public long tx_drop; // this is a long long in the code, so a long mapping
     // is correct
 
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "rx_bytes", "rx_packets", "rx_errs", "rx_drop",
+            "tx_bytes", "tx_packets", "tx_errs", "tx_drop" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virDomainJobInfo.java b/src/main/java/org/libvirt/jna/virDomainJobInfo.java
index 98b4f59..af934ad 100644
--- a/src/main/java/org/libvirt/jna/virDomainJobInfo.java
+++ b/src/main/java/org/libvirt/jna/virDomainJobInfo.java
@@ -1,18 +1,25 @@
 package org.libvirt.jna;
 
 import com.sun.jna.Structure;
 
 public class virDomainJobInfo extends Structure {
     public int type;
     public long timeElapsed;
     public long timeRemaining;
     public long dataTotal;
     public long dataProcessed;
     public long dataRemaining;
     public long memTotal;
     public long memProcessed;
     public long memRemaining;
     public long fileTotal;
     public long fileProcessed;
     public long fileRemaining;
+
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "type", "timeElapsed", "timeRemaining", "dataTotal",
+            "dataProcessed", "dataRemaining", "memTotal", "memProcessed",
+            "memRemaining", "fileTotal", "fileProcessed", "fileRemaining" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virDomainMemoryStats.java b/src/main/java/org/libvirt/jna/virDomainMemoryStats.java
index 7a9f5d2..ec7b29e 100644
--- a/src/main/java/org/libvirt/jna/virDomainMemoryStats.java
+++ b/src/main/java/org/libvirt/jna/virDomainMemoryStats.java
@@ -1,8 +1,12 @@
 package org.libvirt.jna;
 
 import com.sun.jna.Structure;
 
 public class virDomainMemoryStats extends Structure {
     public int tag ;
     public long val ;
+
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] { "tag", "val" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virError.java b/src/main/java/org/libvirt/jna/virError.java
index e2580dd..9009280 100644
--- a/src/main/java/org/libvirt/jna/virError.java
+++ b/src/main/java/org/libvirt/jna/virError.java
@@ -4,19 +4,25 @@ import com.sun.jna.Pointer;
 import com.sun.jna.Structure;
 
 /**
  * JNA mapping for the virError structure
  */
 public class virError extends Structure {
     public int code;
     public int domain;
     public String message;
     public int level;
     public ConnectionPointer conn;
     public DomainPointer dom;
     public String str1;
     public String str2;
     public String str3;
     public int int1;
     public int int2;
     public NetworkPointer net;
+
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "code", "domain", "message", "level", "conn", "dom",
+            "str1", "str2", "str3", "int1", "int2", "net" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virNodeInfo.java b/src/main/java/org/libvirt/jna/virNodeInfo.java
index 532aad9..f13eddc 100644
--- a/src/main/java/org/libvirt/jna/virNodeInfo.java
+++ b/src/main/java/org/libvirt/jna/virNodeInfo.java
@@ -6,19 +6,25 @@ import com.sun.jna.Structure;
 /**
  * JNA mapping for the virNodeInfo structure
  */
 public class virNodeInfo extends Structure {
     public class ByReference extends virNodeInfo implements Structure.ByReference {
     };
 
     public class ByValue extends virNodeInfo implements Structure.ByValue {
     };
 
     public byte model[] = new byte[32];
     public NativeLong memory;
     public int cpus;
     public int mhz;
     public int nodes;
     public int sockets;
     public int cores;
     public int threads;
-}
\ No newline at end of file
+
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "model", "memory", "cpus", "mhz", "nodes",
+            "sockets", "cores", "threads" });
+    }
+}
diff --git a/src/main/java/org/libvirt/jna/virSchedParameter.java b/src/main/java/org/libvirt/jna/virSchedParameter.java
index 0013fff..9496121 100644
--- a/src/main/java/org/libvirt/jna/virSchedParameter.java
+++ b/src/main/java/org/libvirt/jna/virSchedParameter.java
@@ -1,12 +1,17 @@
 package org.libvirt.jna;
 
 import com.sun.jna.Structure;
 
 /**
  * JNA mapping for the virSchedParameter structure
  */
 public class virSchedParameter extends Structure {
     public byte field[] = new byte[Libvirt.VIR_DOMAIN_SCHED_FIELD_LENGTH];
     public int type;
     public virSchedParameterValue value;
+
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "field", "type", "value" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virStoragePoolInfo.java b/src/main/java/org/libvirt/jna/virStoragePoolInfo.java
index 5a98e08..7f370cd 100644
--- a/src/main/java/org/libvirt/jna/virStoragePoolInfo.java
+++ b/src/main/java/org/libvirt/jna/virStoragePoolInfo.java
@@ -1,16 +1,21 @@
 package org.libvirt.jna;
 
 import com.sun.jna.Structure;
 
 /**
  * JNA mapping for the virStoragePoolInfo structure
  */
 public class virStoragePoolInfo extends Structure {
     public int state;
     public long capacity; // this is a long long in the code, so a long mapping
     // is correct
     public long allocation; // this is a long long in the code, so a long
     // mapping is correct
     public long available; // this is a long long in the code, so a long mapping
     // is correct
+
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "state", "capacity", "allocation", "available" });
+    }
 }
diff --git a/src/main/java/org/libvirt/jna/virStorageVolInfo.java b/src/main/java/org/libvirt/jna/virStorageVolInfo.java
index db8a5bd..a02219e 100644
--- a/src/main/java/org/libvirt/jna/virStorageVolInfo.java
+++ b/src/main/java/org/libvirt/jna/virStorageVolInfo.java
@@ -1,15 +1,19 @@
 package org.libvirt.jna;
 
 import com.sun.jna.Structure;
 
 /**
  * JNA mapping for the virStorageVolInfo structure
  */
 public class virStorageVolInfo extends Structure {
     public int type;
     public long capacity; // this is a long long in the code, so a long mapping
     // is correct
     public long allocation; // this is a long long in the code, so a long
     // mapping is correct
 
-}
\ No newline at end of file
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "type", "capacity", "allocation" });
+    }
+}
diff --git a/src/main/java/org/libvirt/jna/virVcpuInfo.java b/src/main/java/org/libvirt/jna/virVcpuInfo.java
index 16f237d..e5f4363 100644
--- a/src/main/java/org/libvirt/jna/virVcpuInfo.java
+++ b/src/main/java/org/libvirt/jna/virVcpuInfo.java
@@ -1,15 +1,19 @@
 package org.libvirt.jna;
 
 import com.sun.jna.Structure;
 
 /**
  * JNA mapping for the virVcpuInfo structure
  */
 public class virVcpuInfo extends Structure {
     public int number;
     public int state;
     public long cpuTime; // this is a long long in the code, so a long mapping
     // is correct
     public int cpu;
 
+    protected java.util.List getFieldOrder() {
+        return java.util.Arrays.asList(new String[] {
+            "number", "state", "cpuTime", "cpu" });
+    }
 }
-- 
1.8.0




More information about the libvir-list mailing list