summaryrefslogtreecommitdiff
path: root/platform/android/src/android/database/sqlite/sqlite_database.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/android/database/sqlite/sqlite_database.cpp')
-rw-r--r--platform/android/src/android/database/sqlite/sqlite_database.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/platform/android/src/android/database/sqlite/sqlite_database.cpp b/platform/android/src/android/database/sqlite/sqlite_database.cpp
new file mode 100644
index 0000000000..51e686dce6
--- /dev/null
+++ b/platform/android/src/android/database/sqlite/sqlite_database.cpp
@@ -0,0 +1,38 @@
+#include "sqlite_database.hpp"
+
+namespace mbgl {
+namespace android {
+namespace android {
+namespace database {
+namespace sqlite {
+
+jni::Class<SQLiteDatabase> SQLiteDatabase::Class(jni::JNIEnv& env) {
+ static auto clazz = *jni::Class<SQLiteDatabase>::Find(env).NewGlobalRef(env).release();
+ return clazz;
+}
+
+jni::Object<SQLiteDatabase>
+SQLiteDatabase::OpenDatabase(jni::JNIEnv& env, jni::String path, jni::jint flags) {
+ using Signature =
+ jni::Object<SQLiteDatabase>(jni::String, jni::Object<CursorFactory>, jni::jint);
+ static auto method = Class(env).GetStaticMethod<Signature>(env, "openDatabase");
+ return Class(env).Call(env, method, path, jni::Object<CursorFactory>(nullptr), flags);
+}
+
+void SQLiteDatabase::ExecSQL(jni::JNIEnv& env, jni::Object<SQLiteDatabase> db, jni::String sql) {
+ using Signature = void(jni::String);
+ static auto method = Class(env).GetMethod<Signature>(env, "execSQL");
+ return db.Call(env, method, sql);
+}
+
+void SQLiteDatabase::Close(jni::JNIEnv& env, jni::Object<SQLiteDatabase> db) {
+ using Signature = void(void);
+ static auto method = Class(env).GetMethod<Signature>(env, "close");
+ return db.Call(env, method);
+}
+
+} // namespace sqlite
+} // namespace database
+} // namespace android
+} // namespace android
+} // namespace mbgl