diff options
Diffstat (limited to 'sql/src/main/native/sqlite_jni_registration.c')
-rw-r--r-- | sql/src/main/native/sqlite_jni_registration.c | 308 |
1 files changed, 308 insertions, 0 deletions
diff --git a/sql/src/main/native/sqlite_jni_registration.c b/sql/src/main/native/sqlite_jni_registration.c new file mode 100644 index 0000000..1ef5192 --- /dev/null +++ b/sql/src/main/native/sqlite_jni_registration.c @@ -0,0 +1,308 @@ +/* + * Copyright 2007, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "JNIHelp.h" +#include "sqlite_jni.h" + +/* Methods for class SQLite_Database */ +extern JNIEXPORT void JNICALL Java_SQLite_Database__1open + (JNIEnv *, jobject, jstring, jint); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1open_1aux_1file + (JNIEnv *, jobject, jstring); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1finalize + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1close + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1exec__Ljava_lang_String_2LSQLite_Callback_2 + (JNIEnv *, jobject, jstring, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1exec__Ljava_lang_String_2LSQLite_Callback_2_3Ljava_lang_String_2 + (JNIEnv *, jobject, jstring, jobject, jobjectArray); +extern JNIEXPORT jlong JNICALL Java_SQLite_Database__1last_1insert_1rowid + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1interrupt + (JNIEnv *, jobject); +extern JNIEXPORT jlong JNICALL Java_SQLite_Database__1changes + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1busy_1handler + (JNIEnv *, jobject, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1busy_1timeout + (JNIEnv *, jobject, jint); +extern JNIEXPORT jboolean JNICALL Java_SQLite_Database__1complete + (JNIEnv *, jclass, jstring); +extern JNIEXPORT jstring JNICALL Java_SQLite_Database_version + (JNIEnv *, jclass); +extern JNIEXPORT jstring JNICALL Java_SQLite_Database_dbversion + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1create_1function + (JNIEnv *, jobject, jstring, jint, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1create_1aggregate + (JNIEnv *, jobject, jstring, jint, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1function_1type + (JNIEnv *, jobject, jstring, jint); +extern JNIEXPORT jstring JNICALL Java_SQLite_Database__1errmsg + (JNIEnv *, jobject); +extern JNIEXPORT jstring JNICALL Java_SQLite_Database_error_1string + (JNIEnv *, jclass, jint); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1set_1encoding + (JNIEnv *, jobject, jstring); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1set_1authorizer + (JNIEnv *, jobject, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1trace + (JNIEnv *, jobject, jobject); +extern JNIEXPORT jboolean JNICALL Java_SQLite_Database_is3 + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database_vm_1compile + (JNIEnv *, jobject, jstring, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database_vm_1compile_1args + (JNIEnv *, jobject, jstring, jobject, jobjectArray); +extern JNIEXPORT void JNICALL Java_SQLite_Database_stmt_1prepare + (JNIEnv *, jobject, jstring, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1open_1blob + (JNIEnv *, jobject, jstring, jstring, jstring, jlong, jboolean, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database__1progress_1handler + (JNIEnv *, jobject, jint, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Database_internal_1init + (JNIEnv *, jclass); + + +/* Methods for class SQLite_Vm */ + +extern JNIEXPORT jboolean JNICALL Java_SQLite_Vm_step + (JNIEnv *, jobject, jobject); +extern JNIEXPORT jboolean JNICALL Java_SQLite_Vm_compile + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Vm_stop + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Vm_finalize + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Vm_internal_1init + (JNIEnv *, jclass); + +/* Methods for class SQLite_FunctionContext */ + +extern JNIEXPORT void JNICALL Java_SQLite_FunctionContext_set_1result__Ljava_lang_String_2 + (JNIEnv *, jobject, jstring); +extern JNIEXPORT void JNICALL Java_SQLite_FunctionContext_set_1result__I + (JNIEnv *, jobject, jint); +extern JNIEXPORT void JNICALL Java_SQLite_FunctionContext_set_1result__D + (JNIEnv *, jobject, jdouble); +extern JNIEXPORT void JNICALL Java_SQLite_FunctionContext_set_1error + (JNIEnv *, jobject, jstring); +extern JNIEXPORT void JNICALL Java_SQLite_FunctionContext_set_1result___3B + (JNIEnv *, jobject, jbyteArray); +extern JNIEXPORT void JNICALL Java_SQLite_FunctionContext_set_1result_1zeroblob + (JNIEnv *, jobject, jint); +extern JNIEXPORT jint JNICALL Java_SQLite_FunctionContext_count + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_FunctionContext_internal_1init + (JNIEnv *, jclass); + +/* Methods for class SQLite_Stmt */ + +extern JNIEXPORT jboolean JNICALL Java_SQLite_Stmt_prepare + (JNIEnv *, jobject); +extern JNIEXPORT jboolean JNICALL Java_SQLite_Stmt_step + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_close + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_reset + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_clear_1bindings + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_bind__II + (JNIEnv *, jobject, jint, jint); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_bind__IJ + (JNIEnv *, jobject, jint, jlong); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_bind__ID + (JNIEnv *, jobject, jint, jdouble); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_bind__I_3B + (JNIEnv *, jobject, jint, jbyteArray); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_bind__ILjava_lang_String_2 + (JNIEnv *, jobject, jint, jstring); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_bind__I + (JNIEnv *, jobject, jint); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_bind_1zeroblob + (JNIEnv *, jobject, jint, jint); +extern JNIEXPORT jint JNICALL Java_SQLite_Stmt_bind_1parameter_1count + (JNIEnv *, jobject); +extern JNIEXPORT jstring JNICALL Java_SQLite_Stmt_bind_1parameter_1name + (JNIEnv *, jobject, jint); +extern JNIEXPORT jint JNICALL Java_SQLite_Stmt_bind_1parameter_1index + (JNIEnv *, jobject, jstring); +extern JNIEXPORT jint JNICALL Java_SQLite_Stmt_column_1int + (JNIEnv *, jobject, jint); +extern JNIEXPORT jlong JNICALL Java_SQLite_Stmt_column_1long + (JNIEnv *, jobject, jint); +extern JNIEXPORT jdouble JNICALL Java_SQLite_Stmt_column_1double + (JNIEnv *, jobject, jint); +extern JNIEXPORT jbyteArray JNICALL Java_SQLite_Stmt_column_1bytes + (JNIEnv *, jobject, jint); +extern JNIEXPORT jstring JNICALL Java_SQLite_Stmt_column_1string + (JNIEnv *, jobject, jint); +extern JNIEXPORT jint JNICALL Java_SQLite_Stmt_column_1type + (JNIEnv *, jobject, jint); +extern JNIEXPORT jint JNICALL Java_SQLite_Stmt_column_1count + (JNIEnv *, jobject); +extern JNIEXPORT jstring JNICALL Java_SQLite_Stmt_column_1table_1name + (JNIEnv *, jobject, jint); +extern JNIEXPORT jstring JNICALL Java_SQLite_Stmt_column_1database_1name + (JNIEnv *, jobject, jint); +extern JNIEXPORT jstring JNICALL Java_SQLite_Stmt_column_1decltype + (JNIEnv *, jobject, jint); +extern JNIEXPORT jstring JNICALL Java_SQLite_Stmt_column_1origin_1name + (JNIEnv *, jobject, jint); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_finalize + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Stmt_internal_1init + (JNIEnv *, jclass); + +/* Methods for class SQLite_Blob */ + +extern JNIEXPORT void JNICALL Java_SQLite_Blob_close + (JNIEnv *, jobject); +extern JNIEXPORT jint JNICALL Java_SQLite_Blob_write + (JNIEnv *, jobject, jbyteArray, jint, jint, jint); +extern JNIEXPORT jint JNICALL Java_SQLite_Blob_read + (JNIEnv *, jobject, jbyteArray, jint, jint, jint); +extern JNIEXPORT void JNICALL Java_SQLite_Blob_finalize + (JNIEnv *, jobject); +extern JNIEXPORT void JNICALL Java_SQLite_Blob_internal_1init + (JNIEnv *, jclass); + +/* + * JNI registration + */ +static JNINativeMethod sqliteDatabaseMethods[] = { + /* name, signature, funcPtr */ +/* Header for class SQLite_Database */ +{ "_open", "(Ljava/lang/String;I)V", Java_SQLite_Database__1open}, +{ "_open_aux_file", "(Ljava/lang/String;)V", Java_SQLite_Database__1open_1aux_1file}, +{ "_finalize", "()V", Java_SQLite_Database__1finalize}, +{ "_close", "()V", Java_SQLite_Database__1close}, +{ "_exec", "(Ljava/lang/String;LSQLite/Callback;)V", Java_SQLite_Database__1exec__Ljava_lang_String_2LSQLite_Callback_2}, +{ "_exec", "(Ljava/lang/String;LSQLite/Callback;[Ljava/lang/String;)V", Java_SQLite_Database__1exec__Ljava_lang_String_2LSQLite_Callback_2_3Ljava_lang_String_2}, +{ "_last_insert_rowid", "()J", Java_SQLite_Database__1last_1insert_1rowid}, +{ "_interrupt", "()V", Java_SQLite_Database__1interrupt}, +{ "_changes", "()J", Java_SQLite_Database__1changes}, +{ "_busy_handler", "(LSQLite/BusyHandler;)V", Java_SQLite_Database__1busy_1handler}, +{ "_busy_timeout", "(I)V", Java_SQLite_Database__1busy_1timeout}, +{ "_complete", "(Ljava/lang/String;)Z", Java_SQLite_Database__1complete}, +{ "version", "()Ljava/lang/String;", Java_SQLite_Database_version}, +{ "dbversion", "()Ljava/lang/String;", Java_SQLite_Database_dbversion}, +{ "_create_function", "(Ljava/lang/String;ILSQLite/Function;)V", Java_SQLite_Database__1create_1function}, +{ "_create_aggregate", "(Ljava/lang/String;ILSQLite/Function;)V", Java_SQLite_Database__1create_1aggregate}, +{ "_function_type", "(Ljava/lang/String;I)V", Java_SQLite_Database__1function_1type}, +{ "_errmsg", "()Ljava/lang/String;", Java_SQLite_Database__1errmsg}, +{ "error_string", "(I)Ljava/lang/String;", Java_SQLite_Database_error_1string}, +{ "_set_encoding", "(Ljava/lang/String;)V", Java_SQLite_Database__1set_1encoding}, +{ "_set_authorizer", "(LSQLite/Authorizer;)V", Java_SQLite_Database__1set_1authorizer}, +{ "_trace", "(LSQLite/Trace;)V", Java_SQLite_Database__1trace}, +{ "is3", "()Z", Java_SQLite_Database_is3}, +{ "vm_compile", "(Ljava/lang/String;LSQLite/Vm;)V", Java_SQLite_Database_vm_1compile}, +{ "vm_compile_args", "(Ljava/lang/String;LSQLite/Vm;[Ljava/lang/String;)V", Java_SQLite_Database_vm_1compile_1args}, +{ "stmt_prepare", "(Ljava/lang/String;LSQLite/Stmt;)V", Java_SQLite_Database_stmt_1prepare}, +{ "_open_blob", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JZLSQLite/Blob;)V", Java_SQLite_Database__1open_1blob}, +{ "_progress_handler", "(ILSQLite/ProgressHandler;)V", Java_SQLite_Database__1progress_1handler}, +{ "internal_init", "()V", Java_SQLite_Database_internal_1init} +}; + +static JNINativeMethod sqliteVmMethods[] = { +/* Header for class SQLite_Vm */ +{ "step", "(LSQLite/Callback;)Z", Java_SQLite_Vm_step}, +{ "compile", "()Z", Java_SQLite_Vm_compile}, +{ "stop", "()V", Java_SQLite_Vm_stop}, +{ "finalize", "()V", Java_SQLite_Vm_finalize}, +{ "internal_init", "()V", Java_SQLite_Vm_internal_1init} +}; + +static JNINativeMethod sqliteFunctionContextMethods[] = { +/* Header for class SQLite_FunctionContext */ +{ "set_result", "(Ljava/lang/String;)V", Java_SQLite_FunctionContext_set_1result__Ljava_lang_String_2}, +{ "set_result", "(I)V", Java_SQLite_FunctionContext_set_1result__I}, +{ "set_result", "(D)V", Java_SQLite_FunctionContext_set_1result__D}, +{ "set_error", "(Ljava/lang/String;)V", Java_SQLite_FunctionContext_set_1error}, +{ "set_result", "([B)V", Java_SQLite_FunctionContext_set_1result___3B}, +{ "set_result_zeroblob", "(I)V", Java_SQLite_FunctionContext_set_1result_1zeroblob}, +{ "count", "()I", Java_SQLite_FunctionContext_count}, +{ "internal_init", "()V", Java_SQLite_FunctionContext_internal_1init} +}; + +static JNINativeMethod sqliteStmtMethods[] = { +/* Header for class SQLite_Stmt */ +{ "prepare", "()Z", Java_SQLite_Stmt_prepare}, +{ "step", "()Z", JNICALL Java_SQLite_Stmt_step}, +{ "close", "()V", Java_SQLite_Stmt_close}, +{ "reset", "()V", Java_SQLite_Stmt_reset}, +{ "clear_bindings", "()V", Java_SQLite_Stmt_clear_1bindings}, +{ "bind", "(II)V", Java_SQLite_Stmt_bind__II}, +{ "bind", "(IJ)V", Java_SQLite_Stmt_bind__IJ}, +{ "bind", "(ID)V", Java_SQLite_Stmt_bind__ID}, +{ "bind", "(I[B)V", Java_SQLite_Stmt_bind__I_3B}, +{ "bind", "(ILjava/lang/String;)V", Java_SQLite_Stmt_bind__ILjava_lang_String_2}, +{ "bind", "(I)V", Java_SQLite_Stmt_bind__I}, +{ "bind_zeroblob", "(II)V", Java_SQLite_Stmt_bind_1zeroblob}, +{ "bind_parameter_count", "()I", Java_SQLite_Stmt_bind_1parameter_1count}, +{ "bind_parameter_name", "(I)Ljava/lang/String;", Java_SQLite_Stmt_bind_1parameter_1name}, +{ "bind_parameter_index", "(Ljava/lang/String;)I", Java_SQLite_Stmt_bind_1parameter_1index}, +{ "column_int", "(I)I", Java_SQLite_Stmt_column_1int}, +{ "column_long", "(I)J", Java_SQLite_Stmt_column_1long}, +{ "column_double", "(I)D", Java_SQLite_Stmt_column_1double}, +{ "column_bytes", "(I)[B", Java_SQLite_Stmt_column_1bytes}, +{ "column_string", "(I)Ljava/lang/String;", Java_SQLite_Stmt_column_1string}, +{ "column_type", "(I)I", Java_SQLite_Stmt_column_1type}, +{ "column_count", "()I", Java_SQLite_Stmt_column_1count}, +{ "column_table_name", "(I)Ljava/lang/String;", Java_SQLite_Stmt_column_1table_1name}, +{ "column_database_name", "(I)Ljava/lang/String;", Java_SQLite_Stmt_column_1database_1name}, +{ "column_decltype", "(I)Ljava/lang/String;", Java_SQLite_Stmt_column_1decltype}, +{ "column_origin_name", "(I)Ljava/lang/String;", Java_SQLite_Stmt_column_1origin_1name}, +{ "finalize", "()V", Java_SQLite_Stmt_finalize}, +{ "internal_init", "()V", Java_SQLite_Stmt_internal_1init} +}; + +static JNINativeMethod sqliteBlobMethods[] = { +/* Header for class SQLite_Blob */ + +{ "close", "()V", Java_SQLite_Blob_close}, +{ "write", "([BIII)I", Java_SQLite_Blob_write}, +{ "read", "([BIII)I", Java_SQLite_Blob_read}, +{ "finalize", "()V", Java_SQLite_Blob_finalize}, +{ "internal_init", "()V", Java_SQLite_Blob_internal_1init} +}; + +int register_SQLite_Database(JNIEnv* env) { + return jniRegisterNativeMethods(env, "SQLite/Database", + sqliteDatabaseMethods, NELEM(sqliteDatabaseMethods)); +} + +int register_SQLite_Vm(JNIEnv* env) { + return jniRegisterNativeMethods(env, "SQLite/Vm", + sqliteVmMethods, NELEM(sqliteVmMethods)); +} + +int register_SQLite_FunctionContext(JNIEnv* env) { + return jniRegisterNativeMethods(env, "SQLite/FunctionContext", + sqliteFunctionContextMethods, NELEM(sqliteFunctionContextMethods)); +} + +int register_SQLite_Stmt(JNIEnv* env) { + return jniRegisterNativeMethods(env, "SQLite/Stmt", + sqliteStmtMethods, NELEM(sqliteStmtMethods)); +} + +int register_SQLite_Blob(JNIEnv* env) { + return jniRegisterNativeMethods(env, "SQLite/Blob", + sqliteBlobMethods, NELEM(sqliteBlobMethods)); +} |