view bindings/java/libAudioDB_JNI.c @ 719:e3f1cf653c30

wooo! direct insert works! at least for the rather limited cases I've tests. Bad news is that I seem to have found a rather nasty bug in the query code I wrote back in september. (segfaults around line 471 if the query returns no results...)
author map01bf
date Fri, 25 Jun 2010 09:08:56 +0000
parents 10d3692e0b06
children
line wrap: on
line source
#include "AudioDB.h"

#include <jni.h>
#include "audioDB_API.h"


JNIEXPORT jboolean JNICALL Java_AudioDB_audiodb_1create (JNIEnv *env, jobject obj, jstring path, jint datasize, jint ntracks, jint datadim)
{
	char buf[256];
	const char *str;
	str = (*env)->GetStringUTFChars(env, path, NULL);
	if (str == NULL)
		return;

	adb_t *handle;
	handle = audiodb_create(str, datasize, ntracks, datadim);
	if(!handle)
		return JNI_FALSE;

	(*env)->ReleaseStringUTFChars(env, path, str);
	return JNI_TRUE;
}

JNIEXPORT jboolean JNICALL Java_AudioDB_audiodb_1open (JNIEnv *env, jobject obj, jstring path, jobject mode)
{
	jclass modeClass = (*env)->FindClass(env, "AudioDB$Mode");
	jmethodID getNameMethod = (*env)->GetMethodID(env, modeClass, "name", "()Ljava/lang/String;");
	jstring value = (jstring)(*env)->CallObjectMethod(env, mode, getNameMethod);
	const char* openMode = (*env)->GetStringUTFChars(env, value, 0);

	return JNI_TRUE;
}

JNIEXPORT void JNICALL Java_AudioDB_insert(JNIEnv *env, jobject obj)
{
}

JNIEXPORT void JNICALL Java_AudioDB_query(JNIEnv *env, jobject obj)
{
}

JNIEXPORT void JNICALL Java_AudioDB_status(JNIEnv *env, jobject obj)
{
}