25#include "org_cipherpack_CPNativeDownlink.h"
27#include <jau/debug.hpp>
36 jau::jni::shared_ptr_ref<jau::jni::JavaUplink> javaUplink(nativeInstance);
37 javaUplink.null_check2();
38 jau::jni::JNIGlobalRef global_obj(obj);
39 jclass javaClazz = jau::jni::search_class(env, global_obj.getObject());
40 jau::jni::java_exception_check_and_throw(env, E_FILE_LINE);
41 if(
nullptr == javaClazz ) {
42 throw jau::InternalError(
"CPNativeDownlink class not found", E_FILE_LINE);
44 jmethodID mNotifyDeleted = jau::jni::search_method(env, javaClazz,
"notifyDeleted",
"()V",
false);
45 jau::jni::java_exception_check_and_throw(env, E_FILE_LINE);
46 if(
nullptr == mNotifyDeleted ) {
47 throw jau::InternalError(
"CPNativeDownlink class has no notifyDeleted() method, for "+javaUplink->toString(), E_FILE_LINE);
49 javaUplink->setJavaObject( std::make_shared<jau::jni::JavaGlobalObj>( std::move(global_obj), mNotifyDeleted ) );
50 jau::jni::JavaGlobalObj::check(javaUplink->getJavaObject(), E_FILE_LINE);
51 DBG_JNI_PRINT(
"Java_org_cipherpack_CPNativeDownlink_initNativeJavaObject %p -> %s", javaUplink.shared_ptr().get(), javaUplink->toString().c_str());
61 jau::jni::shared_ptr_ref<jau::jni::JavaUplink> javaUplink(nativeInstance);
62 javaUplink.null_check2();
63 DBG_JNI_PRINT(
"Java_org_cipherpack_CPNativeDownlink_deleteNativeJavaObject %p -> %s", javaUplink.shared_ptr().get(), javaUplink->toString().c_str());
64 javaUplink->setJavaObject();
void Java_org_cipherpack_CPNativeDownlink_initNativeJavaObject(JNIEnv *env, jobject obj, jlong nativeInstance)
void Java_org_cipherpack_CPNativeDownlink_deleteNativeJavaObject(JNIEnv *env, jobject obj, jlong nativeInstance)
#define rethrow_and_raise_java_exception(E)
Re-throw current exception and raise respective java exception using any matching function above.