From 4d240254932a8bae64299d14cbe1f057c3c500a9 Mon Sep 17 00:00:00 2001 From: Borislav Stanimirov Date: Wed, 25 Sep 2024 07:52:10 +0300 Subject: [PATCH] Add wrapper of AttachCurrentThreadAsDaemon --- include/jni/functions.hpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/include/jni/functions.hpp b/include/jni/functions.hpp index b559d20..b217e52 100644 --- a/include/jni/functions.hpp +++ b/include/jni/functions.hpp @@ -655,6 +655,13 @@ namespace jni return UniqueEnv(result, JNIEnvDeleter(vm)); } + inline UniqueEnv AttachCurrentThreadAsDaemon(JavaVM& vm) + { + JNIEnv* result; + CheckErrorCode(vm.AttachCurrentThreadAsDaemon(JNIEnvCast()(&result, &JavaVM::AttachCurrentThreadAsDaemon), nullptr)); + return UniqueEnv(result, JNIEnvDeleter(vm)); + } + inline void DetachCurrentThread(JavaVM& vm, UniqueEnv&& env) { env.release(); @@ -672,12 +679,12 @@ namespace jni { JNIEnv* env = nullptr; auto code = vm.GetEnv(reinterpret_cast(&env), Unwrap(version)); - switch (code) + switch (code) { case JNI_OK: return UniqueEnv(env,JNIEnvDeleter(vm, false)); case JNI_EDETACHED: return AttachCurrentThread(vm); - default: - CheckErrorCode(code); + default: + CheckErrorCode(code); return nullptr; } }