Mercurial > hg > audiodb
comparison 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 |
comparison
equal
deleted
inserted
replaced
697:2741bbda39d7 | 698:10d3692e0b06 |
---|---|
1 #include "AudioDB.h" | |
2 | |
3 #include <jni.h> | |
4 #include "audioDB_API.h" | |
5 | |
6 | |
7 JNIEXPORT jboolean JNICALL Java_AudioDB_audiodb_1create (JNIEnv *env, jobject obj, jstring path, jint datasize, jint ntracks, jint datadim) | |
8 { | |
9 char buf[256]; | |
10 const char *str; | |
11 str = (*env)->GetStringUTFChars(env, path, NULL); | |
12 if (str == NULL) | |
13 return; | |
14 | |
15 adb_t *handle; | |
16 handle = audiodb_create(str, datasize, ntracks, datadim); | |
17 if(!handle) | |
18 return JNI_FALSE; | |
19 | |
20 (*env)->ReleaseStringUTFChars(env, path, str); | |
21 return JNI_TRUE; | |
22 } | |
23 | |
24 JNIEXPORT jboolean JNICALL Java_AudioDB_audiodb_1open (JNIEnv *env, jobject obj, jstring path, jobject mode) | |
25 { | |
26 jclass modeClass = (*env)->FindClass(env, "AudioDB$Mode"); | |
27 jmethodID getNameMethod = (*env)->GetMethodID(env, modeClass, "name", "()Ljava/lang/String;"); | |
28 jstring value = (jstring)(*env)->CallObjectMethod(env, mode, getNameMethod); | |
29 const char* openMode = (*env)->GetStringUTFChars(env, value, 0); | |
30 | |
31 return JNI_TRUE; | |
32 } | |
33 | |
34 JNIEXPORT void JNICALL Java_AudioDB_insert(JNIEnv *env, jobject obj) | |
35 { | |
36 } | |
37 | |
38 JNIEXPORT void JNICALL Java_AudioDB_query(JNIEnv *env, jobject obj) | |
39 { | |
40 } | |
41 | |
42 JNIEXPORT void JNICALL Java_AudioDB_status(JNIEnv *env, jobject obj) | |
43 { | |
44 } | |
45 |