X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=bindings%2Fjava%2Forg%2Fsigrok%2Fcore%2Fclasses%2Fclasses.i;fp=bindings%2Fjava%2Forg%2Fsigrok%2Fcore%2Fclasses%2Fclasses.i;h=1b303464ea34bf16c6eb28d656dfd09f7298401d;hb=12f2f640cbe9167ad386a2d9069ec882d70cda5b;hp=6489b9cf092baacbd048967afc407f97eb7e1eca;hpb=c57aa1ac19b437281e60c394483a15aec9080916;p=libsigrok.git diff --git a/bindings/java/org/sigrok/core/classes/classes.i b/bindings/java/org/sigrok/core/classes/classes.i index 6489b9cf..1b303464 100644 --- a/bindings/java/org/sigrok/core/classes/classes.i +++ b/bindings/java/org/sigrok/core/classes/classes.i @@ -195,14 +195,14 @@ MAP_COMMON(const sigrok::ConfigKey *, Glib::VariantBase, ConfigKey, Variant) /* Specialisation for ConfigKey->set maps */ -MAP_COMMON(const sigrok::ConfigKey *, std::set, +MAP_COMMON(const sigrok::ConfigKey *, std::set, ConfigKey, java.util.Set) -%typemap(jni) std::map > "jobject" -%typemap(jtype) std::map > +%typemap(jni) std::map > "jobject" +%typemap(jtype) std::map > "java.util.Map>" -%typemap(out) std::map > { +%typemap(out) std::map > { jclass HashMap = jenv->FindClass("java/util/HashMap"); jmethodID HashMap_init = jenv->GetMethodID(HashMap, "", "()V"); jmethodID HashMap_put = jenv->GetMethodID(HashMap, "put", @@ -214,8 +214,7 @@ MAP_COMMON(const sigrok::ConfigKey *, std::set, jclass ConfigKey = jenv->FindClass("org/sigrok/core/classes/ConfigKey"); jmethodID ConfigKey_init = jenv->GetMethodID(ConfigKey, "", "(JZ)V"); jclass Capability = jenv->FindClass("org/sigrok/core/classes/Capability"); - jmethodID Capability_swigToEnum = jenv->GetStaticMethodID(Capability, - "swigToEnum", "(I)Lorg/sigrok/core/classes/Capability;"); + jmethodID Capability_init = jenv->GetMethodID(Capability, "", "(JZ)V"); $result = jenv->NewObject(HashMap, HashMap_init); jlong key = 0; for (auto map_entry : $1) @@ -224,8 +223,7 @@ MAP_COMMON(const sigrok::ConfigKey *, std::set, jobject value = jenv->NewObject(HashSet, HashSet_init); for (auto &set_entry : map_entry.second) jenv->CallObjectMethod(value, HashSet_add, - jenv->CallStaticObjectMethod(Capability, - Capability_swigToEnum, set_entry)); + jenv->NewObject(Capability, Capability_init, set_entry)); jenv->CallObjectMethod($result, HashMap_put, jenv->NewObject(ConfigKey, ConfigKey_init, key, false), value); }