]> sigrok.org Git - libsigrok.git/commitdiff
java: Remove need for conversion methods on container wrappers.
authorMartin Ling <redacted>
Tue, 20 Oct 2015 23:18:03 +0000 (00:18 +0100)
committerUwe Hermann <redacted>
Sat, 24 Oct 2015 20:12:41 +0000 (22:12 +0200)
bindings/java/org/sigrok/core/classes/classes.i

index fb8da272419ed02d0fa85286bf780d5ca450cbf2..7e1919e2dce0b1864272dd6d9e5de4df604d5362 100644 (file)
@@ -54,20 +54,12 @@ namespace Glib {
 %typemap(jstype) std::vector< CValue > "java.util.Vector<JValue>"
 
 %typemap(javain,
-    pre="  $javaclassname temp$javainput = $javaclassname.convertVector($javainput);",
+    pre="  $javaclassname temp$javainput = new $javaclassname();
+  for (JValue value : $javainput)
+    temp$javainput.add(value);",
     pgcppname="temp$javainput")
   std::vector< CValue > "$javaclassname.getCPtr(temp$javainput)"
 
-%typemap(javacode) std::vector< CValue > %{
-  static $javaclassname convertVector(java.util.Vector<JValue> in)
-  {
-    $javaclassname out = new $javaclassname();
-    for (JValue value : in)
-      out.add(value);
-    return out;
-  }
-%}
-
 %typemap(javaout) std::vector< CValue > {
   return (java.util.Vector<JValue>)$jnicall;
 }
@@ -102,20 +94,12 @@ VECTOR(std::shared_ptr<sigrok::HardwareDevice>, HardwareDevice)
   "java.util.Map<JKey, JValue>"
 
 %typemap(javain,
-    pre="  $javaclassname temp$javainput = $javaclassname.convertMap($javainput);",
+    pre="  $javaclassname temp$javainput = new $javaclassname();
+    for (java.util.Map.Entry<JKey, JValue> entry : $javainput.entrySet())
+      temp$javainput.set(entry.getKey(), entry.getValue());",
     pgcppname="temp$javainput")
   std::map< CKey, CValue > "$javaclassname.getCPtr(temp$javainput)"
 
-%typemap(javacode) std::map< CKey, CValue > %{
-  static $javaclassname convertMap(java.util.Map<JKey,JValue> in)
-  {
-    $javaclassname out = new $javaclassname();
-    for (java.util.Map.Entry<JKey, JValue> entry : in.entrySet())
-      out.set(entry.getKey(), entry.getValue());
-    return out;
-  }
-%}
-
 %typemap(javaout) std::map< CKey, CValue > {
   return (java.util.Map<JKey, JValue>)$jnicall;
 }