Mercurial > hg > audiodb
annotate bindings/java/libAudioDB_JNI.c @ 698:10d3692e0b06
* Initial commit of Java bindings.
* Currently supports creation of db. More to come!
author | mas01mj |
---|---|
date | Mon, 26 Apr 2010 17:17:07 +0000 |
parents | |
children |
rev | line source |
---|---|
mas01mj@698 | 1 #include "AudioDB.h" |
mas01mj@698 | 2 |
mas01mj@698 | 3 #include <jni.h> |
mas01mj@698 | 4 #include "audioDB_API.h" |
mas01mj@698 | 5 |
mas01mj@698 | 6 |
mas01mj@698 | 7 JNIEXPORT jboolean JNICALL Java_AudioDB_audiodb_1create (JNIEnv *env, jobject obj, jstring path, jint datasize, jint ntracks, jint datadim) |
mas01mj@698 | 8 { |
mas01mj@698 | 9 char buf[256]; |
mas01mj@698 | 10 const char *str; |
mas01mj@698 | 11 str = (*env)->GetStringUTFChars(env, path, NULL); |
mas01mj@698 | 12 if (str == NULL) |
mas01mj@698 | 13 return; |
mas01mj@698 | 14 |
mas01mj@698 | 15 adb_t *handle; |
mas01mj@698 | 16 handle = audiodb_create(str, datasize, ntracks, datadim); |
mas01mj@698 | 17 if(!handle) |
mas01mj@698 | 18 return JNI_FALSE; |
mas01mj@698 | 19 |
mas01mj@698 | 20 (*env)->ReleaseStringUTFChars(env, path, str); |
mas01mj@698 | 21 return JNI_TRUE; |
mas01mj@698 | 22 } |
mas01mj@698 | 23 |
mas01mj@698 | 24 JNIEXPORT jboolean JNICALL Java_AudioDB_audiodb_1open (JNIEnv *env, jobject obj, jstring path, jobject mode) |
mas01mj@698 | 25 { |
mas01mj@698 | 26 jclass modeClass = (*env)->FindClass(env, "AudioDB$Mode"); |
mas01mj@698 | 27 jmethodID getNameMethod = (*env)->GetMethodID(env, modeClass, "name", "()Ljava/lang/String;"); |
mas01mj@698 | 28 jstring value = (jstring)(*env)->CallObjectMethod(env, mode, getNameMethod); |
mas01mj@698 | 29 const char* openMode = (*env)->GetStringUTFChars(env, value, 0); |
mas01mj@698 | 30 |
mas01mj@698 | 31 return JNI_TRUE; |
mas01mj@698 | 32 } |
mas01mj@698 | 33 |
mas01mj@698 | 34 JNIEXPORT void JNICALL Java_AudioDB_insert(JNIEnv *env, jobject obj) |
mas01mj@698 | 35 { |
mas01mj@698 | 36 } |
mas01mj@698 | 37 |
mas01mj@698 | 38 JNIEXPORT void JNICALL Java_AudioDB_query(JNIEnv *env, jobject obj) |
mas01mj@698 | 39 { |
mas01mj@698 | 40 } |
mas01mj@698 | 41 |
mas01mj@698 | 42 JNIEXPORT void JNICALL Java_AudioDB_status(JNIEnv *env, jobject obj) |
mas01mj@698 | 43 { |
mas01mj@698 | 44 } |
mas01mj@698 | 45 |