diff options
Diffstat (limited to 'platform/android/src/jni/local_object.hpp')
-rw-r--r-- | platform/android/src/jni/local_object.hpp | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/platform/android/src/jni/local_object.hpp b/platform/android/src/jni/local_object.hpp deleted file mode 100644 index 00fc4a1933..0000000000 --- a/platform/android/src/jni/local_object.hpp +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include <jni/jni.hpp> - -namespace jni { - - class LocalRefDeleter { - private: - JNIEnv* env = nullptr; - - public: - LocalRefDeleter() = default; - LocalRefDeleter(JNIEnv& e) : env(&e) {} - - void operator()(jobject* object) const { - if (object) { - assert(env); - DeleteLocalRef(*env, object); - } - } - }; - - template < class T > - using LocalObject = std::unique_ptr< T, LocalRefDeleter >; - - /** - * Use a LocalObject to discard of local references as soon as possible - */ - template < class T > - LocalObject<T> NewLocalObject(JNIEnv& env, T* t) { - return LocalObject<T>(t, LocalRefDeleter(env)); - } -} |