diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2017-02-14 14:50:11 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2017-02-14 14:50:11 +0100 |
commit | 685052a32054f5e822106f056c21bf3823ad0d3f (patch) | |
tree | 811dad50985663aafc9da6c4551cf03f71516879 /platform/android/src/java | |
parent | b9be66f287ade7275ecc18f21a456998e4163318 (diff) | |
download | qtlocation-mapboxgl-upstream/8048-android-sqlite.tar.gz |
WIP: Android SQLite bindingsupstream/8048-android-sqlite
Diffstat (limited to 'platform/android/src/java')
-rw-r--r-- | platform/android/src/java/lang/throwable.cpp | 23 | ||||
-rw-r--r-- | platform/android/src/java/lang/throwable.hpp | 25 |
2 files changed, 48 insertions, 0 deletions
diff --git a/platform/android/src/java/lang/throwable.cpp b/platform/android/src/java/lang/throwable.cpp new file mode 100644 index 0000000000..12df5da27e --- /dev/null +++ b/platform/android/src/java/lang/throwable.cpp @@ -0,0 +1,23 @@ +#include "throwable.hpp" + +namespace mbgl { +namespace android { +namespace java { +namespace lang { + +jni::Class<Throwable> Throwable::Class(jni::JNIEnv& env) { + static auto clazz = *jni::Class<Throwable>::Find(env).NewGlobalRef(env).release(); + return clazz; +} + +jni::String +Throwable::GetMessage(jni::JNIEnv& env, jni::Object<Throwable> throwable) { + using Signature = jni::String(void); + static auto method = Class(env).GetMethod<Signature>(env, "getMessage"); + return throwable.Call(env, method); +} + +} // namespace lang +} // namespace java +} // namespace android +} // namespace mbgl diff --git a/platform/android/src/java/lang/throwable.hpp b/platform/android/src/java/lang/throwable.hpp new file mode 100644 index 0000000000..e27c841bae --- /dev/null +++ b/platform/android/src/java/lang/throwable.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include <jni/jni.hpp> + +namespace mbgl { +namespace android { +namespace java { +namespace lang { + +class Throwable { +public: + static constexpr auto Name() { + return "java/lang/Throwable"; + } + + static jni::String GetMessage(jni::JNIEnv&, jni::Object<Throwable>); + +private: + static jni::Class<Throwable> Class(jni::JNIEnv&); +}; + +} // namespace lang +} // namespace java +} // namespace android +} // namespace mbgl |