CJNIEXPORT jobject JNICALL Java_com_nextuc_IGroupTableDataSource_00024CppProxy_native_1objectAt(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jint j_section, jint j_row) { try { DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef); const auto& ref = ::djinni::objectFromHandleAddress<::core_gen::IGroupTableDataSource>(nativeRef); auto r = ref->objectAt(::djinni::I32::toCpp(jniEnv, j_section), ::djinni::I32::toCpp(jniEnv, j_row)); return ::djinni::release(::djinni_generated::NativeRGroup::fromCpp(jniEnv, r)); } JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, 0 /* value doesn't matter */) }
CJNIEXPORT void JNICALL Java_com_demicapps_AnalyticsListener_00024CppProxy_native_1trackEvent(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jstring j_eventCategory, jstring j_eventAction, jstring j_eventLabel, jint j_eventValue) { try { DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef); const auto& ref = ::djinni::objectFromHandleAddress<::demicapps::AnalyticsListener>(nativeRef); ref->TrackEvent(::djinni::String::toCpp(jniEnv, j_eventCategory), ::djinni::String::toCpp(jniEnv, j_eventAction), ::djinni::String::toCpp(jniEnv, j_eventLabel), ::djinni::I32::toCpp(jniEnv, j_eventValue)); } JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, ) }
CJNIEXPORT jboolean JNICALL Java_dyno_fun_lapse_LapseSettingDlgGen_00024CppProxy_native_1onSave(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jint j_fps, jfloat j_lapse, jobject j_mode) { try { DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef); const auto& ref = ::djinni::objectFromHandleAddress<::lpase::LapseSettingDlgGen>(nativeRef); auto r = ref->onSave(::djinni::I32::toCpp(jniEnv, j_fps), ::djinni::F32::toCpp(jniEnv, j_lapse), ::djinni_generated::NativeIntervalMode::toCpp(jniEnv, j_mode)); return ::djinni::release(::djinni::Bool::fromCpp(jniEnv, r)); } JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, 0 /* value doesn't matter */) }
CJNIEXPORT void JNICALL Java_de_knejp_schedulerstest_MainActivity_executeOnMainLooperScheduler(JNIEnv *jniEnv, jobject /*this*/, jobject j_r) { struct java_lang_Runnable { const djinni::GlobalRef<jclass> clazz{djinni::jniFindClass("java/lang/Runnable")}; const jmethodID method_run{djinni::jniGetMethodID(clazz.get(), "run", "()V")}; }; try { DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef); // Don't bother the proxy cache for runnables as every task needs its own std::function anyway class F { public: F(JNIEnv* jniEnv, jobject runnable) : _runnable(jniEnv->NewGlobalRef(runnable)) { } F(const F& other) { auto jniEnv = djinni::jniGetThreadEnv(); _runnable = other._runnable ? jniEnv->NewGlobalRef(other._runnable) : nullptr; } F(F&& other) noexcept { _runnable = other._runnable; other._runnable = nullptr; } ~F() { if(_runnable) { djinni::jniGetThreadEnv()->DeleteGlobalRef(_runnable); } } void operator()() const { assert(_runnable && "lost runnable reference"); auto& data = djinni::JniClass<java_lang_Runnable>::get(); auto* env = djinni::jniGetThreadEnv(); env->CallVoidMethod(_runnable, data.method_run); djinni::jniExceptionCheck(env); } private: // Can't use djinni::GlobalRef<jobject> because std::function requires CopyConstructible jobject _runnable; }; (*theLooper)(F{jniEnv, j_r}); } JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, ) }
CJNIEXPORT jlong JNICALL Java_org_rocketspeed_ClientImpl_00024CppProxy_native_1resubscribe(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jobject j_params, jobject j_deliverCb, jobject j_subscribeCb) { try { DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef); const auto& ref = ::djinni::CppProxyHandle<::rocketspeed::djinni::ClientImpl>::get(nativeRef); auto r = ref->Resubscribe(::djinni_generated::NativeSubscriptionParameters::toCpp(jniEnv, j_params), ::djinni_generated::NativeMessageReceivedCallback::toCpp(jniEnv, j_deliverCb), ::djinni_generated::NativeSubscribeCallback::toCpp(jniEnv, j_subscribeCb)); return ::djinni::I64::fromCpp(jniEnv, r); } JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, 0 /* value doesn't matter */) }
CJNIEXPORT jlong JNICALL Java_org_rocketspeed_ClientImpl_00024CppProxy_native_1subscribe(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jint j_tenantId, jstring j_namespaceId, jstring j_topicName, jlong j_startSeqno, jobject j_deliverCb, jobject j_subscribeCb) { try { DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef); const auto& ref = ::djinni::CppProxyHandle<::rocketspeed::djinni::ClientImpl>::get(nativeRef); auto r = ref->Subscribe(::djinni::I32::toCpp(jniEnv, j_tenantId), ::djinni::String::toCpp(jniEnv, j_namespaceId), ::djinni::String::toCpp(jniEnv, j_topicName), ::djinni::I64::toCpp(jniEnv, j_startSeqno), ::djinni_generated::NativeMessageReceivedCallback::toCpp(jniEnv, j_deliverCb), ::djinni_generated::NativeSubscribeCallback::toCpp(jniEnv, j_subscribeCb)); return ::djinni::I64::fromCpp(jniEnv, r); } JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, 0 /* value doesn't matter */) }
CJNIEXPORT jobject JNICALL Java_org_rocketspeed_ClientImpl_00024CppProxy_native_1publish(JNIEnv* jniEnv, jobject /*this*/, jlong nativeRef, jint j_tenantId, jstring j_namespaceId, jstring j_topicName, jbyteArray j_data, jobject j_publishCb, jobject j_messageId) { try { DJINNI_FUNCTION_PROLOGUE1(jniEnv, nativeRef); const auto& ref = ::djinni::CppProxyHandle<::rocketspeed::djinni::ClientImpl>::get(nativeRef); auto r = ref->Publish(::djinni::I32::toCpp(jniEnv, j_tenantId), ::djinni::String::toCpp(jniEnv, j_namespaceId), ::djinni::String::toCpp(jniEnv, j_topicName), ::djinni::Binary::toCpp(jniEnv, j_data), ::djinni_generated::NativePublishCallback::toCpp(jniEnv, j_publishCb), ::djinni_generated::NativeMsgId::toCpp(jniEnv, j_messageId)); return ::djinni_generated::NativeMsgId::fromCpp(jniEnv, r).release(); } JNI_TRANSLATE_EXCEPTIONS_RETURN(jniEnv, 0 /* value doesn't matter */) }