Lines Matching defs:env

94 IMtpDatabase* getMtpDatabase(JNIEnv *env, jobject database) {
95 return (IMtpDatabase *)env->GetLongField(database, field_context);
108 MtpDatabase(JNIEnv *env, jobject client);
110 void cleanup(JNIEnv *env);
199 static void checkAndClearExceptionFromCallback(JNIEnv* env, const char* methodName) {
200 if (env->ExceptionCheck()) {
202 LOGE_EX(env);
203 env->ExceptionClear();
209 MtpDatabase::MtpDatabase(JNIEnv *env, jobject client)
210 : mDatabase(env->NewGlobalRef(client)),
217 jintArray intArray = env->NewIntArray(3);
221 mIntBuffer = (jintArray)env->NewGlobalRef(intArray);
222 jlongArray longArray = env->NewLongArray(2);
226 mLongBuffer = (jlongArray)env->NewGlobalRef(longArray);
228 jcharArray charArray = env->NewCharArray(PATH_MAX + 1);
232 mStringBuffer = (jcharArray)env->NewGlobalRef(charArray);
235 void MtpDatabase::cleanup(JNIEnv *env) {
236 env->DeleteGlobalRef(mDatabase);
237 env->DeleteGlobalRef(mIntBuffer);
238 env->DeleteGlobalRef(mLongBuffer);
239 env->DeleteGlobalRef(mStringBuffer);
249 JNIEnv* env = AndroidRuntime::getJNIEnv();
250 jstring pathStr = env->NewStringUTF(path);
251 MtpObjectHandle result = env->CallIntMethod(mDatabase, method_beginSendObject,
255 env->DeleteLocalRef(pathStr);
256 checkAndClearExceptionFromCallback(env, __FUNCTION__);
261 JNIEnv* env = AndroidRuntime::getJNIEnv();
262 env->CallVoidMethod(mDatabase, method_endSendObject, (jint)handle, (jboolean)succeeded);
264 checkAndClearExceptionFromCallback(env, __FUNCTION__);
269 JNIEnv* env = AndroidRuntime::getJNIEnv();
270 jstring pathStr = env->NewStringUTF(path);
271 env->CallVoidMethod(mDatabase, method_rescanFile, pathStr,
275 env->DeleteLocalRef(pathStr);
276 checkAndClearExceptionFromCallback(env, __FUNCTION__);
282 JNIEnv* env = AndroidRuntime::getJNIEnv();
283 jintArray array = (jintArray)env->CallObjectMethod(mDatabase, method_getObjectList,
288 jint* handles = env->GetIntArrayElements(array, 0);
289 jsize length = env->GetArrayLength(array);
292 env->ReleaseIntArrayElements(array, handles, 0);
293 env->DeleteLocalRef(array);
295 checkAndClearExceptionFromCallback(env, __FUNCTION__);
302 JNIEnv* env = AndroidRuntime::getJNIEnv();
303 int result = env->CallIntMethod(mDatabase, method_getNumObjects,
306 checkAndClearExceptionFromCallback(env, __FUNCTION__);
311 JNIEnv* env = AndroidRuntime::getJNIEnv();
312 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
317 jint* formats = env->GetIntArrayElements(array, 0);
318 jsize length = env->GetArrayLength(array);
321 env->ReleaseIntArrayElements(array, formats, 0);
322 env->DeleteLocalRef(array);
324 checkAndClearExceptionFromCallback(env, __FUNCTION__);
329 JNIEnv* env = AndroidRuntime::getJNIEnv();
330 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
335 jint* formats = env->GetIntArrayElements(array, 0);
336 jsize length = env->GetArrayLength(array);
339 env->ReleaseIntArrayElements(array, formats, 0);
340 env->DeleteLocalRef(array);
342 checkAndClearExceptionFromCallback(env, __FUNCTION__);
347 JNIEnv* env = AndroidRuntime::getJNIEnv();
348 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
353 jint* properties = env->GetIntArrayElements(array, 0);
354 jsize length = env->GetArrayLength(array);
357 env->ReleaseIntArrayElements(array, properties, 0);
358 env->DeleteLocalRef(array);
360 checkAndClearExceptionFromCallback(env, __FUNCTION__);
365 JNIEnv* env = AndroidRuntime::getJNIEnv();
366 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
371 jint* properties = env->GetIntArrayElements(array, 0);
372 jsize length = env->GetArrayLength(array);
375 env->ReleaseIntArrayElements(array, properties, 0);
376 env->DeleteLocalRef(array);
378 checkAndClearExceptionFromCallback(env, __FUNCTION__);
389 JNIEnv* env = AndroidRuntime::getJNIEnv();
390 jobject list = env->CallObjectMethod(
398 MtpResponseCode result = env->CallIntMethod(list, method_getCode);
399 jint count = env->CallIntMethod(list, method_getCount);
404 jintArray objectHandlesArray = (jintArray)env->CallObjectMethod(list, method_getObjectHandles);
405 jintArray propertyCodesArray = (jintArray)env->CallObjectMethod(list, method_getPropertyCodes);
406 jintArray dataTypesArray = (jintArray)env->CallObjectMethod(list, method_getDataTypes);
407 jlongArray longValuesArray = (jlongArray)env->CallObjectMethod(list, method_getLongValues);
408 jobjectArray stringValuesArray = (jobjectArray)env->CallObjectMethod(list, method_getStringValues);
410 jint* objectHandles = env->GetIntArrayElements(objectHandlesArray, 0);
411 jint* propertyCodes = env->GetIntArrayElements(propertyCodesArray, 0);
412 jint* dataTypes = env->GetIntArrayElements(dataTypesArray, 0);
413 jlong* longValues = env->GetLongArrayElements(longValuesArray, 0);
451 jstring stringValue = (jstring)env->GetObjectArrayElement(stringValuesArray, 0);
452 const char* str = (stringValue ? env->GetStringUTFChars(stringValue, NULL) : NULL);
455 env->ReleaseStringUTFChars(stringValue, str);
459 env->DeleteLocalRef(stringValue);
466 env->ReleaseIntArrayElements(objectHandlesArray, objectHandles, 0);
467 env->ReleaseIntArrayElements(propertyCodesArray, propertyCodes, 0);
468 env->ReleaseIntArrayElements(dataTypesArray, dataTypes, 0);
469 env->ReleaseLongArrayElements(longValuesArray, longValues, 0);
471 env->DeleteLocalRef(objectHandlesArray);
472 env->DeleteLocalRef(propertyCodesArray);
473 env->DeleteLocalRef(dataTypesArray);
474 env->DeleteLocalRef(longValuesArray);
475 env->DeleteLocalRef(stringValuesArray);
478 env->DeleteLocalRef(list);
479 checkAndClearExceptionFromCallback(env, __FUNCTION__);
548 JNIEnv* env = AndroidRuntime::getJNIEnv();
556 stringValue = env->NewStringUTF((const char *)buffer);
561 result = env->CallIntMethod(mDatabase, method_setObjectProperty,
564 env->DeleteLocalRef(stringValue);
567 checkAndClearExceptionFromCallback(env, __FUNCTION__);
573 JNIEnv* env = AndroidRuntime::getJNIEnv();
579 jint result = env->CallIntMethod(mDatabase, method_getDeviceProperty,
582 checkAndClearExceptionFromCallback(env, __FUNCTION__);
586 jlong* longValues = env->GetLongArrayElements(mLongBuffer, 0);
588 env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
623 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
625 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
633 checkAndClearExceptionFromCallback(env, __FUNCTION__);
644 JNIEnv* env = AndroidRuntime::getJNIEnv();
652 stringValue = env->NewStringUTF((const char *)buffer);
657 result = env->CallIntMethod(mDatabase, method_setDeviceProperty,
660 env->DeleteLocalRef(stringValue);
663 checkAndClearExceptionFromCallback(env, __FUNCTION__);
677 JNIEnv* env = AndroidRuntime::getJNIEnv();
678 jobject list = env->CallObjectMethod(
686 checkAndClearExceptionFromCallback(env, __FUNCTION__);
689 int count = env->CallIntMethod(list, method_getCount);
690 MtpResponseCode result = env->CallIntMethod(list, method_getCode);
694 jintArray objectHandlesArray = (jintArray)env->CallObjectMethod(list, method_getObjectHandles);
695 jintArray propertyCodesArray = (jintArray)env->CallObjectMethod(list, method_getPropertyCodes);
696 jintArray dataTypesArray = (jintArray)env->CallObjectMethod(list, method_getDataTypes);
697 jlongArray longValuesArray = (jlongArray)env->CallObjectMethod(list, method_getLongValues);
698 jobjectArray stringValuesArray = (jobjectArray)env->CallObjectMethod(list, method_getStringValues);
700 jint* objectHandles = env->GetIntArrayElements(objectHandlesArray, 0);
701 jint* propertyCodes = env->GetIntArrayElements(propertyCodesArray, 0);
702 jint* dataTypes = env->GetIntArrayElements(dataTypesArray, 0);
703 jlong* longValues = (longValuesArray ? env->GetLongArrayElements(longValuesArray, 0) : NULL);
743 jstring value = (jstring)env->GetObjectArrayElement(stringValuesArray, i);
744 const char *valueStr = (value ? env->GetStringUTFChars(value, NULL) : NULL);
747 env->ReleaseStringUTFChars(value, valueStr);
751 env->DeleteLocalRef(value);
760 env->ReleaseIntArrayElements(objectHandlesArray, objectHandles, 0);
761 env->ReleaseIntArrayElements(propertyCodesArray, propertyCodes, 0);
762 env->ReleaseIntArrayElements(dataTypesArray, dataTypes, 0);
763 env->ReleaseLongArrayElements(longValuesArray, longValues, 0);
765 env->DeleteLocalRef(objectHandlesArray);
766 env->DeleteLocalRef(propertyCodesArray);
767 env->DeleteLocalRef(dataTypesArray);
768 env->DeleteLocalRef(longValuesArray);
769 env->DeleteLocalRef(stringValuesArray);
772 env->DeleteLocalRef(list);
773 checkAndClearExceptionFromCallback(env, __FUNCTION__);
840 JNIEnv* env = AndroidRuntime::getJNIEnv();
841 if (!env->CallBooleanMethod(mDatabase, method_getObjectInfo,
846 jint* intValues = env->GetIntArrayElements(mIntBuffer, 0);
850 env->ReleaseIntArrayElements(mIntBuffer, intValues, 0);
852 jlong* longValues = env->GetLongArrayElements(mLongBuffer, 0);
855 env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
864 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
867 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
922 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1001 JNIEnv* env = AndroidRuntime::getJNIEnv();
1002 jint result = env->CallIntMethod(mDatabase, method_getObjectFilePath,
1005 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1009 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
1011 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
1013 jlong* longValues = env->GetLongArrayElements(mLongBuffer, 0);
1016 env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
1018 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1023 JNIEnv* env = AndroidRuntime::getJNIEnv();
1024 MtpResponseCode result = env->CallIntMethod(mDatabase, method_beginDeleteObject, (jint)handle);
1026 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1031 JNIEnv* env = AndroidRuntime::getJNIEnv();
1032 env->CallVoidMethod(mDatabase, method_endDeleteObject, (jint)handle, (jboolean) succeeded);
1034 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1039 JNIEnv* env = AndroidRuntime::getJNIEnv();
1040 MtpResponseCode result = env->CallIntMethod(mDatabase, method_beginMoveObject,
1043 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1050 JNIEnv* env = AndroidRuntime::getJNIEnv();
1051 env->CallVoidMethod(mDatabase, method_endMoveObject,
1055 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1060 JNIEnv* env = AndroidRuntime::getJNIEnv();
1061 MtpResponseCode result = env->CallIntMethod(mDatabase, method_beginCopyObject,
1064 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1069 JNIEnv* env = AndroidRuntime::getJNIEnv();
1070 env->CallVoidMethod(mDatabase, method_endCopyObject, (jint)handle, (jboolean)succeeded);
1072 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1142 JNIEnv* env = AndroidRuntime::getJNIEnv();
1143 jintArray array = (jintArray)env->CallObjectMethod(mDatabase, method_getObjectReferences,
1148 jint* handles = env->GetIntArrayElements(array, 0);
1149 jsize length = env->GetArrayLength(array);
1152 env->ReleaseIntArrayElements(array, handles, 0);
1153 env->DeleteLocalRef(array);
1155 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1161 JNIEnv* env = AndroidRuntime::getJNIEnv();
1163 jintArray array = env->NewIntArray(count);
1168 jint* handles = env->GetIntArrayElements(array, 0);
1171 env->ReleaseIntArrayElements(array, handles, 0);
1172 MtpResponseCode result = env->CallIntMethod(mDatabase, method_setObjectReferences,
1174 env->DeleteLocalRef(array);
1176 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1262 JNIEnv* env = AndroidRuntime::getJNIEnv();
1267 jint ret = env->CallIntMethod(mDatabase, method_getDeviceProperty,
1278 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
1283 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
1289 jlong* arr = env->GetLongArrayElements(mLongBuffer, 0);
1292 env->ReleaseLongArrayElements(mLongBuffer, arr, 0);
1297 jlong* arr = env->GetLongArrayElements(mLongBuffer, 0);
1300 env->ReleaseLongArrayElements(mLongBuffer, arr, 0);
1310 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1317 android_mtp_MtpDatabase_setup(JNIEnv *env, jobject thiz)
1319 MtpDatabase* database = new MtpDatabase(env, thiz);
1320 env->SetLongField(thiz, field_context, (jlong)database);
1321 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1325 android_mtp_MtpDatabase_finalize(JNIEnv *env, jobject thiz)
1327 MtpDatabase* database = (MtpDatabase *)env->GetLongField(thiz, field_context);
1328 database->cleanup(env);
1330 env->SetLongField(thiz, field_context, 0);
1331 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1335 android_mtp_MtpPropertyGroup_format_date_time(JNIEnv *env, jobject /*thiz*/, jlong seconds)
1339 return env->NewStringUTF(date);
1355 method_##name = env->GetMethodID(jclass, #name, signature); \
1361 int register_android_mtp_MtpDatabase(JNIEnv *env)
1365 clazz = env->FindClass("android/mtp/MtpDatabase");
1394 field_context = env->GetFieldID(clazz, "mNativeContext", "J");
1400 clazz = env->FindClass("android/mtp/MtpPropertyList");
1413 if (AndroidRuntime::registerNativeMethods(env,
1417 return AndroidRuntime::registerNativeMethods(env,