Lines Matching defs:env

90 MtpDatabase* getMtpDatabase(JNIEnv *env, jobject database) {
91 return (MtpDatabase *)env->GetLongField(database, field_context);
104 MyMtpDatabase(JNIEnv *env, jobject client);
106 void cleanup(JNIEnv *env);
187 static void checkAndClearExceptionFromCallback(JNIEnv* env, const char* methodName) {
188 if (env->ExceptionCheck()) {
190 LOGE_EX(env);
191 env->ExceptionClear();
197 MyMtpDatabase::MyMtpDatabase(JNIEnv *env, jobject client)
198 : mDatabase(env->NewGlobalRef(client)),
205 jintArray intArray = env->NewIntArray(3);
209 mIntBuffer = (jintArray)env->NewGlobalRef(intArray);
210 jlongArray longArray = env->NewLongArray(2);
214 mLongBuffer = (jlongArray)env->NewGlobalRef(longArray);
216 jcharArray charArray = env->NewCharArray(PATH_MAX + 1);
220 mStringBuffer = (jcharArray)env->NewGlobalRef(charArray);
223 void MyMtpDatabase::cleanup(JNIEnv *env) {
224 env->DeleteGlobalRef(mDatabase);
225 env->DeleteGlobalRef(mIntBuffer);
226 env->DeleteGlobalRef(mLongBuffer);
227 env->DeleteGlobalRef(mStringBuffer);
239 JNIEnv* env = AndroidRuntime::getJNIEnv();
240 jstring pathStr = env->NewStringUTF(path);
241 MtpObjectHandle result = env->CallIntMethod(mDatabase, method_beginSendObject,
246 env->DeleteLocalRef(pathStr);
247 checkAndClearExceptionFromCallback(env, __FUNCTION__);
253 JNIEnv* env = AndroidRuntime::getJNIEnv();
254 jstring pathStr = env->NewStringUTF(path);
255 env->CallVoidMethod(mDatabase, method_endSendObject, pathStr,
259 env->DeleteLocalRef(pathStr);
260 checkAndClearExceptionFromCallback(env, __FUNCTION__);
266 JNIEnv* env = AndroidRuntime::getJNIEnv();
267 jintArray array = (jintArray)env->CallObjectMethod(mDatabase, method_getObjectList,
272 jint* handles = env->GetIntArrayElements(array, 0);
273 jsize length = env->GetArrayLength(array);
276 env->ReleaseIntArrayElements(array, handles, 0);
277 env->DeleteLocalRef(array);
279 checkAndClearExceptionFromCallback(env, __FUNCTION__);
286 JNIEnv* env = AndroidRuntime::getJNIEnv();
287 int result = env->CallIntMethod(mDatabase, method_getNumObjects,
290 checkAndClearExceptionFromCallback(env, __FUNCTION__);
295 JNIEnv* env = AndroidRuntime::getJNIEnv();
296 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
301 jint* formats = env->GetIntArrayElements(array, 0);
302 jsize length = env->GetArrayLength(array);
305 env->ReleaseIntArrayElements(array, formats, 0);
306 env->DeleteLocalRef(array);
308 checkAndClearExceptionFromCallback(env, __FUNCTION__);
313 JNIEnv* env = AndroidRuntime::getJNIEnv();
314 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
319 jint* formats = env->GetIntArrayElements(array, 0);
320 jsize length = env->GetArrayLength(array);
323 env->ReleaseIntArrayElements(array, formats, 0);
324 env->DeleteLocalRef(array);
326 checkAndClearExceptionFromCallback(env, __FUNCTION__);
331 JNIEnv* env = AndroidRuntime::getJNIEnv();
332 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
337 jint* properties = env->GetIntArrayElements(array, 0);
338 jsize length = env->GetArrayLength(array);
341 env->ReleaseIntArrayElements(array, properties, 0);
342 env->DeleteLocalRef(array);
344 checkAndClearExceptionFromCallback(env, __FUNCTION__);
349 JNIEnv* env = AndroidRuntime::getJNIEnv();
350 jintArray array = (jintArray)env->CallObjectMethod(mDatabase,
355 jint* properties = env->GetIntArrayElements(array, 0);
356 jsize length = env->GetArrayLength(array);
359 env->ReleaseIntArrayElements(array, properties, 0);
360 env->DeleteLocalRef(array);
362 checkAndClearExceptionFromCallback(env, __FUNCTION__);
373 JNIEnv* env = AndroidRuntime::getJNIEnv();
374 jobject list = env->CallObjectMethod(
382 MtpResponseCode result = env->GetIntField(list, field_mResult);
383 int count = env->GetIntField(list, field_mCount);
388 jintArray objectHandlesArray = (jintArray)env->GetObjectField(list, field_mObjectHandles);
389 jintArray propertyCodesArray = (jintArray)env->GetObjectField(list, field_mPropertyCodes);
390 jintArray dataTypesArray = (jintArray)env->GetObjectField(list, field_mDataTypes);
391 jlongArray longValuesArray = (jlongArray)env->GetObjectField(list, field_mLongValues);
392 jobjectArray stringValuesArray = (jobjectArray)env->GetObjectField(list, field_mStringValues);
394 jint* objectHandles = env->GetIntArrayElements(objectHandlesArray, 0);
395 jint* propertyCodes = env->GetIntArrayElements(propertyCodesArray, 0);
396 jint* dataTypes = env->GetIntArrayElements(dataTypesArray, 0);
397 jlong* longValues = (longValuesArray ? env->GetLongArrayElements(longValuesArray, 0) : NULL);
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);
467 env->ReleaseIntArrayElements(objectHandlesArray, objectHandles, 0);
468 env->ReleaseIntArrayElements(propertyCodesArray, propertyCodes, 0);
469 env->ReleaseIntArrayElements(dataTypesArray, dataTypes, 0);
471 env->ReleaseLongArrayElements(longValuesArray, longValues, 0);
473 env->DeleteLocalRef(objectHandlesArray);
474 env->DeleteLocalRef(propertyCodesArray);
475 env->DeleteLocalRef(dataTypesArray);
477 env->DeleteLocalRef(longValuesArray);
479 env->DeleteLocalRef(stringValuesArray);
482 env->DeleteLocalRef(list);
483 checkAndClearExceptionFromCallback(env, __FUNCTION__);
552 JNIEnv* env = AndroidRuntime::getJNIEnv();
560 stringValue = env->NewStringUTF((const char *)buffer);
565 result = env->CallIntMethod(mDatabase, method_setObjectProperty,
568 env->DeleteLocalRef(stringValue);
571 checkAndClearExceptionFromCallback(env, __FUNCTION__);
577 JNIEnv* env = AndroidRuntime::getJNIEnv();
581 packet.putUInt8((uint8_t)env->GetIntField(mDatabase, field_batteryLevel));
589 jint result = env->CallIntMethod(mDatabase, method_getDeviceProperty,
592 checkAndClearExceptionFromCallback(env, __FUNCTION__);
596 jlong* longValues = env->GetLongArrayElements(mLongBuffer, 0);
598 env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
633 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
635 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
643 checkAndClearExceptionFromCallback(env, __FUNCTION__);
655 JNIEnv* env = AndroidRuntime::getJNIEnv();
663 stringValue = env->NewStringUTF((const char *)buffer);
668 result = env->CallIntMethod(mDatabase, method_setDeviceProperty,
671 env->DeleteLocalRef(stringValue);
674 checkAndClearExceptionFromCallback(env, __FUNCTION__);
688 JNIEnv* env = AndroidRuntime::getJNIEnv();
689 jobject list = env->CallObjectMethod(
697 checkAndClearExceptionFromCallback(env, __FUNCTION__);
700 int count = env->GetIntField(list, field_mCount);
701 MtpResponseCode result = env->GetIntField(list, field_mResult);
705 jintArray objectHandlesArray = (jintArray)env->GetObjectField(list, field_mObjectHandles);
706 jintArray propertyCodesArray = (jintArray)env->GetObjectField(list, field_mPropertyCodes);
707 jintArray dataTypesArray = (jintArray)env->GetObjectField(list, field_mDataTypes);
708 jlongArray longValuesArray = (jlongArray)env->GetObjectField(list, field_mLongValues);
709 jobjectArray stringValuesArray = (jobjectArray)env->GetObjectField(list, field_mStringValues);
711 jint* objectHandles = env->GetIntArrayElements(objectHandlesArray, 0);
712 jint* propertyCodes = env->GetIntArrayElements(propertyCodesArray, 0);
713 jint* dataTypes = env->GetIntArrayElements(dataTypesArray, 0);
714 jlong* longValues = (longValuesArray ? env->GetLongArrayElements(longValuesArray, 0) : NULL);
754 jstring value = (jstring)env->GetObjectArrayElement(stringValuesArray, i);
755 const char *valueStr = (value ? env->GetStringUTFChars(value, NULL) : NULL);
758 env->ReleaseStringUTFChars(value, valueStr);
762 env->DeleteLocalRef(value);
771 env->ReleaseIntArrayElements(objectHandlesArray, objectHandles, 0);
772 env->ReleaseIntArrayElements(propertyCodesArray, propertyCodes, 0);
773 env->ReleaseIntArrayElements(dataTypesArray, dataTypes, 0);
775 env->ReleaseLongArrayElements(longValuesArray, longValues, 0);
777 env->DeleteLocalRef(objectHandlesArray);
778 env->DeleteLocalRef(propertyCodesArray);
779 env->DeleteLocalRef(dataTypesArray);
781 env->DeleteLocalRef(longValuesArray);
783 env->DeleteLocalRef(stringValuesArray);
786 env->DeleteLocalRef(list);
787 checkAndClearExceptionFromCallback(env, __FUNCTION__);
819 JNIEnv* env = AndroidRuntime::getJNIEnv();
820 if (!env->CallBooleanMethod(mDatabase, method_getObjectInfo,
825 jint* intValues = env->GetIntArrayElements(mIntBuffer, 0);
829 env->ReleaseIntArrayElements(mIntBuffer, intValues, 0);
831 jlong* longValues = env->GetLongArrayElements(mLongBuffer, 0);
834 env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
843 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
846 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
894 checkAndClearExceptionFromCallback(env, __FUNCTION__);
965 JNIEnv* env = AndroidRuntime::getJNIEnv();
966 jint result = env->CallIntMethod(mDatabase, method_getObjectFilePath,
969 checkAndClearExceptionFromCallback(env, __FUNCTION__);
973 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
976 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
978 jlong* longValues = env->GetLongArrayElements(mLongBuffer, 0);
981 env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
983 checkAndClearExceptionFromCallback(env, __FUNCTION__);
988 JNIEnv* env = AndroidRuntime::getJNIEnv();
989 MtpResponseCode result = env->CallIntMethod(mDatabase, method_deleteFile, (jint)handle);
991 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1060 JNIEnv* env = AndroidRuntime::getJNIEnv();
1061 jintArray array = (jintArray)env->CallObjectMethod(mDatabase, method_getObjectReferences,
1066 jint* handles = env->GetIntArrayElements(array, 0);
1067 jsize length = env->GetArrayLength(array);
1070 env->ReleaseIntArrayElements(array, handles, 0);
1071 env->DeleteLocalRef(array);
1073 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1079 JNIEnv* env = AndroidRuntime::getJNIEnv();
1081 jintArray array = env->NewIntArray(count);
1086 jint* handles = env->GetIntArrayElements(array, 0);
1089 env->ReleaseIntArrayElements(array, handles, 0);
1090 MtpResponseCode result = env->CallIntMethod(mDatabase, method_setObjectReferences,
1092 env->DeleteLocalRef(array);
1094 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1180 JNIEnv* env = AndroidRuntime::getJNIEnv();
1193 jint ret = env->CallIntMethod(mDatabase, method_getDeviceProperty,
1196 jchar* str = env->GetCharArrayElements(mStringBuffer, 0);
1201 env->ReleaseCharArrayElements(mStringBuffer, str, 0);
1209 result->setFormRange(0, env->GetIntField(mDatabase, field_batteryScale), 1);
1210 result->mCurrentValue.u.u8 = (uint8_t)env->GetIntField(mDatabase, field_batteryLevel);
1214 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1219 JNIEnv* env = AndroidRuntime::getJNIEnv();
1220 env->CallVoidMethod(mDatabase, method_sessionStarted);
1221 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1225 JNIEnv* env = AndroidRuntime::getJNIEnv();
1226 env->CallVoidMethod(mDatabase, method_sessionEnded);
1227 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1233 android_mtp_MtpDatabase_setup(JNIEnv *env, jobject thiz)
1235 MyMtpDatabase* database = new MyMtpDatabase(env, thiz);
1236 env->SetLongField(thiz, field_context, (jlong)database);
1237 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1241 android_mtp_MtpDatabase_finalize(JNIEnv *env, jobject thiz)
1243 MyMtpDatabase* database = (MyMtpDatabase *)env->GetLongField(thiz, field_context);
1244 database->cleanup(env);
1246 env->SetLongField(thiz, field_context, 0);
1247 checkAndClearExceptionFromCallback(env, __FUNCTION__);
1251 android_mtp_MtpPropertyGroup_format_date_time(JNIEnv *env, jobject /*thiz*/, jlong seconds)
1255 return env->NewStringUTF(date);
1270 int register_android_mtp_MtpDatabase(JNIEnv *env)
1274 clazz = env->FindClass("android/mtp/MtpDatabase");
1279 method_beginSendObject = env->GetMethodID(clazz, "beginSendObject", "(Ljava/lang/String;IIIJJ)I");
1284 method_endSendObject = env->GetMethodID(clazz, "endSendObject", "(Ljava/lang/String;IIZ)V");
1289 method_getObjectList = env->GetMethodID(clazz, "getObjectList", "(III)[I");
1294 method_getNumObjects = env->GetMethodID(clazz, "getNumObjects", "(III)I");
1299 method_getSupportedPlaybackFormats = env->GetMethodID(clazz, "getSupportedPlaybackFormats", "()[I");
1304 method_getSupportedCaptureFormats = env->GetMethodID(clazz, "getSupportedCaptureFormats", "()[I");
1309 method_getSupportedObjectProperties = env->GetMethodID(clazz, "getSupportedObjectProperties", "(I)[I");
1314 method_getSupportedDeviceProperties = env->GetMethodID(clazz, "getSupportedDeviceProperties", "()[I");
1319 method_setObjectProperty = env->GetMethodID(clazz, "setObjectProperty", "(IIJLjava/lang/String;)I");
1324 method_getDeviceProperty = env->GetMethodID(clazz, "getDeviceProperty", "(I[J[C)I");
1329 method_setDeviceProperty = env->GetMethodID(clazz, "setDeviceProperty", "(IJLjava/lang/String;)I");
1334 method_getObjectPropertyList = env->GetMethodID(clazz, "getObjectPropertyList",
1340 method_getObjectInfo = env->GetMethodID(clazz, "getObjectInfo", "(I[I[C[J)Z");
1345 method_getObjectFilePath = env->GetMethodID(clazz, "getObjectFilePath", "(I[C[J)I");
1350 method_deleteFile = env->GetMethodID(clazz, "deleteFile", "(I)I");
1355 method_getObjectReferences = env->GetMethodID(clazz, "getObjectReferences", "(I)[I");
1360 method_setObjectReferences = env->GetMethodID(clazz, "setObjectReferences", "(I[I)I");
1365 method_sessionStarted = env->GetMethodID(clazz, "sessionStarted", "()V");
1370 method_sessionEnded = env->GetMethodID(clazz, "sessionEnded", "()V");
1376 field_context = env->GetFieldID(clazz, "mNativeContext", "J");
1381 field_batteryLevel = env->GetFieldID(clazz, "mBatteryLevel", "I");
1386 field_batteryScale = env->GetFieldID(clazz, "mBatteryScale", "I");
1393 clazz = env->FindClass("android/mtp/MtpPropertyList");
1398 field_mCount = env->GetFieldID(clazz, "mCount", "I");
1403 field_mResult = env->GetFieldID(clazz, "mResult", "I");
1408 field_mObjectHandles = env->GetFieldID(clazz, "mObjectHandles", "[I");
1413 field_mPropertyCodes = env->GetFieldID(clazz, "mPropertyCodes", "[I");
1418 field_mDataTypes = env->GetFieldID(clazz, "mDataTypes", "[I");
1423 field_mLongValues = env->GetFieldID(clazz, "mLongValues", "[J");
1428 field_mStringValues = env->GetFieldID(clazz, "mStringValues", "[Ljava/lang/String;");
1434 if (AndroidRuntime::registerNativeMethods(env,
1438 return AndroidRuntime::registerNativeMethods(env,