summaryrefslogtreecommitdiff
path: root/platform/android/src/jni/generic_global_ref_deleter.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/jni/generic_global_ref_deleter.hpp')
-rw-r--r--platform/android/src/jni/generic_global_ref_deleter.hpp45
1 files changed, 0 insertions, 45 deletions
diff --git a/platform/android/src/jni/generic_global_ref_deleter.hpp b/platform/android/src/jni/generic_global_ref_deleter.hpp
deleted file mode 100644
index b865ee9f8b..0000000000
--- a/platform/android/src/jni/generic_global_ref_deleter.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#pragma once
-
-#include <jni/jni.hpp>
-
-#include "../attach_env.hpp"
-
-namespace mbgl {
-namespace android {
-
-// A deleter that doesn't retain an JNIEnv handle but instead tries to attach the JVM. This means
-// it can be used on any thread to delete a global ref.
-struct GenericGlobalRefDeleter {
- void operator()(jni::jobject* p) const {
- if (p) {
- AttachEnv()->DeleteGlobalRef(jni::Unwrap(p));
- }
- }
-};
-
-struct GenericWeakGlobalRefDeleter {
- void operator()(jni::jobject* p) const {
- if (p) {
- AttachEnv()->DeleteWeakGlobalRef(jni::Unwrap(p));
- }
- }
-};
-
-template < class T >
-using GenericGlobal = jni::UniquePointerlike< T, GenericGlobalRefDeleter >;
-
-template < class T >
-using GenericWeak = jni::UniquePointerlike< T, GenericWeakGlobalRefDeleter >;
-
-template < class T >
-GenericGlobal<T> SeizeGenericGlobal(T&& t) {
- return GenericGlobal<T>(std::move(t), GenericGlobalRefDeleter());
-};
-
-template < class T >
-GenericWeak<T> SeizeGenericWeak(T&& t) {
- return GenericWeak<T>(std::move(t), GenericWeakGlobalRefDeleter());
-};
-
-} // namespace android
-} // namespace mbgl