summaryrefslogtreecommitdiff
path: root/platform/android/src/java
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2017-02-14 14:50:11 +0100
committerKonstantin Käfer <mail@kkaefer.com>2017-02-14 14:50:11 +0100
commit685052a32054f5e822106f056c21bf3823ad0d3f (patch)
tree811dad50985663aafc9da6c4551cf03f71516879 /platform/android/src/java
parentb9be66f287ade7275ecc18f21a456998e4163318 (diff)
downloadqtlocation-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.cpp23
-rw-r--r--platform/android/src/java/lang/throwable.hpp25
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