Lines Matching defs:env

48 static void throwExceptionWithRowCol(JNIEnv* env, jint row, jint column) {
53 jniThrowException(env, "java/lang/IllegalStateException", msg.string());
56 static void throwUnknownTypeException(JNIEnv * env, jint type) {
59 jniThrowException(env, "java/lang/IllegalStateException", msg.string());
62 static jlong nativeCreate(JNIEnv* env, jclass clazz, jstring nameObj, jint cursorWindowSize) {
64 const char* nameStr = env->GetStringUTFChars(nameObj, NULL);
66 env->ReleaseStringUTFChars(nameObj, nameStr);
80 static jlong nativeCreateFromParcel(JNIEnv* env, jclass clazz, jobject parcelObj) {
81 Parcel* parcel = parcelForJavaObject(env, parcelObj);
95 static void nativeDispose(JNIEnv* env, jclass clazz, jlong windowPtr) {
103 static jstring nativeGetName(JNIEnv* env, jclass clazz, jlong windowPtr) {
105 return env->NewStringUTF(window->name().string());
108 static void nativeWriteToParcel(JNIEnv * env, jclass clazz, jlong windowPtr,
111 Parcel* parcel = parcelForJavaObject(env, parcelObj);
117 jniThrowRuntimeException(env, msg.string());
121 static void nativeClear(JNIEnv * env, jclass clazz, jlong windowPtr) {
130 static jint nativeGetNumRows(JNIEnv* env, jclass clazz, jlong windowPtr) {
135 static jboolean nativeSetNumColumns(JNIEnv* env, jclass clazz, jlong windowPtr,
142 static jboolean nativeAllocRow(JNIEnv* env, jclass clazz, jlong windowPtr) {
148 static void nativeFreeLastRow(JNIEnv* env, jclass clazz, jlong windowPtr) {
153 static jint nativeGetType(JNIEnv* env, jclass clazz, jlong windowPtr,
162 //throwExceptionWithRowCol(env, row, column);
168 static jbyteArray nativeGetBlob(JNIEnv* env, jclass clazz, jlong windowPtr,
175 throwExceptionWithRowCol(env, row, column);
183 jbyteArray byteArray = env->NewByteArray(size);
185 env->ExceptionClear();
186 throw_sqlite3_exception(env, "Native could not create new byte[]");
189 env->SetByteArrayRegion(byteArray, 0, size, static_cast<const jbyte*>(value));
192 throw_sqlite3_exception(env, "INTEGER data in nativeGetBlob ");
194 throw_sqlite3_exception(env, "FLOAT data in nativeGetBlob ");
198 throwUnknownTypeException(env, type);
203 static jstring nativeGetString(JNIEnv* env, jclass clazz, jlong windowPtr,
210 throwExceptionWithRowCol(env, row, column);
225 return env->NewString(reinterpret_cast<const jchar*>(utf16.string()), utf16.size());
230 return env->NewStringUTF(buf);
235 return env->NewStringUTF(buf);
239 throw_sqlite3_exception(env, "Unable to convert BLOB to string");
242 throwUnknownTypeException(env, type);
247 static jcharArray allocCharArrayBuffer(JNIEnv* env, jobject bufferObj, size_t size) {
248 jcharArray dataObj = jcharArray(env->GetObjectField(bufferObj,
251 jsize capacity = env->GetArrayLength(dataObj);
253 env->DeleteLocalRef(dataObj);
262 dataObj = env->NewCharArray(capacity); // might throw OOM
264 env->SetObjectField(bufferObj, gCharArrayBufferClassInfo.data, dataObj);
270 static void fillCharArrayBufferUTF(JNIEnv* env, jobject bufferObj,
276 jcharArray dataObj = allocCharArrayBuffer(env, bufferObj, size);
279 jchar* data = static_cast<jchar*>(env->GetPrimitiveArrayCritical(dataObj, NULL));
282 env->ReleasePrimitiveArrayCritical(dataObj, data, 0);
284 env->SetIntField(bufferObj, gCharArrayBufferClassInfo.sizeCopied, size);
288 static void clearCharArrayBuffer(JNIEnv* env, jobject bufferObj) {
289 jcharArray dataObj = allocCharArrayBuffer(env, bufferObj, 0);
291 env->SetIntField(bufferObj, gCharArrayBufferClassInfo.sizeCopied, 0);
295 static void nativeCopyStringToBuffer(JNIEnv* env, jclass clazz, jlong windowPtr,
302 throwExceptionWithRowCol(env, row, column);
311 fillCharArrayBufferUTF(env, bufferObj, value, sizeIncludingNull - 1);
313 clearCharArrayBuffer(env, bufferObj);
319 fillCharArrayBufferUTF(env, bufferObj, buf, strlen(buf));
324 fillCharArrayBufferUTF(env, bufferObj, buf, strlen(buf));
326 clearCharArrayBuffer(env, bufferObj);
328 throw_sqlite3_exception(env, "Unable to convert BLOB to string");
330 throwUnknownTypeException(env, type);
334 static jlong nativeGetLong(JNIEnv* env, jclass clazz, jlong windowPtr,
341 throwExceptionWithRowCol(env, row, column);
357 throw_sqlite3_exception(env, "Unable to convert BLOB to long");
360 throwUnknownTypeException(env, type);
365 static jdouble nativeGetDouble(JNIEnv* env, jclass clazz, jlong windowPtr,
372 throwExceptionWithRowCol(env, row, column);
388 throw_sqlite3_exception(env, "Unable to convert BLOB to double");
391 throwUnknownTypeException(env, type);
396 static jboolean nativePutBlob(JNIEnv* env, jclass clazz, jlong windowPtr,
399 jsize len = env->GetArrayLength(valueObj);
401 void* value = env->GetPrimitiveArrayCritical(valueObj, NULL);
403 env->ReleasePrimitiveArrayCritical(valueObj, value, JNI_ABORT);
414 static jboolean nativePutString(JNIEnv* env, jclass clazz, jlong windowPtr,
418 size_t sizeIncludingNull = env->GetStringUTFLength(valueObj) + 1;
419 const char* valueStr = env->GetStringUTFChars(valueObj, NULL);
425 env->ReleaseStringUTFChars(valueObj, valueStr);
436 static jboolean nativePutLong(JNIEnv* env, jclass clazz, jlong windowPtr,
450 static jboolean nativePutDouble(JNIEnv* env, jclass clazz, jlong windowPtr,
464 static jboolean nativePutNull(JNIEnv* env, jclass clazz, jlong windowPtr,
526 var = env->FindClass(className); \
530 var = env->GetFieldID(clazz, fieldName, fieldDescriptor); \
533 int register_android_database_CursorWindow(JNIEnv * env)
543 gEmptyString = jstring(env->NewGlobalRef(env->NewStringUTF("")));
546 return AndroidRuntime::registerNativeMethods(env, "android/database/CursorWindow",