Lines Matching defs:env
85 MtpDatabase* getMtpDatabase(JNIEnv *env, jobject database) {
86 return (MtpDatabase *)env->GetLongField(database, field_context);
99 MyMtpDatabase(JNIEnv *env, jobject client);
101 void cleanup(JNIEnv *env);
182 static void checkAndClearExceptionFromCallback(JNIEnv* env, const char* methodName) {
183 if (env->ExceptionCheck()) {
185 LOGE_EX(env);
186 env->ExceptionClear();
192 MyMtpDatabase::MyMtpDatabase(JNIEnv *env, jobject client)
193 : mDatabase(env->NewGlobalRef(client)),
200 jintArray intArray = env->NewIntArray(3);
204 mIntBuffer = (jintArray)env->NewGlobalRef(intArray);
205 jlongArray longArray = env->NewLongArray(2);
209 mLongBuffer = (jlongArray)env->NewGlobalRef(longArray);
211 jcharArray charArray = env->NewCharArray(PATH_MAX + 1);
215 mStringBuffer = (jcharArray)env->NewGlobalRef(charArray);
218 void MyMtpDatabase::cleanup(JNIEnv *env) {
219 env->DeleteGlobalRef(mDatabase);
220 env->DeleteGlobalRef(mIntBuffer);
221 env->DeleteGlobalRef(mLongBuffer);
222 env->DeleteGlobalRef(mStringBuffer);
234 JNIEnv* env = AndroidRuntime::getJNIEnv();
235 jstring pathStr = env->NewStringUTF(path);
236 MtpObjectHandle result = env->CallIntMethod(mDatabase, method_beginSendObject,
241 env->DeleteLocalRef(pathStr);
242 checkAndClearExceptionFromCallback(env, __FUNCTION__);
248 JNIEnv* env = AndroidRuntime::getJNIEnv();
249 jstring pathStr = env->NewStringUTF(path);
250 env->CallVoidMethod(mDatabase, method_endSendObject, pathStr,
254 env->DeleteLocalRef(pathStr);
255 checkAndClearExceptionFromCallback(env, __FUNCTION__);
261 JNIEnv* env = AndroidRuntime::getJNIEnv();
262 jintArray array = (jintArray)env->CallObjectMethod(mDatabase, method_getObjectList,
267 jint* handles = env->GetIntArrayElements(array, 0);
268 jsize length = env->GetArrayLength(array);
271 env->ReleaseIntArrayElements(array, handles, 0);
272 env->DeleteLocalRef(array);
274 checkAndClearExceptionFromCallback(env, __FUNCTION__);
281 JNIEnv* env = AndroidRuntime::getJNIEnv();
282 int result = env->CallIntMethod(mDatabase, method_getNumObjects,
285 checkAndClearExceptionFromCallback(env, __FUNCTION__);
290 JNIEnv* env = AndroidRuntime::getJNIEnv();
291 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
296 jint* formats = env->GetIntArrayElements(array, 0);
297 jsize length = env->GetArrayLength(array);
300 env->ReleaseIntArrayElements(array, formats, 0);
301 env->DeleteLocalRef(array);
303 checkAndClearExceptionFromCallback(env, __FUNCTION__);
308 JNIEnv* env = AndroidRuntime::getJNIEnv();
309 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
314 jint* formats = env->GetIntArrayElements(array, 0);
315 jsize length = env->GetArrayLength(array);
318 env->ReleaseIntArrayElements(array, formats, 0);
319 env->DeleteLocalRef(array);
321 checkAndClearExceptionFromCallback(env, __FUNCTION__);
326 JNIEnv* env = AndroidRuntime::getJNIEnv();
327 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
332 jint* properties = env->GetIntArrayElements(array, 0);
333 jsize length = env->GetArrayLength(array);
336 env->ReleaseIntArrayElements(array, properties, 0);
337 env->DeleteLocalRef(array);
339 checkAndClearExceptionFromCallback(env, __FUNCTION__);
344 JNIEnv* env = AndroidRuntime::getJNIEnv();
345 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
350 jint* properties = env->GetIntArrayElements(array, 0);
351 jsize length = env->GetArrayLength(array);
354 env->ReleaseIntArrayElements(array, properties, 0);
355 env->DeleteLocalRef(array);
357 checkAndClearExceptionFromCallback(env, __FUNCTION__);
364 JNIEnv* env = AndroidRuntime::getJNIEnv();
365 jobject list = env->CallObjectMethod(mDatabase, method_getObjectPropertyList,
367 MtpResponseCode result = env->GetIntField(list, field_mResult);
368 int count = env->GetIntField(list, field_mCount);
373 jintArray objectHandlesArray = (jintArray)env->GetObjectField(list, field_mObjectHandles);
374 jintArray propertyCodesArray = (jintArray)env->GetObjectField(list, field_mPropertyCodes);
375 jintArray dataTypesArray = (jintArray)env->GetObjectField(list, field_mDataTypes);
376 jlongArray longValuesArray = (jlongArray)env->GetObjectField(list, field_mLongValues);
377 jobjectArray stringValuesArray = (jobjectArray)env->GetObjectField(list, field_mStringValues);
379 jint* objectHandles = env->GetIntArrayElements(objectHandlesArray, 0);
380 jint* propertyCodes = env->GetIntArrayElements(propertyCodesArray, 0);
381 jint* dataTypes = env->GetIntArrayElements(dataTypesArray, 0);
382 jlong* longValues = (longValuesArray ? env->GetLongArrayElements(longValuesArray, 0) : NULL);
436 jstring stringValue = (jstring)env->GetObjectArrayElement(stringValuesArray, 0);
437 const char* str = (stringValue ? env->GetStringUTFChars(stringValue, NULL) : NULL);
440 env->ReleaseStringUTFChars(stringValue, str);
444 env->DeleteLocalRef(stringValue);
452 env->ReleaseIntArrayElements(objectHandlesArray, objectHandles, 0);
453 env->ReleaseIntArrayElements(propertyCodesArray, propertyCodes, 0);
454 env->ReleaseIntArrayElements(dataTypesArray, dataTypes, 0);
456 env->ReleaseLongArrayElements(longValuesArray, longValues, 0);
458 env->DeleteLocalRef(objectHandlesArray);
459 env->DeleteLocalRef(propertyCodesArray);
460 env->DeleteLocalRef(dataTypesArray);
462 env->DeleteLocalRef(longValuesArray);
464 env->DeleteLocalRef(stringValuesArray);
467 env->DeleteLocalRef(list);
468 checkAndClearExceptionFromCallback(env, __FUNCTION__);
537 JNIEnv* env = AndroidRuntime::getJNIEnv();
545 stringValue = env->NewStringUTF((const char *)buffer);
550 result = env->CallIntMethod(mDatabase, method_setObjectProperty,
553 env->DeleteLocalRef(stringValue);
556 checkAndClearExceptionFromCallback(env, __FUNCTION__);
562 JNIEnv* env = AndroidRuntime::getJNIEnv();
566 packet.putUInt8((uint8_t)env->GetIntField(mDatabase, field_batteryLevel));
574 jint result = env->CallIntMethod(mDatabase, method_getDeviceProperty,
577 checkAndClearExceptionFromCallback(env, __FUNCTION__);
581 jlong* longValues = env->GetLongArrayElements(mLongBuffer, 0);
583 env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
618 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
620 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
628 checkAndClearExceptionFromCallback(env, __FUNCTION__);
640 JNIEnv* env = AndroidRuntime::getJNIEnv();
648 stringValue = env->NewStringUTF((const char *)buffer);
653 result = env->CallIntMethod(mDatabase, method_setDeviceProperty,
656 env->DeleteLocalRef(stringValue);
659 checkAndClearExceptionFromCallback(env, __FUNCTION__);
671 JNIEnv* env = AndroidRuntime::getJNIEnv();
672 jobject list = env->CallObjectMethod(mDatabase, method_getObjectPropertyList,
674 checkAndClearExceptionFromCallback(env, __FUNCTION__);
677 int count = env->GetIntField(list, field_mCount);
678 MtpResponseCode result = env->GetIntField(list, field_mResult);
682 jintArray objectHandlesArray = (jintArray)env->GetObjectField(list, field_mObjectHandles);
683 jintArray propertyCodesArray = (jintArray)env->GetObjectField(list, field_mPropertyCodes);
684 jintArray dataTypesArray = (jintArray)env->GetObjectField(list, field_mDataTypes);
685 jlongArray longValuesArray = (jlongArray)env->GetObjectField(list, field_mLongValues);
686 jobjectArray stringValuesArray = (jobjectArray)env->GetObjectField(list, field_mStringValues);
688 jint* objectHandles = env->GetIntArrayElements(objectHandlesArray, 0);
689 jint* propertyCodes = env->GetIntArrayElements(propertyCodesArray, 0);
690 jint* dataTypes = env->GetIntArrayElements(dataTypesArray, 0);
691 jlong* longValues = (longValuesArray ? env->GetLongArrayElements(longValuesArray, 0) : NULL);
731 jstring value = (jstring)env->GetObjectArrayElement(stringValuesArray, i);
732 const char *valueStr = (value ? env->GetStringUTFChars(value, NULL) : NULL);
735 env->ReleaseStringUTFChars(value, valueStr);
739 env->DeleteLocalRef(value);
748 env->ReleaseIntArrayElements(objectHandlesArray, objectHandles, 0);
749 env->ReleaseIntArrayElements(propertyCodesArray, propertyCodes, 0);
750 env->ReleaseIntArrayElements(dataTypesArray, dataTypes, 0);
752 env->ReleaseLongArrayElements(longValuesArray, longValues, 0);
754 env->DeleteLocalRef(objectHandlesArray);
755 env->DeleteLocalRef(propertyCodesArray);
756 env->DeleteLocalRef(dataTypesArray);
758 env->DeleteLocalRef(longValuesArray);
760 env->DeleteLocalRef(stringValuesArray);
763 env->DeleteLocalRef(list);
764 checkAndClearExceptionFromCallback(env, __FUNCTION__);
796 JNIEnv* env = AndroidRuntime::getJNIEnv();
797 if (!env->CallBooleanMethod(mDatabase, method_getObjectInfo,
802 jint* intValues = env->GetIntArrayElements(mIntBuffer, 0);
806 env->ReleaseIntArrayElements(mIntBuffer, intValues, 0);
808 jlong* longValues = env->GetLongArrayElements(mLongBuffer, 0);
811 env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
820 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
823 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
847 checkAndClearExceptionFromCallback(env, __FUNCTION__);
881 JNIEnv* env = AndroidRuntime::getJNIEnv();
882 jint result = env->CallIntMethod(mDatabase, method_getObjectFilePath,
885 checkAndClearExceptionFromCallback(env, __FUNCTION__);
889 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
892 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
894 jlong* longValues = env->GetLongArrayElements(mLongBuffer, 0);
897 env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
899 checkAndClearExceptionFromCallback(env, __FUNCTION__);
904 JNIEnv* env = AndroidRuntime::getJNIEnv();
905 MtpResponseCode result = env->CallIntMethod(mDatabase, method_deleteFile, (jint)handle);
907 checkAndClearExceptionFromCallback(env, __FUNCTION__);
976 JNIEnv* env = AndroidRuntime::getJNIEnv();
977 jintArray array = (jintArray)env->CallObjectMethod(mDatabase, method_getObjectReferences,
982 jint* handles = env->GetIntArrayElements(array, 0);
983 jsize length = env->GetArrayLength(array);
986 env->ReleaseIntArrayElements(array, handles, 0);
987 env->DeleteLocalRef(array);
989 checkAndClearExceptionFromCallback(env, __FUNCTION__);
995 JNIEnv* env = AndroidRuntime::getJNIEnv();
997 jintArray array = env->NewIntArray(count);
1002 jint* handles = env->GetIntArrayElements(array, 0);
1005 env->ReleaseIntArrayElements(array, handles, 0);
1006 MtpResponseCode result = env->CallIntMethod(mDatabase, method_setObjectReferences,
1008 env->DeleteLocalRef(array);
1010 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1096 JNIEnv* env = AndroidRuntime::getJNIEnv();
1109 jint ret = env->CallIntMethod(mDatabase, method_getDeviceProperty,
1112 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
1117 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
1125 result->setFormRange(0, env->GetIntField(mDatabase, field_batteryScale), 1);
1126 result->mCurrentValue.u.u8 = (uint8_t)env->GetIntField(mDatabase, field_batteryLevel);
1130 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1135 JNIEnv* env = AndroidRuntime::getJNIEnv();
1136 env->CallVoidMethod(mDatabase, method_sessionStarted);
1137 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1141 JNIEnv* env = AndroidRuntime::getJNIEnv();
1142 env->CallVoidMethod(mDatabase, method_sessionEnded);
1143 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1149 android_mtp_MtpDatabase_setup(JNIEnv *env, jobject thiz)
1151 MyMtpDatabase* database = new MyMtpDatabase(env, thiz);
1152 env->SetLongField(thiz, field_context, (jlong)database);
1153 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1157 android_mtp_MtpDatabase_finalize(JNIEnv *env, jobject thiz)
1159 MyMtpDatabase* database = (MyMtpDatabase *)env->GetLongField(thiz, field_context);
1160 database->cleanup(env);
1162 env->SetLongField(thiz, field_context, 0);
1163 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1167 android_mtp_MtpPropertyGroup_format_date_time(JNIEnv *env, jobject /*thiz*/, jlong seconds)
1171 return env->NewStringUTF(date);
1186 int register_android_mtp_MtpDatabase(JNIEnv *env)
1190 clazz = env->FindClass("android/mtp/MtpDatabase");
1195 method_beginSendObject = env->GetMethodID(clazz, "beginSendObject", "(Ljava/lang/String;IIIJJ)I");
1200 method_endSendObject = env->GetMethodID(clazz, "endSendObject", "(Ljava/lang/String;IIZ)V");
1205 method_getObjectList = env->GetMethodID(clazz, "getObjectList", "(III)[I");
1210 method_getNumObjects = env->GetMethodID(clazz, "getNumObjects", "(III)I");
1215 method_getSupportedPlaybackFormats = env->GetMethodID(clazz, "getSupportedPlaybackFormats", "()[I");
1220 method_getSupportedCaptureFormats = env->GetMethodID(clazz, "getSupportedCaptureFormats", "()[I");
1225 method_getSupportedObjectProperties = env->GetMethodID(clazz, "getSupportedObjectProperties", "(I)[I");
1230 method_getSupportedDeviceProperties = env->GetMethodID(clazz, "getSupportedDeviceProperties", "()[I");
1235 method_setObjectProperty = env->GetMethodID(clazz, "setObjectProperty", "(IIJLjava/lang/String;)I");
1240 method_getDeviceProperty = env->GetMethodID(clazz, "getDeviceProperty", "(I[J[C)I");
1245 method_setDeviceProperty = env->GetMethodID(clazz, "setDeviceProperty", "(IJLjava/lang/String;)I");
1250 method_getObjectPropertyList = env->GetMethodID(clazz, "getObjectPropertyList",
1256 method_getObjectInfo = env->GetMethodID(clazz, "getObjectInfo", "(I[I[C[J)Z");
1261 method_getObjectFilePath = env->GetMethodID(clazz, "getObjectFilePath", "(I[C[J)I");
1266 method_deleteFile = env->GetMethodID(clazz, "deleteFile", "(I)I");
1271 method_getObjectReferences = env->GetMethodID(clazz, "getObjectReferences", "(I)[I");
1276 method_setObjectReferences = env->GetMethodID(clazz, "setObjectReferences", "(I[I)I");
1281 method_sessionStarted = env->GetMethodID(clazz, "sessionStarted", "()V");
1286 method_sessionEnded = env->GetMethodID(clazz, "sessionEnded", "()V");
1292 field_context = env->GetFieldID(clazz, "mNativeContext", "J");
1297 field_batteryLevel = env->GetFieldID(clazz, "mBatteryLevel", "I");
1302 field_batteryScale = env->GetFieldID(clazz, "mBatteryScale", "I");
1309 clazz = env->FindClass("android/mtp/MtpPropertyList");
1314 field_mCount = env->GetFieldID(clazz, "mCount", "I");
1319 field_mResult = env->GetFieldID(clazz, "mResult", "I");
1324 field_mObjectHandles = env->GetFieldID(clazz, "mObjectHandles", "[I");
1329 field_mPropertyCodes = env->GetFieldID(clazz, "mPropertyCodes", "[I");
1334 field_mDataTypes = env->GetFieldID(clazz, "mDataTypes", "[I");
1339 field_mLongValues = env->GetFieldID(clazz, "mLongValues", "[J");
1344 field_mStringValues = env->GetFieldID(clazz, "mStringValues", "[Ljava/lang/String;");
1350 if (AndroidRuntime::registerNativeMethods(env,
1354 return AndroidRuntime::registerNativeMethods(env,