X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=bindings%2Fjava%2Forg%2Fsigrok%2Fcore%2Fclasses%2Fclasses.i;h=7a61bfd55d2610b7bfa5b0da333b7868fbfaaeaa;hb=ae2cdde4d20e600480ae2cb86b7488fa13400812;hp=daa66305a37e527d0eca6ee3051b6350d9e0ec58;hpb=f2831ab35b4988930535dfd135884873b1b5b00d;p=libsigrok.git diff --git a/bindings/java/org/sigrok/core/classes/classes.i b/bindings/java/org/sigrok/core/classes/classes.i index daa66305..7a61bfd5 100644 --- a/bindings/java/org/sigrok/core/classes/classes.i +++ b/bindings/java/org/sigrok/core/classes/classes.i @@ -75,7 +75,7 @@ namespace Glib { jlong value; for (auto entry : $1) { - *(CValue **) &value = new CValue(entry); + value = reinterpret_cast(new CValue(entry)); jenv->CallObjectMethod($result, Vector_add, jenv->NewObject(Value, Value_init, value, true)); } @@ -149,8 +149,7 @@ MAP_COMMON(std::string, std::shared_ptr, String, ClassName) jlong value; for (auto entry : $1) { - *(std::shared_ptr< sigrok::ClassName > **)&value = - new std::shared_ptr< sigrok::ClassName>(entry.second); + value = reinterpret_cast(new std::shared_ptr< sigrok::ClassName>(entry.second)); jenv->CallObjectMethod($result, HashMap_put, jenv->NewStringUTF(entry.first.c_str()), jenv->NewObject(Value, Value_init, value, true)); @@ -185,8 +184,8 @@ MAP_COMMON(const sigrok::ConfigKey *, Glib::VariantBase, ConfigKey, Variant) jlong value; for (auto entry : $1) { - *(const sigrok::ConfigKey **) &key = entry.first; - *(Glib::VariantBase **) &value = new Glib::VariantBase(entry.second); + key = reinterpret_cast(entry.first); + value = reinterpret_cast(new Glib::VariantBase(entry.second)); jenv->CallObjectMethod($result, HashMap_put, jenv->NewObject(ConfigKey, ConfigKey_init, key, false)); jenv->NewObject(Variant, Variant_init, value, true)); @@ -198,11 +197,11 @@ MAP_COMMON(const sigrok::ConfigKey *, Glib::VariantBase, ConfigKey, Variant) 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", @@ -220,7 +219,7 @@ MAP_COMMON(const sigrok::ConfigKey *, std::set, jlong key; for (auto map_entry : $1) { - *(const sigrok::ConfigKey **) &key = map_entry.first; + key = reinterpret_cast(map_entry.first); jobject value = jenv->NewObject(HashSet, HashSet_init); for (auto &set_entry : map_entry.second) jenv->CallObjectMethod(value, HashSet_add, @@ -268,7 +267,7 @@ typedef jobject jlogcallback; std::string message) { jlong loglevel_addr; - *(const sigrok::LogLevel **) &loglevel_addr = loglevel; + loglevel_addr = reinterpret_cast(loglevel); jobject loglevel_obj = env->NewObject( LogLevel, LogLevel_init, loglevel_addr, false); jobject message_obj = env->NewStringUTF(message.c_str()); @@ -314,10 +313,8 @@ typedef jobject jdatafeedcallback; { jlong device_addr; jlong packet_addr; - *(std::shared_ptr **) &device_addr = - new std::shared_ptr(device); - *(std::shared_ptr **) &packet_addr = - new std::shared_ptr(packet); + device_addr = reinterpret_cast(new std::shared_ptr(device)); + packet_addr = reinterpret_cast(new std::shared_ptr(packet)); jobject device_obj = env->NewObject( Device, Device_init, device_addr, true); jobject packet_obj = env->NewObject(