From e1f29205b909ec690858004637f914fed625dce4 Mon Sep 17 00:00:00 2001 From: Josh Aas Date: Thu, 9 Apr 2009 22:38:21 -0400 Subject: [PATCH] Remove OJI from the tree. b=485984 r/sr=jst --- browser/installer/unix/packages-static | 3 - browser/installer/windows/packages-static | 3 - configure.in | 26 - dom/base/nsDOMClassInfo.cpp | 86 +- dom/base/nsDOMClassInfo.h | 8 - dom/base/nsGlobalWindow.cpp | 49 - .../activex/src/plugin/LegacyPlugin.cpp | 21 - .../activex/src/plugin/LiveConnect.cpp | 545 -- .../browser/activex/src/plugin/LiveConnect.h | 45 - .../browser/activex/src/plugin/Makefile.in | 159 +- .../browser/activex/src/plugin/javastubs.c | 17 - layout/generic/nsObjectFrame.cpp | 87 - modules/oji/Makefile.in | 54 - modules/oji/public/Makefile.in | 71 - modules/oji/public/ProxyJNI.h | 79 - modules/oji/public/nsIJRIPlugin.h | 85 - modules/oji/public/nsIJVMConfigManager.idl | 80 - modules/oji/public/nsIJVMConsole.h | 90 - modules/oji/public/nsIJVMManager.idl | 122 - modules/oji/public/nsIJVMPlugin.h | 130 - modules/oji/public/nsIJVMPluginInstance.idl | 64 - modules/oji/public/nsIJVMPluginTagInfo.h | 91 - modules/oji/public/nsIJVMPrefsWindow.h | 91 - modules/oji/public/nsIJVMThreadManager.h | 136 - modules/oji/public/nsIJVMWindow.h | 86 - modules/oji/public/nsILiveConnectManager.h | 105 - modules/oji/public/nsISecureEnv.h | 365 - modules/oji/public/nsISecureJNI.h | 204 - modules/oji/public/nsISecureJNI2.h | 362 - modules/oji/public/nsISymantecDebugManager.h | 79 - modules/oji/public/nsISymantecDebugger.h | 81 - modules/oji/public/nsjvm.h | 65 - modules/oji/src/Makefile.in | 117 - modules/oji/src/ProxyClassLoader.cpp | 223 - modules/oji/src/ProxyClassLoader.h | 48 - modules/oji/src/ProxyJNI.cpp | 1773 ----- .../netscape/oji/ProxyClassLoaderFactory.java | 61 - modules/oji/src/export.mac | 7 - modules/oji/src/jvmmgr.cpp | 382 - modules/oji/src/jvmmgr.h | 144 - modules/oji/src/lcglue.cpp | 427 - modules/oji/src/lcglue.h | 61 - modules/oji/src/nsCJVMManagerFactory.cpp | 75 - modules/oji/src/nsCNullSecurityContext.cpp | 70 - modules/oji/src/nsCNullSecurityContext.h | 100 - modules/oji/src/nsCSecurityContext.cpp | 257 - modules/oji/src/nsCSecurityContext.h | 117 - modules/oji/src/nsJNI.cpp | 1478 ---- modules/oji/src/nsJVMConfigManager.cpp | 119 - modules/oji/src/nsJVMConfigManager.h | 68 - modules/oji/src/nsJVMConfigManagerUnix.cpp | 664 -- modules/oji/src/nsJVMConfigManagerUnix.h | 147 - modules/oji/src/nsJVMManager.cpp | 1090 --- modules/oji/src/nsJVMManager.h | 259 - modules/oji/src/nsJVMPluginTagInfo.cpp | 226 - modules/oji/src/nsJVMPluginTagInfo.h | 94 - modules/oji/src/nsscd.h | 101 - modules/oji/src/scd.cpp | 114 - modules/oji/tests/FAQ | 326 - modules/oji/tests/README | 168 - modules/oji/tests/build/Makefile | 73 - modules/oji/tests/build/Makefile.win | 70 - modules/oji/tests/build/OJITests.lst | 1 - modules/oji/tests/build/README | 168 - modules/oji/tests/build/compile.mak | 60 - modules/oji/tests/build/compile.mk | 51 - modules/oji/tests/build/make_depends.pl | 51 - modules/oji/tests/build/make_mak.pl | 81 - modules/oji/tests/build/mfgen.pl | 60 - modules/oji/tests/build/rules.mak | 89 - modules/oji/tests/build/rules.mk | 90 - modules/oji/tests/build/test.html | 18 - modules/oji/tests/doc/OjiAPITestcases.html | 908 --- .../oji/tests/doc/OjiAPITestcases_oji.html | 254 - .../tests/doc/OjiAPITestcases_oji_JNIEnv.html | 3221 -------- modules/oji/tests/doc/draft_descr.html | 106 - .../oji/tests/script/OJIAPITestsDescr.html | 786 -- modules/oji/tests/script/OJITestsList.lst | 758 -- modules/oji/tests/script/OJIValidTests.lst | 558 -- modules/oji/tests/script/autorun.pl | 740 -- modules/oji/tests/script/killer.exe | Bin 28569 -> 0 bytes modules/oji/tests/script/test.html | 18 - modules/oji/tests/script/test.pl | 49 - modules/oji/tests/src/JM/CreateProxyJNI.cpp | 93 - modules/oji/tests/src/JM/CreateProxyJNI.h | 270 - modules/oji/tests/src/JM/GetProxyJNI.cpp | 76 - modules/oji/tests/src/JM/IsJavaEnabled.cpp | 82 - modules/oji/tests/src/JM/JVMManagerTests.h | 47 - modules/oji/tests/src/JM/Makefile | 57 - modules/oji/tests/src/JM/Makefile.win | 57 - modules/oji/tests/src/JM/ShowJavaConsole.cpp | 68 - modules/oji/tests/src/JM/get_jm.cpp | 49 - .../src/JNI/AccessingFields/AccessingFields.h | 73 - .../JNI/AccessingFields/GetBooleanField_1.cpp | 49 - .../JNI/AccessingFields/GetBooleanField_2.cpp | 49 - .../JNI/AccessingFields/GetBooleanField_3.cpp | 49 - .../JNI/AccessingFields/GetBooleanField_4.cpp | 49 - .../JNI/AccessingFields/GetBooleanField_5.cpp | 54 - .../JNI/AccessingFields/GetBooleanField_6.cpp | 54 - .../JNI/AccessingFields/GetByteField_1.cpp | 49 - .../JNI/AccessingFields/GetByteField_2.cpp | 49 - .../JNI/AccessingFields/GetByteField_3.cpp | 49 - .../JNI/AccessingFields/GetByteField_4.cpp | 49 - .../JNI/AccessingFields/GetByteField_5.cpp | 54 - .../JNI/AccessingFields/GetByteField_6.cpp | 54 - .../JNI/AccessingFields/GetCharField_1.cpp | 49 - .../JNI/AccessingFields/GetCharField_2.cpp | 49 - .../JNI/AccessingFields/GetCharField_3.cpp | 49 - .../JNI/AccessingFields/GetCharField_4.cpp | 49 - .../JNI/AccessingFields/GetCharField_5.cpp | 55 - .../JNI/AccessingFields/GetDoubleField_1.cpp | 49 - .../JNI/AccessingFields/GetDoubleField_2.cpp | 49 - .../JNI/AccessingFields/GetDoubleField_3.cpp | 49 - .../JNI/AccessingFields/GetDoubleField_4.cpp | 49 - .../JNI/AccessingFields/GetDoubleField_5.cpp | 54 - .../JNI/AccessingFields/GetDoubleField_6.cpp | 54 - .../src/JNI/AccessingFields/GetFieldID_1.cpp | 54 - .../src/JNI/AccessingFields/GetFieldID_10.cpp | 53 - .../src/JNI/AccessingFields/GetFieldID_11.cpp | 53 - .../src/JNI/AccessingFields/GetFieldID_12.cpp | 53 - .../src/JNI/AccessingFields/GetFieldID_13.cpp | 53 - .../src/JNI/AccessingFields/GetFieldID_14.cpp | 58 - .../src/JNI/AccessingFields/GetFieldID_15.cpp | 65 - .../src/JNI/AccessingFields/GetFieldID_16.cpp | 53 - .../src/JNI/AccessingFields/GetFieldID_17.cpp | 58 - .../src/JNI/AccessingFields/GetFieldID_18.cpp | 53 - .../src/JNI/AccessingFields/GetFieldID_19.cpp | 52 - .../src/JNI/AccessingFields/GetFieldID_2.cpp | 52 - .../src/JNI/AccessingFields/GetFieldID_20.cpp | 53 - .../src/JNI/AccessingFields/GetFieldID_3.cpp | 52 - .../src/JNI/AccessingFields/GetFieldID_4.cpp | 52 - .../src/JNI/AccessingFields/GetFieldID_5.cpp | 52 - .../src/JNI/AccessingFields/GetFieldID_6.cpp | 53 - .../src/JNI/AccessingFields/GetFieldID_7.cpp | 53 - .../src/JNI/AccessingFields/GetFieldID_8.cpp | 53 - .../src/JNI/AccessingFields/GetFieldID_9.cpp | 53 - .../JNI/AccessingFields/GetFloatField_1.cpp | 49 - .../JNI/AccessingFields/GetFloatField_2.cpp | 49 - .../JNI/AccessingFields/GetFloatField_3.cpp | 49 - .../JNI/AccessingFields/GetFloatField_4.cpp | 49 - .../JNI/AccessingFields/GetFloatField_5.cpp | 54 - .../JNI/AccessingFields/GetFloatField_6.cpp | 54 - .../src/JNI/AccessingFields/GetIntField_1.cpp | 49 - .../src/JNI/AccessingFields/GetIntField_2.cpp | 49 - .../src/JNI/AccessingFields/GetIntField_3.cpp | 49 - .../src/JNI/AccessingFields/GetIntField_4.cpp | 49 - .../src/JNI/AccessingFields/GetIntField_5.cpp | 54 - .../src/JNI/AccessingFields/GetIntField_6.cpp | 64 - .../src/JNI/AccessingFields/GetIntField_7.cpp | 54 - .../JNI/AccessingFields/GetLongField_1.cpp | 49 - .../JNI/AccessingFields/GetLongField_2.cpp | 49 - .../JNI/AccessingFields/GetLongField_3.cpp | 49 - .../JNI/AccessingFields/GetLongField_4.cpp | 49 - .../JNI/AccessingFields/GetLongField_5.cpp | 54 - .../JNI/AccessingFields/GetLongField_6.cpp | 54 - .../JNI/AccessingFields/GetObjectField_1.cpp | 49 - .../JNI/AccessingFields/GetObjectField_2.cpp | 49 - .../JNI/AccessingFields/GetObjectField_3.cpp | 49 - .../JNI/AccessingFields/GetObjectField_4.cpp | 49 - .../JNI/AccessingFields/GetObjectField_5.cpp | 55 - .../JNI/AccessingFields/GetShortField_1.cpp | 49 - .../JNI/AccessingFields/GetShortField_2.cpp | 49 - .../JNI/AccessingFields/GetShortField_3.cpp | 49 - .../JNI/AccessingFields/GetShortField_4.cpp | 49 - .../JNI/AccessingFields/GetShortField_5.cpp | 54 - .../JNI/AccessingFields/GetShortField_6.cpp | 54 - .../tests/src/JNI/AccessingFields/Makefile | 291 - .../JNI/AccessingFields/SetBooleanField_1.cpp | 54 - .../JNI/AccessingFields/SetBooleanField_2.cpp | 54 - .../JNI/AccessingFields/SetBooleanField_3.cpp | 54 - .../JNI/AccessingFields/SetBooleanField_4.cpp | 54 - .../JNI/AccessingFields/SetBooleanField_5.cpp | 54 - .../JNI/AccessingFields/SetBooleanField_6.cpp | 54 - .../JNI/AccessingFields/SetBooleanField_7.cpp | 54 - .../JNI/AccessingFields/SetByteField_1.cpp | 54 - .../JNI/AccessingFields/SetByteField_2.cpp | 54 - .../JNI/AccessingFields/SetByteField_3.cpp | 54 - .../JNI/AccessingFields/SetByteField_4.cpp | 54 - .../JNI/AccessingFields/SetByteField_5.cpp | 54 - .../JNI/AccessingFields/SetByteField_6.cpp | 54 - .../JNI/AccessingFields/SetCharField_1.cpp | 54 - .../JNI/AccessingFields/SetCharField_2.cpp | 51 - .../JNI/AccessingFields/SetCharField_3.cpp | 51 - .../JNI/AccessingFields/SetCharField_4.cpp | 54 - .../JNI/AccessingFields/SetCharField_5.cpp | 54 - .../JNI/AccessingFields/SetCharField_6.cpp | 53 - .../JNI/AccessingFields/SetDoubleField_1.cpp | 54 - .../JNI/AccessingFields/SetDoubleField_2.cpp | 54 - .../JNI/AccessingFields/SetDoubleField_3.cpp | 54 - .../JNI/AccessingFields/SetDoubleField_4.cpp | 53 - .../JNI/AccessingFields/SetDoubleField_5.cpp | 54 - .../JNI/AccessingFields/SetDoubleField_6.cpp | 54 - .../JNI/AccessingFields/SetFloatField_1.cpp | 54 - .../JNI/AccessingFields/SetFloatField_2.cpp | 54 - .../JNI/AccessingFields/SetFloatField_3.cpp | 54 - .../JNI/AccessingFields/SetFloatField_4.cpp | 54 - .../JNI/AccessingFields/SetFloatField_5.cpp | 54 - .../src/JNI/AccessingFields/SetIntField_1.cpp | 54 - .../src/JNI/AccessingFields/SetIntField_2.cpp | 54 - .../src/JNI/AccessingFields/SetIntField_3.cpp | 54 - .../src/JNI/AccessingFields/SetIntField_4.cpp | 54 - .../src/JNI/AccessingFields/SetIntField_5.cpp | 54 - .../JNI/AccessingFields/SetLongField_1.cpp | 54 - .../JNI/AccessingFields/SetLongField_2.cpp | 54 - .../JNI/AccessingFields/SetLongField_3.cpp | 54 - .../JNI/AccessingFields/SetLongField_4.cpp | 54 - .../JNI/AccessingFields/SetLongField_5.cpp | 54 - .../JNI/AccessingFields/SetObjectField_1.cpp | 65 - .../JNI/AccessingFields/SetObjectField_2.cpp | 65 - .../JNI/AccessingFields/SetObjectField_3.cpp | 65 - .../JNI/AccessingFields/SetObjectField_4.cpp | 65 - .../JNI/AccessingFields/SetObjectField_5.cpp | 61 - .../JNI/AccessingFields/SetShortField_1.cpp | 54 - .../JNI/AccessingFields/SetShortField_2.cpp | 53 - .../JNI/AccessingFields/SetShortField_3.cpp | 54 - .../JNI/AccessingFields/SetShortField_4.cpp | 54 - .../JNI/AccessingFields/SetShortField_5.cpp | 54 - .../src/JNI/AccessingFields/makefile.win | 294 - .../AccessingStaticFields.h | 63 - .../GetStaticBooleanField_1.cpp | 50 - .../GetStaticBooleanField_2.cpp | 50 - .../GetStaticBooleanField_3.cpp | 50 - .../GetStaticBooleanField_4.cpp | 50 - .../GetStaticBooleanField_5.cpp | 54 - .../GetStaticBooleanField_6.cpp | 54 - .../GetStaticByteField_1.cpp | 50 - .../GetStaticByteField_2.cpp | 50 - .../GetStaticByteField_3.cpp | 50 - .../GetStaticByteField_4.cpp | 50 - .../GetStaticByteField_5.cpp | 54 - .../GetStaticByteField_6.cpp | 54 - .../GetStaticCharField_1.cpp | 50 - .../GetStaticCharField_2.cpp | 50 - .../GetStaticCharField_3.cpp | 50 - .../GetStaticCharField_4.cpp | 50 - .../GetStaticCharField_5.cpp | 53 - .../GetStaticDoubleField_1.cpp | 50 - .../GetStaticDoubleField_2.cpp | 50 - .../GetStaticDoubleField_3.cpp | 50 - .../GetStaticDoubleField_4.cpp | 50 - .../GetStaticDoubleField_5.cpp | 52 - .../GetStaticFieldID_1.cpp | 51 - .../GetStaticFieldID_10.cpp | 53 - .../GetStaticFieldID_11.cpp | 53 - .../GetStaticFieldID_12.cpp | 53 - .../GetStaticFieldID_13.cpp | 53 - .../GetStaticFieldID_14.cpp | 55 - .../GetStaticFieldID_15.cpp | 64 - .../GetStaticFieldID_16.cpp | 52 - .../GetStaticFieldID_17.cpp | 58 - .../GetStaticFieldID_18.cpp | 52 - .../GetStaticFieldID_19.cpp | 51 - .../GetStaticFieldID_2.cpp | 52 - .../GetStaticFieldID_20.cpp | 52 - .../GetStaticFieldID_3.cpp | 51 - .../GetStaticFieldID_4.cpp | 51 - .../GetStaticFieldID_5.cpp | 52 - .../GetStaticFieldID_6.cpp | 52 - .../GetStaticFieldID_7.cpp | 52 - .../GetStaticFieldID_8.cpp | 53 - .../GetStaticFieldID_9.cpp | 53 - .../GetStaticFloatField_1.cpp | 50 - .../GetStaticFloatField_2.cpp | 50 - .../GetStaticFloatField_3.cpp | 50 - .../GetStaticFloatField_4.cpp | 50 - .../GetStaticFloatField_5.cpp | 55 - .../GetStaticFloatField_6.cpp | 55 - .../GetStaticIntField_1.cpp | 50 - .../GetStaticIntField_2.cpp | 50 - .../GetStaticIntField_3.cpp | 50 - .../GetStaticIntField_4.cpp | 50 - .../GetStaticIntField_5.cpp | 55 - .../GetStaticIntField_6.cpp | 55 - .../GetStaticLongField_1.cpp | 50 - .../GetStaticLongField_2.cpp | 50 - .../GetStaticLongField_3.cpp | 50 - .../GetStaticLongField_4.cpp | 50 - .../GetStaticLongField_5.cpp | 55 - .../GetStaticLongField_6.cpp | 55 - .../GetStaticObjectField_1.cpp | 57 - .../GetStaticObjectField_2.cpp | 57 - .../GetStaticObjectField_3.cpp | 57 - .../GetStaticObjectField_4.cpp | 57 - .../GetStaticObjectField_5.cpp | 62 - .../GetStaticShortField_1.cpp | 50 - .../GetStaticShortField_2.cpp | 50 - .../GetStaticShortField_3.cpp | 50 - .../GetStaticShortField_4.cpp | 50 - .../GetStaticShortField_5.cpp | 55 - .../GetStaticShortField_6.cpp | 55 - .../src/JNI/AccessingStaticFields/Makefile | 286 - .../JNI/AccessingStaticFields/Makefile.win | 288 - .../SetStaticBooleanField_1.cpp | 50 - .../SetStaticBooleanField_2.cpp | 50 - .../SetStaticBooleanField_3.cpp | 50 - .../SetStaticBooleanField_4.cpp | 50 - .../SetStaticBooleanField_5.cpp | 52 - .../SetStaticBooleanField_6.cpp | 53 - .../SetStaticByteField_1.cpp | 50 - .../SetStaticByteField_2.cpp | 50 - .../SetStaticByteField_3.cpp | 50 - .../SetStaticByteField_4.cpp | 50 - .../SetStaticByteField_5.cpp | 52 - .../SetStaticByteField_6.cpp | 53 - .../SetStaticCharField_1.cpp | 50 - .../SetStaticCharField_2.cpp | 50 - .../SetStaticCharField_3.cpp | 50 - .../SetStaticCharField_4.cpp | 50 - .../SetStaticCharField_5.cpp | 52 - .../SetStaticCharField_6.cpp | 53 - .../SetStaticDoubleField_1.cpp | 50 - .../SetStaticDoubleField_2.cpp | 50 - .../SetStaticDoubleField_3.cpp | 50 - .../SetStaticDoubleField_4.cpp | 50 - .../SetStaticDoubleField_5.cpp | 53 - .../SetStaticDoubleField_6.cpp | 53 - .../SetStaticFloatField_1.cpp | 50 - .../SetStaticFloatField_2.cpp | 50 - .../SetStaticFloatField_3.cpp | 50 - .../SetStaticFloatField_4.cpp | 50 - .../SetStaticFloatField_5.cpp | 53 - .../SetStaticIntField_1.cpp | 50 - .../SetStaticIntField_2.cpp | 50 - .../SetStaticIntField_3.cpp | 50 - .../SetStaticIntField_4.cpp | 50 - .../SetStaticIntField_5.cpp | 53 - .../SetStaticLongField_1.cpp | 50 - .../SetStaticLongField_2.cpp | 50 - .../SetStaticLongField_3.cpp | 50 - .../SetStaticLongField_4.cpp | 50 - .../SetStaticLongField_5.cpp | 53 - .../SetStaticObjectField_1.cpp | 63 - .../SetStaticObjectField_2.cpp | 63 - .../SetStaticObjectField_3.cpp | 63 - .../SetStaticObjectField_4.cpp | 63 - .../SetStaticObjectField_5.cpp | 63 - .../SetStaticShortField_1.cpp | 50 - .../SetStaticShortField_2.cpp | 50 - .../SetStaticShortField_3.cpp | 50 - .../SetStaticShortField_4.cpp | 50 - .../SetStaticShortField_5.cpp | 53 - .../src/JNI/ArrayOperations/ArrayOperations.h | 36 - .../JNI/ArrayOperations/GetArrayLength_1.cpp | 56 - .../JNI/ArrayOperations/GetArrayLength_2.cpp | 55 - .../JNI/ArrayOperations/GetArrayLength_3.cpp | 56 - .../GetBooleanArrayElements_1.cpp | 55 - .../GetBooleanArrayElements_2.cpp | 65 - .../GetBooleanArrayElements_3.cpp | 65 - .../GetBooleanArrayRegion_1.cpp | 61 - .../GetByteArrayElements_1.cpp | 55 - .../GetByteArrayElements_2.cpp | 65 - .../GetByteArrayElements_3.cpp | 65 - .../ArrayOperations/GetByteArrayRegion_1.cpp | 61 - .../GetCharArrayElements_1.cpp | 55 - .../GetCharArrayElements_2.cpp | 65 - .../GetCharArrayElements_3.cpp | 65 - .../ArrayOperations/GetCharArrayRegion_1.cpp | 61 - .../GetDoubleArrayElements_1.cpp | 55 - .../GetDoubleArrayElements_2.cpp | 65 - .../GetDoubleArrayElements_3.cpp | 65 - .../GetDoubleArrayRegion_1.cpp | 61 - .../GetFloatArrayElements_1.cpp | 55 - .../GetFloatArrayElements_2.cpp | 65 - .../GetFloatArrayElements_3.cpp | 65 - .../ArrayOperations/GetFloatArrayRegion_1.cpp | 61 - .../ArrayOperations/GetIntArrayElements_1.cpp | 55 - .../ArrayOperations/GetIntArrayElements_2.cpp | 65 - .../ArrayOperations/GetIntArrayElements_3.cpp | 65 - .../ArrayOperations/GetIntArrayRegion_1.cpp | 61 - .../ArrayOperations/GetIntArrayRegion_2.cpp | 57 - .../ArrayOperations/GetIntArrayRegion_3.cpp | 61 - .../ArrayOperations/GetIntArrayRegion_4.cpp | 63 - .../GetLongArrayElements_1.cpp | 55 - .../GetLongArrayElements_2.cpp | 65 - .../GetLongArrayElements_3.cpp | 65 - .../ArrayOperations/GetLongArrayRegion_1.cpp | 61 - .../GetObjectArrayElement_1.cpp | 58 - .../GetObjectArrayElement_2.cpp | 54 - .../GetObjectArrayElement_3.cpp | 54 - .../GetObjectArrayElement_4.cpp | 59 - .../GetObjectArrayElement_5.cpp | 59 - .../GetShortArrayElements_1.cpp | 55 - .../GetShortArrayElements_2.cpp | 65 - .../GetShortArrayElements_3.cpp | 65 - .../ArrayOperations/GetShortArrayRegion_1.cpp | 61 - .../tests/src/JNI/ArrayOperations/Makefile | 271 - .../src/JNI/ArrayOperations/Makefile.win | 275 - .../JNI/ArrayOperations/NewBooleanArray_1.cpp | 54 - .../JNI/ArrayOperations/NewBooleanArray_2.cpp | 53 - .../JNI/ArrayOperations/NewBooleanArray_3.cpp | 54 - .../JNI/ArrayOperations/NewByteArray_1.cpp | 54 - .../JNI/ArrayOperations/NewByteArray_2.cpp | 53 - .../JNI/ArrayOperations/NewByteArray_3.cpp | 54 - .../JNI/ArrayOperations/NewCharArray_1.cpp | 54 - .../JNI/ArrayOperations/NewCharArray_2.cpp | 53 - .../JNI/ArrayOperations/NewCharArray_3.cpp | 54 - .../JNI/ArrayOperations/NewDoubleArray_1.cpp | 54 - .../JNI/ArrayOperations/NewDoubleArray_2.cpp | 53 - .../JNI/ArrayOperations/NewDoubleArray_3.cpp | 54 - .../JNI/ArrayOperations/NewFloatArray_1.cpp | 54 - .../JNI/ArrayOperations/NewFloatArray_2.cpp | 53 - .../JNI/ArrayOperations/NewFloatArray_3.cpp | 54 - .../src/JNI/ArrayOperations/NewIntArray_1.cpp | 54 - .../src/JNI/ArrayOperations/NewIntArray_2.cpp | 53 - .../src/JNI/ArrayOperations/NewIntArray_3.cpp | 54 - .../JNI/ArrayOperations/NewLongArray_1.cpp | 54 - .../JNI/ArrayOperations/NewLongArray_2.cpp | 53 - .../JNI/ArrayOperations/NewLongArray_3.cpp | 54 - .../JNI/ArrayOperations/NewObjectArray_1.cpp | 56 - .../JNI/ArrayOperations/NewObjectArray_2.cpp | 56 - .../JNI/ArrayOperations/NewObjectArray_3.cpp | 64 - .../JNI/ArrayOperations/NewObjectArray_4.cpp | 59 - .../JNI/ArrayOperations/NewObjectArray_5.cpp | 57 - .../JNI/ArrayOperations/NewObjectArray_6.cpp | 54 - .../JNI/ArrayOperations/NewShortArray_1.cpp | 54 - .../JNI/ArrayOperations/NewShortArray_2.cpp | 53 - .../JNI/ArrayOperations/NewShortArray_3.cpp | 54 - .../ReleaseBoolArrayElems_1.cpp | 70 - .../ReleaseBoolArrayElems_2.cpp | 70 - .../ReleaseBoolArrayElems_3.cpp | 71 - .../ReleaseByteArrayElements_1.cpp | 70 - .../ReleaseByteArrayElements_2.cpp | 70 - .../ReleaseByteArrayElements_3.cpp | 71 - .../ReleaseCharArrayElements_1.cpp | 70 - .../ReleaseCharArrayElements_2.cpp | 70 - .../ReleaseCharArrayElements_3.cpp | 71 - .../ReleaseDblArrayElems_1.cpp | 70 - .../ReleaseDblArrayElems_2.cpp | 70 - .../ReleaseDblArrayElems_3.cpp | 71 - .../ReleaseFloatArrayElements_1.cpp | 70 - .../ReleaseFloatArrayElements_2.cpp | 70 - .../ReleaseFloatArrayElements_3.cpp | 71 - .../ReleaseIntArrayElements_1.cpp | 70 - .../ReleaseIntArrayElements_2.cpp | 70 - .../ReleaseIntArrayElements_3.cpp | 71 - .../ReleaseLongArrayElements_1.cpp | 70 - .../ReleaseLongArrayElements_2.cpp | 70 - .../ReleaseLongArrayElements_3.cpp | 71 - .../ReleaseShortArrayElements_1.cpp | 70 - .../ReleaseShortArrayElements_2.cpp | 70 - .../ReleaseShortArrayElements_3.cpp | 71 - .../SetBooleanArrayRegion_1.cpp | 65 - .../ArrayOperations/SetByteArrayRegion_1.cpp | 65 - .../ArrayOperations/SetCharArrayRegion_1.cpp | 65 - .../SetDoubleArrayRegion_1.cpp | 65 - .../ArrayOperations/SetFloatArrayRegion_1.cpp | 65 - .../ArrayOperations/SetIntArrayRegion_1.cpp | 64 - .../ArrayOperations/SetIntArrayRegion_2.cpp | 64 - .../ArrayOperations/SetIntArrayRegion_3.cpp | 64 - .../ArrayOperations/SetIntArrayRegion_4.cpp | 60 - .../ArrayOperations/SetLongArrayRegion_1.cpp | 65 - .../SetObjectArrayElement_1.cpp | 61 - .../SetObjectArrayElement_2.cpp | 60 - .../SetObjectArrayElement_3.cpp | 61 - .../SetObjectArrayElement_4.cpp | 61 - .../SetObjectArrayElement_5.cpp | 63 - .../ArrayOperations/SetShortArrayRegion_1.cpp | 65 - .../CallBooleanMethod_1.cpp | 66 - .../CallBooleanMethod_2.cpp | 66 - .../CallBooleanMethod_3.cpp | 53 - .../CallBooleanMethod_4.cpp | 53 - .../CallByteMethod_1.cpp | 66 - .../CallByteMethod_2.cpp | 66 - .../CallByteMethod_3.cpp | 53 - .../CallByteMethod_4.cpp | 53 - .../CallCharMethod_1.cpp | 66 - .../CallCharMethod_2.cpp | 66 - .../CallCharMethod_3.cpp | 53 - .../CallCharMethod_4.cpp | 53 - .../CallDoubleMethod_1.cpp | 66 - .../CallDoubleMethod_2.cpp | 66 - .../CallDoubleMethod_3.cpp | 53 - .../CallDoubleMethod_4.cpp | 53 - .../CallFloatMethod_1.cpp | 66 - .../CallFloatMethod_2.cpp | 66 - .../CallFloatMethod_3.cpp | 53 - .../CallFloatMethod_4.cpp | 53 - .../CallIntMethod_1.cpp | 55 - .../CallIntMethod_10.cpp | 65 - .../CallIntMethod_11.cpp | 65 - .../CallIntMethod_12.cpp | 77 - .../CallIntMethod_13.cpp | 57 - .../CallIntMethod_14.cpp | 58 - .../CallIntMethod_15.cpp | 57 - .../CallIntMethod_16.cpp | 53 - .../CallIntMethod_17.cpp | 53 - .../CallIntMethod_18.cpp | 66 - .../CallIntMethod_19.cpp | 66 - .../CallIntMethod_2.cpp | 65 - .../CallIntMethod_3.cpp | 76 - .../CallIntMethod_4.cpp | 76 - .../CallIntMethod_5.cpp | 76 - .../CallIntMethod_6.cpp | 65 - .../CallIntMethod_7.cpp | 76 - .../CallIntMethod_8.cpp | 76 - .../CallIntMethod_9.cpp | 76 - .../CallLongMethod_1.cpp | 66 - .../CallLongMethod_2.cpp | 66 - .../CallLongMethod_3.cpp | 53 - .../CallLongMethod_4.cpp | 53 - .../CallNVBooleanMethod_1.cpp | 66 - .../CallNVBooleanMethod_2.cpp | 66 - .../CallNVBooleanMethod_3.cpp | 53 - .../CallNVBooleanMethod_4.cpp | 53 - .../CallNVDoubleMethod_1.cpp | 66 - .../CallNVDoubleMethod_2.cpp | 66 - .../CallNVDoubleMethod_3.cpp | 53 - .../CallNVDoubleMethod_4.cpp | 53 - .../CallNVObjectMethod_1.cpp | 66 - .../CallNVObjectMethod_2.cpp | 66 - .../CallNVObjectMethod_3.cpp | 55 - .../CallNVObjectMethod_4.cpp | 55 - .../CallNVObjectMethod_5.cpp | 75 - .../CallNVObjectMethod_6.cpp | 72 - .../CallNVObjectMethod_7.cpp | 71 - .../CallNonvirtualByteMethod_1.cpp | 66 - .../CallNonvirtualByteMethod_2.cpp | 66 - .../CallNonvirtualByteMethod_3.cpp | 53 - .../CallNonvirtualByteMethod_4.cpp | 53 - .../CallNonvirtualCharMethod_1.cpp | 66 - .../CallNonvirtualCharMethod_2.cpp | 66 - .../CallNonvirtualCharMethod_3.cpp | 53 - .../CallNonvirtualCharMethod_4.cpp | 53 - .../CallNonvirtualFloatMethod_1.cpp | 66 - .../CallNonvirtualFloatMethod_2.cpp | 66 - .../CallNonvirtualFloatMethod_3.cpp | 53 - .../CallNonvirtualFloatMethod_4.cpp | 53 - .../CallNonvirtualIntMethod_1.cpp | 57 - .../CallNonvirtualIntMethod_10.cpp | 76 - .../CallNonvirtualIntMethod_11.cpp | 65 - .../CallNonvirtualIntMethod_12.cpp | 76 - .../CallNonvirtualIntMethod_13.cpp | 76 - .../CallNonvirtualIntMethod_14.cpp | 76 - .../CallNonvirtualIntMethod_15.cpp | 65 - .../CallNonvirtualIntMethod_16.cpp | 65 - .../CallNonvirtualIntMethod_17.cpp | 74 - .../CallNonvirtualIntMethod_18.cpp | 66 - .../CallNonvirtualIntMethod_19.cpp | 66 - .../CallNonvirtualIntMethod_2.cpp | 58 - .../CallNonvirtualIntMethod_20.cpp | 74 - .../CallNonvirtualIntMethod_21.cpp | 65 - .../CallNonvirtualIntMethod_22.cpp | 65 - .../CallNonvirtualIntMethod_23.cpp | 76 - .../CallNonvirtualIntMethod_24.cpp | 76 - .../CallNonvirtualIntMethod_25.cpp | 76 - .../CallNonvirtualIntMethod_26.cpp | 65 - .../CallNonvirtualIntMethod_27.cpp | 76 - .../CallNonvirtualIntMethod_28.cpp | 76 - .../CallNonvirtualIntMethod_29.cpp | 76 - .../CallNonvirtualIntMethod_30.cpp | 65 - .../CallNonvirtualIntMethod_31.cpp | 53 - .../CallNonvirtualIntMethod_32.cpp | 53 - .../CallNonvirtualIntMethod_33.cpp | 66 - .../CallNonvirtualIntMethod_34.cpp | 66 - .../CallNonvirtualIntMethod_4.cpp | 55 - .../CallNonvirtualIntMethod_5.cpp | 57 - .../CallNonvirtualIntMethod_7.cpp | 65 - .../CallNonvirtualIntMethod_8.cpp | 76 - .../CallNonvirtualIntMethod_9.cpp | 76 - .../CallNonvirtualLongMethod_1.cpp | 66 - .../CallNonvirtualLongMethod_2.cpp | 66 - .../CallNonvirtualLongMethod_3.cpp | 53 - .../CallNonvirtualLongMethod_4.cpp | 53 - .../CallNonvirtualShortMethod_1.cpp | 66 - .../CallNonvirtualShortMethod_2.cpp | 66 - .../CallNonvirtualShortMethod_3.cpp | 53 - .../CallNonvirtualShortMethod_4.cpp | 53 - .../CallNonvirtualVoidMethod_1.cpp | 62 - .../CallNonvirtualVoidMethod_2.cpp | 49 - .../CallObjectMethod_1.cpp | 66 - .../CallObjectMethod_2.cpp | 66 - .../CallObjectMethod_3.cpp | 55 - .../CallObjectMethod_4.cpp | 55 - .../CallObjectMethod_5.cpp | 75 - .../CallObjectMethod_6.cpp | 72 - .../CallObjectMethod_7.cpp | 71 - .../CallShortMethod_1.cpp | 66 - .../CallShortMethod_2.cpp | 66 - .../CallShortMethod_3.cpp | 53 - .../CallShortMethod_4.cpp | 53 - .../CallVoidMethod_1.cpp | 62 - .../CallVoidMethod_2.cpp | 49 - .../CallingInstanceMethods.h | 72 - .../CallingInstanceMethods/GetMethodID_1.cpp | 54 - .../CallingInstanceMethods/GetMethodID_10.cpp | 64 - .../CallingInstanceMethods/GetMethodID_11.cpp | 53 - .../CallingInstanceMethods/GetMethodID_12.cpp | 54 - .../CallingInstanceMethods/GetMethodID_13.cpp | 54 - .../CallingInstanceMethods/GetMethodID_14.cpp | 72 - .../CallingInstanceMethods/GetMethodID_15.cpp | 50 - .../CallingInstanceMethods/GetMethodID_16.cpp | 55 - .../CallingInstanceMethods/GetMethodID_17.cpp | 54 - .../CallingInstanceMethods/GetMethodID_18.cpp | 54 - .../CallingInstanceMethods/GetMethodID_19.cpp | 55 - .../CallingInstanceMethods/GetMethodID_2.cpp | 52 - .../CallingInstanceMethods/GetMethodID_20.cpp | 54 - .../CallingInstanceMethods/GetMethodID_21.cpp | 54 - .../CallingInstanceMethods/GetMethodID_22.cpp | 54 - .../CallingInstanceMethods/GetMethodID_23.cpp | 54 - .../CallingInstanceMethods/GetMethodID_24.cpp | 54 - .../CallingInstanceMethods/GetMethodID_25.cpp | 66 - .../CallingInstanceMethods/GetMethodID_26.cpp | 67 - .../CallingInstanceMethods/GetMethodID_27.cpp | 55 - .../CallingInstanceMethods/GetMethodID_28.cpp | 52 - .../CallingInstanceMethods/GetMethodID_29.cpp | 52 - .../CallingInstanceMethods/GetMethodID_3.cpp | 53 - .../CallingInstanceMethods/GetMethodID_30.cpp | 52 - .../CallingInstanceMethods/GetMethodID_31.cpp | 52 - .../CallingInstanceMethods/GetMethodID_32.cpp | 66 - .../CallingInstanceMethods/GetMethodID_33.cpp | 65 - .../CallingInstanceMethods/GetMethodID_34.cpp | 66 - .../CallingInstanceMethods/GetMethodID_35.cpp | 66 - .../CallingInstanceMethods/GetMethodID_36.cpp | 66 - .../CallingInstanceMethods/GetMethodID_37.cpp | 65 - .../CallingInstanceMethods/GetMethodID_38.cpp | 67 - .../CallingInstanceMethods/GetMethodID_39.cpp | 53 - .../CallingInstanceMethods/GetMethodID_4.cpp | 53 - .../CallingInstanceMethods/GetMethodID_5.cpp | 60 - .../CallingInstanceMethods/GetMethodID_6.cpp | 52 - .../CallingInstanceMethods/GetMethodID_7.cpp | 63 - .../CallingInstanceMethods/GetMethodID_8.cpp | 64 - .../CallingInstanceMethods/GetMethodID_9.cpp | 64 - .../src/JNI/CallingInstanceMethods/Makefile | 373 - .../JNI/CallingInstanceMethods/Makefile.win | 380 - .../CallStaticBooleanMethod_1.cpp | 66 - .../CallStaticBooleanMethod_2.cpp | 66 - .../CallStaticBooleanMethod_3.cpp | 53 - .../CallStaticBooleanMethod_4.cpp | 72 - .../CallStaticByteMethod_1.cpp | 66 - .../CallStaticByteMethod_2.cpp | 66 - .../CallStaticByteMethod_3.cpp | 53 - .../CallStaticByteMethod_4.cpp | 53 - .../CallStaticCharMethod_1.cpp | 66 - .../CallStaticCharMethod_2.cpp | 66 - .../CallStaticCharMethod_3.cpp | 53 - .../CallStaticCharMethod_4.cpp | 53 - .../CallStaticDoubleMethod_1.cpp | 66 - .../CallStaticDoubleMethod_2.cpp | 66 - .../CallStaticDoubleMethod_3.cpp | 53 - .../CallStaticDoubleMethod_4.cpp | 53 - .../CallStaticFloatMethod_1.cpp | 66 - .../CallStaticFloatMethod_2.cpp | 66 - .../CallStaticFloatMethod_3.cpp | 53 - .../CallStaticFloatMethod_4.cpp | 53 - .../CallStaticIntMethod_1.cpp | 55 - .../CallStaticIntMethod_10.cpp | 76 - .../CallStaticIntMethod_11.cpp | 65 - .../CallStaticIntMethod_12.cpp | 76 - .../CallStaticIntMethod_13.cpp | 76 - .../CallStaticIntMethod_14.cpp | 76 - .../CallStaticIntMethod_15.cpp | 65 - .../CallStaticIntMethod_16.cpp | 65 - .../CallStaticIntMethod_17.cpp | 77 - .../CallStaticIntMethod_18.cpp | 66 - .../CallStaticIntMethod_19.cpp | 66 - .../CallStaticIntMethod_2.cpp | 58 - .../CallStaticIntMethod_20.cpp | 53 - .../CallStaticIntMethod_21.cpp | 53 - .../CallStaticIntMethod_4.cpp | 56 - .../CallStaticIntMethod_5.cpp | 58 - .../CallStaticIntMethod_7.cpp | 65 - .../CallStaticIntMethod_8.cpp | 76 - .../CallStaticIntMethod_9.cpp | 76 - .../CallStaticLongMethod_1.cpp | 66 - .../CallStaticLongMethod_2.cpp | 66 - .../CallStaticLongMethod_3.cpp | 53 - .../CallStaticLongMethod_4.cpp | 53 - .../CallStaticObjectMethod_1.cpp | 66 - .../CallStaticObjectMethod_2.cpp | 66 - .../CallStaticObjectMethod_3.cpp | 55 - .../CallStaticObjectMethod_4.cpp | 55 - .../CallStaticObjectMethod_5.cpp | 75 - .../CallStaticObjectMethod_6.cpp | 72 - .../CallStaticObjectMethod_7.cpp | 71 - .../CallStaticShortMethod_1.cpp | 66 - .../CallStaticShortMethod_2.cpp | 66 - .../CallStaticShortMethod_3.cpp | 53 - .../CallStaticShortMethod_4.cpp | 53 - .../CallStaticVoidMethod_1.cpp | 62 - .../CallStaticVoidMethod_2.cpp | 49 - .../CallingStaticMethods.h | 72 - .../GetStaticMethodID_1.cpp | 54 - .../GetStaticMethodID_10.cpp | 64 - .../GetStaticMethodID_11.cpp | 54 - .../GetStaticMethodID_12.cpp | 53 - .../GetStaticMethodID_13.cpp | 54 - .../GetStaticMethodID_14.cpp | 54 - .../GetStaticMethodID_15.cpp | 71 - .../GetStaticMethodID_16.cpp | 64 - .../GetStaticMethodID_17.cpp | 64 - .../GetStaticMethodID_18.cpp | 64 - .../GetStaticMethodID_19.cpp | 53 - .../GetStaticMethodID_2.cpp | 52 - .../GetStaticMethodID_20.cpp | 64 - .../GetStaticMethodID_21.cpp | 64 - .../GetStaticMethodID_22.cpp | 64 - .../GetStaticMethodID_3.cpp | 53 - .../GetStaticMethodID_4.cpp | 53 - .../GetStaticMethodID_5.cpp | 52 - .../GetStaticMethodID_6.cpp | 52 - .../GetStaticMethodID_7.cpp | 65 - .../GetStaticMethodID_8.cpp | 64 - .../GetStaticMethodID_9.cpp | 64 - .../src/JNI/CallingStaticMethods/Makefile | 201 - .../src/JNI/CallingStaticMethods/Makefile.win | 204 - .../src/JNI/ClassOperation/ClassOperation.h | 57 - .../src/JNI/ClassOperation/FindClass_1.cpp | 51 - .../src/JNI/ClassOperation/FindClass_2.cpp | 51 - .../src/JNI/ClassOperation/FindClass_3.cpp | 51 - .../src/JNI/ClassOperation/FindClass_4.cpp | 51 - .../src/JNI/ClassOperation/FindClass_5.cpp | 51 - .../src/JNI/ClassOperation/FindClass_6.cpp | 51 - .../src/JNI/ClassOperation/FindClass_7.cpp | 51 - .../src/JNI/ClassOperation/FindClass_8.cpp | 51 - .../JNI/ClassOperation/GetSuperclass_1.cpp | 52 - .../JNI/ClassOperation/GetSuperclass_2.cpp | 54 - .../JNI/ClassOperation/GetSuperclass_3.cpp | 52 - .../JNI/ClassOperation/GetSuperclass_4.cpp | 54 - .../JNI/ClassOperation/IsAssignableFrom_1.cpp | 54 - .../JNI/ClassOperation/IsAssignableFrom_2.cpp | 55 - .../JNI/ClassOperation/IsAssignableFrom_3.cpp | 55 - .../JNI/ClassOperation/IsAssignableFrom_4.cpp | 55 - .../JNI/ClassOperation/IsAssignableFrom_5.cpp | 55 - .../oji/tests/src/JNI/ClassOperation/Makefile | 79 - .../tests/src/JNI/ClassOperation/Makefile.win | 83 - .../src/JNI/Exceptions/ExceptionClear_1.cpp | 58 - .../src/JNI/Exceptions/ExceptionClear_2.cpp | 49 - .../JNI/Exceptions/ExceptionDescribe_1.cpp | 49 - .../JNI/Exceptions/ExceptionDescribe_2.cpp | 49 - .../src/JNI/Exceptions/ExceptionOccured_1.cpp | 53 - .../src/JNI/Exceptions/ExceptionOccured_2.cpp | 53 - .../oji/tests/src/JNI/Exceptions/Exceptions.h | 36 - .../tests/src/JNI/Exceptions/FatalError_1.cpp | 46 - modules/oji/tests/src/JNI/Exceptions/Makefile | 73 - .../oji/tests/src/JNI/Exceptions/Makefile.win | 77 - .../tests/src/JNI/Exceptions/ThrowNew_1.cpp | 55 - .../tests/src/JNI/Exceptions/ThrowNew_2.cpp | 55 - .../tests/src/JNI/Exceptions/ThrowNew_3.cpp | 55 - .../tests/src/JNI/Exceptions/ThrowNew_4.cpp | 54 - .../tests/src/JNI/Exceptions/ThrowNew_5.cpp | 54 - .../oji/tests/src/JNI/Exceptions/Throw_1.cpp | 54 - .../oji/tests/src/JNI/Exceptions/Throw_2.cpp | 54 - .../GlobalAndLocalRefs/DeleteGlobalRef_1.cpp | 52 - .../GlobalAndLocalRefs/DeleteGlobalRef_2.cpp | 51 - .../GlobalAndLocalRefs/DeleteLocalRef_1.cpp | 49 - .../GlobalAndLocalRefs/DeleteLocalRef_2.cpp | 51 - .../GlobalAndLocalRefs/GlobalAndLocalRefs.h | 36 - .../tests/src/JNI/GlobalAndLocalRefs/Makefile | 57 - .../src/JNI/GlobalAndLocalRefs/Makefile.win | 60 - .../JNI/GlobalAndLocalRefs/NewGlobalRef_1.cpp | 54 - .../JNI/GlobalAndLocalRefs/NewGlobalRef_2.cpp | 54 - .../src/JNI/JavaVMInterface/GetJavaVM_1.cpp | 53 - .../src/JNI/JavaVMInterface/GetJavaVM_2.cpp | 53 - .../src/JNI/JavaVMInterface/JavaVMInterface.h | 36 - .../tests/src/JNI/JavaVMInterface/Makefile | 49 - .../src/JNI/JavaVMInterface/Makefile.win | 53 - modules/oji/tests/src/JNI/Makefile | 92 - modules/oji/tests/src/JNI/Makefile.win | 111 - .../JNI/ObjectOperations/AllocObject_1.cpp | 52 - .../JNI/ObjectOperations/AllocObject_2.cpp | 52 - .../JNI/ObjectOperations/AllocObject_3.cpp | 52 - .../JNI/ObjectOperations/AllocObject_4.cpp | 51 - .../JNI/ObjectOperations/GetObjectClass_1.cpp | 56 - .../JNI/ObjectOperations/GetObjectClass_2.cpp | 56 - .../JNI/ObjectOperations/IsInstanceOf_1.cpp | 57 - .../JNI/ObjectOperations/IsInstanceOf_2.cpp | 57 - .../JNI/ObjectOperations/IsInstanceOf_3.cpp | 58 - .../JNI/ObjectOperations/IsInstanceOf_4.cpp | 58 - .../JNI/ObjectOperations/IsInstanceOf_5.cpp | 58 - .../JNI/ObjectOperations/IsSameObject_1.cpp | 56 - .../JNI/ObjectOperations/IsSameObject_2.cpp | 57 - .../JNI/ObjectOperations/IsSameObject_3.cpp | 57 - .../JNI/ObjectOperations/IsSameObject_4.cpp | 57 - .../tests/src/JNI/ObjectOperations/Makefile | 111 - .../src/JNI/ObjectOperations/Makefile.win | 115 - .../src/JNI/ObjectOperations/NewObjectA_1.cpp | 56 - .../src/JNI/ObjectOperations/NewObjectA_2.cpp | 58 - .../src/JNI/ObjectOperations/NewObjectA_3.cpp | 60 - .../src/JNI/ObjectOperations/NewObjectA_4.cpp | 58 - .../src/JNI/ObjectOperations/NewObjectA_5.cpp | 58 - .../src/JNI/ObjectOperations/NewObjectA_6.cpp | 57 - .../src/JNI/ObjectOperations/NewObjectA_7.cpp | 57 - .../src/JNI/ObjectOperations/NewObjectA_8.cpp | 57 - .../src/JNI/ObjectOperations/NewObjectA_9.cpp | 57 - .../src/JNI/ObjectOperations/NewObject_1.cpp | 55 - .../src/JNI/ObjectOperations/NewObject_2.cpp | 56 - .../src/JNI/ObjectOperations/NewObject_3.cpp | 57 - .../src/JNI/ObjectOperations/NewObject_4.cpp | 56 - .../src/JNI/ObjectOperations/NewObject_5.cpp | 56 - .../src/JNI/ObjectOperations/NewObject_6.cpp | 56 - .../src/JNI/ObjectOperations/NewObject_7.cpp | 56 - .../src/JNI/ObjectOperations/NewObject_8.cpp | 56 - .../src/JNI/ObjectOperations/NewObject_9.cpp | 56 - .../JNI/ObjectOperations/ObjectOperations.h | 62 - .../JNI/StringOperations/GetStringChars_1.cpp | 55 - .../JNI/StringOperations/GetStringChars_2.cpp | 59 - .../JNI/StringOperations/GetStringChars_3.cpp | 58 - .../JNI/StringOperations/GetStringChars_4.cpp | 58 - .../StringOperations/GetStringLength_1.cpp | 53 - .../StringOperations/GetStringLength_2.cpp | 57 - .../StringOperations/GetStringLength_3.cpp | 58 - .../StringOperations/GetStringUTFChars_1.cpp | 55 - .../StringOperations/GetStringUTFChars_2.cpp | 56 - .../StringOperations/GetStringUTFChars_3.cpp | 56 - .../StringOperations/GetStringUTFChars_4.cpp | 56 - .../StringOperations/GetStringUTFLength_1.cpp | 54 - .../StringOperations/GetStringUTFLength_2.cpp | 54 - .../StringOperations/GetStringUTFLength_3.cpp | 54 - .../tests/src/JNI/StringOperations/Makefile | 93 - .../src/JNI/StringOperations/Makefile.win | 97 - .../JNI/StringOperations/NewStringUTF_1.cpp | 55 - .../JNI/StringOperations/NewStringUTF_2.cpp | 53 - .../JNI/StringOperations/NewStringUTF_3.cpp | 53 - .../src/JNI/StringOperations/NewString_1.cpp | 54 - .../src/JNI/StringOperations/NewString_2.cpp | 56 - .../src/JNI/StringOperations/NewString_3.cpp | 56 - .../StringOperations/ReleaseStringChars_1.cpp | 55 - .../StringOperations/ReleaseStringChars_2.cpp | 55 - .../ReleaseStringUTFChars_1.cpp | 55 - .../ReleaseStringUTFChars_2.cpp | 55 - .../JNI/StringOperations/StringOperations.h | 62 - .../JNI/VersionInformation/GetVersion_1.cpp | 48 - .../tests/src/JNI/VersionInformation/Makefile | 47 - .../src/JNI/VersionInformation/Makefile.win | 51 - modules/oji/tests/src/JNI/getjni/Makefile | 47 - modules/oji/tests/src/JNI/getjni/Makefile.win | 51 - modules/oji/tests/src/JNI/getjni/get_jni.cpp | 54 - .../oji/tests/src/JNI/include/JNIEnvTests.h | 80 - modules/oji/tests/src/JNI/include/Test1.h | 100 - modules/oji/tests/src/JNI/java/Test1.java | 505 -- modules/oji/tests/src/JNI/java/Test10.java | 47 - modules/oji/tests/src/JNI/java/Test11.java | 66 - modules/oji/tests/src/JNI/java/Test2.java | 151 - modules/oji/tests/src/JNI/java/Test3.java | 45 - modules/oji/tests/src/JNI/java/Test4.java | 71 - modules/oji/tests/src/JNI/java/Test5.java | 50 - modules/oji/tests/src/JNI/java/Test6.java | 50 - modules/oji/tests/src/JNI/java/Test7.java | 76 - modules/oji/tests/src/JNI/java/Test8.java | 45 - modules/oji/tests/src/JNI/java/Test9.java | 46 - modules/oji/tests/src/JNI/list | 696 -- modules/oji/tests/src/JNI/test_cases_JNI.html | 612 -- modules/oji/tests/src/Killer/kill.bat | 1 - modules/oji/tests/src/Killer/killer.cpp | 106 - modules/oji/tests/src/Killer/killer.cpp.win98 | 107 - .../tests/src/LCM/InitLiveConnectClasses.cpp | 48 - .../tests/src/LCM/IsLiveConnectEnabled.cpp | 59 - .../tests/src/LCM/LiveConnectManagerTests.h | 46 - modules/oji/tests/src/LCM/Makefile | 61 - modules/oji/tests/src/LCM/Makefile.win | 61 - .../oji/tests/src/LCM/ShutdownLiveConnect.cpp | 59 - .../oji/tests/src/LCM/StartupLiveConnect.cpp | 57 - modules/oji/tests/src/LCM/WrapJavaObject.cpp | 59 - modules/oji/tests/src/LCM/get_lcm.cpp | 50 - modules/oji/tests/src/TM/CreateThread.cpp | 90 - modules/oji/tests/src/TM/EnterMonitor.cpp | 115 - modules/oji/tests/src/TM/ExitMonitor.cpp | 116 - modules/oji/tests/src/TM/GetCurrentThread.cpp | 60 - modules/oji/tests/src/TM/Makefile | 71 - modules/oji/tests/src/TM/Makefile.win | 71 - modules/oji/tests/src/TM/Notify.cpp | 136 - modules/oji/tests/src/TM/NotifyAll.cpp | 141 - modules/oji/tests/src/TM/PostEvent.cpp | 281 - modules/oji/tests/src/TM/Sleep.cpp | 97 - modules/oji/tests/src/TM/ThreadManagerTests.h | 59 - modules/oji/tests/src/TM/Wait.cpp | 159 - modules/oji/tests/src/TM/get_tm.cpp | 51 - modules/oji/tests/src/TestLoader/Makefile | 54 - modules/oji/tests/src/TestLoader/Makefile.win | 54 - .../tests/src/TestLoader/OJITestLoader.cpp | 230 - .../oji/tests/src/TestLoader/OJITestLoader.h | 92 - .../src/TestLoader/OJITestLoaderFactory.cpp | 193 - .../src/TestLoader/OJITestLoaderFactory.h | 58 - modules/oji/tests/src/TestLoader/def_get.h | 50 - modules/oji/tests/src/TestLoader/test.html | 8 - modules/oji/tests/src/TestLoader/testtypes.h | 52 - modules/oji/tests/src/include/ojiapitests.h | 169 - modules/plugin/Makefile.in | 3 - modules/plugin/base/public/npapi.h | 11 - modules/plugin/base/src/Makefile.in | 2 - modules/plugin/base/src/nsJVMAuthTools.cpp | 176 - modules/plugin/base/src/nsJVMAuthTools.h | 71 - .../base/src/nsPluginDirServiceProvider.cpp | 37 +- modules/plugin/base/src/nsPluginHostImpl.cpp | 66 - .../plugin/base/src/nsPluginInstancePeer.cpp | 131 +- .../plugin/base/src/nsPluginInstancePeer.h | 6 - modules/plugin/base/src/nsPluginModule.cpp | 7 - .../base/src/nsPluginNativeWindowGtk2.cpp | 59 - netwerk/protocol/http/src/nsHttpChannel.cpp | 1 - .../Contents/Info.plist | 32 - .../Contents/MacOS/JavaEmbeddingPlugin | Bin 1771588 -> 0 bytes .../Contents/MacOS/JavaEmbeddingPlugin.policy | 3 - .../Contents/PkgInfo | 1 - .../Resources/English.lproj/InfoPlist.strings | Bin 644 -> 0 bytes .../Resources/Java/JavaEmbeddingPlugin.jar | Bin 201199 -> 0 bytes .../JEP/MRJPlugin.plugin/Contents/Info.plist | 28 - .../MRJPlugin.plugin/Contents/MacOS/MRJPlugin | Bin 3918988 -> 0 bytes .../Contents/MacOS/MRJPlugin.jar | Bin 26550 -> 0 bytes .../Contents/MacOS/MRJPlugin.policy | 4 - .../Contents/MacOS/MRJPlugin.properties | 4 - .../oji/JEP/MRJPlugin.plugin/Contents/PkgInfo | 1 - .../Resources/English.lproj/InfoPlist.strings | Bin 646 -> 0 bytes .../Contents/Resources/MRJPlugin.rsrc | Bin 2230 -> 0 bytes plugin/oji/JEP/Makefile.in | 73 - plugin/oji/JEP/README | 11 - .../MRJ/documentation/build-instructions.html | 96 - plugin/oji/MRJ/plugin/MRJPlugin.jar | Bin 30755 -> 0 bytes plugin/oji/MRJ/plugin/MRJPlugin.xml | 6906 ----------------- plugin/oji/MRJ/plugin/Resources/Dialogs.rsrc | Bin 1186 -> 0 bytes plugin/oji/MRJ/plugin/Resources/Strings.rsrc | Bin 1338 -> 0 bytes plugin/oji/MRJ/plugin/Resources/Version.rsrc | Bin 883 -> 0 bytes plugin/oji/MRJ/plugin/Source/AWTUtils.java | 74 - .../MRJ/plugin/Source/AltWindowHandling.cpp | 296 - .../oji/MRJ/plugin/Source/AltWindowHandling.h | 65 - plugin/oji/MRJ/plugin/Source/AsyncMessage.h | 58 - .../oji/MRJ/plugin/Source/BackwardAdapter.cpp | 2558 ------ plugin/oji/MRJ/plugin/Source/CSecureEnv.cpp | 1968 ----- plugin/oji/MRJ/plugin/Source/CSecureEnv.h | 424 - .../oji/MRJ/plugin/Source/EmbeddedFrame.cpp | 333 - plugin/oji/MRJ/plugin/Source/EmbeddedFrame.h | 87 - .../Source/EmbeddedFramePluginInstance.cpp | 126 - .../Source/EmbeddedFramePluginInstance.h | 196 - plugin/oji/MRJ/plugin/Source/EventFilter.cpp | 175 - plugin/oji/MRJ/plugin/Source/EventFilter.h | 56 - plugin/oji/MRJ/plugin/Source/JMURLConnection | Bin 789 -> 0 bytes .../oji/MRJ/plugin/Source/JMURLConnection.exp | 1 - .../oji/MRJ/plugin/Source/JMURLConnection.h | 262 - plugin/oji/MRJ/plugin/Source/JNIThread.java | 59 - plugin/oji/MRJ/plugin/Source/JNIUtils.java | 80 - plugin/oji/MRJ/plugin/Source/JSEvaluator.cpp | 130 - plugin/oji/MRJ/plugin/Source/JSEvaluator.h | 131 - .../oji/MRJ/plugin/Source/JavaMessageQueue.h | 82 - .../Source/LiveConnectNativeMethods.cpp | 1023 --- .../plugin/Source/LiveConnectNativeMethods.h | 53 - plugin/oji/MRJ/plugin/Source/LocalPort.h | 72 - plugin/oji/MRJ/plugin/Source/MRJConsole.cpp | 396 - plugin/oji/MRJ/plugin/Source/MRJConsole.h | 128 - plugin/oji/MRJ/plugin/Source/MRJConsole.java | 241 - plugin/oji/MRJ/plugin/Source/MRJContext.cp | 1729 ----- plugin/oji/MRJ/plugin/Source/MRJContext.h | 168 - plugin/oji/MRJ/plugin/Source/MRJFrame.cpp | 223 - plugin/oji/MRJ/plugin/Source/MRJFrame.h | 95 - plugin/oji/MRJ/plugin/Source/MRJMonitor.cpp | 138 - plugin/oji/MRJ/plugin/Source/MRJMonitor.h | 75 - .../oji/MRJ/plugin/Source/MRJNetworking.cpp | 420 - plugin/oji/MRJ/plugin/Source/MRJNetworking.h | 52 - plugin/oji/MRJ/plugin/Source/MRJPage.cpp | 153 - plugin/oji/MRJ/plugin/Source/MRJPage.h | 106 - plugin/oji/MRJ/plugin/Source/MRJPlugin.cpp | 930 --- plugin/oji/MRJ/plugin/Source/MRJPlugin.h | 491 -- plugin/oji/MRJ/plugin/Source/MRJPlugin.java | 49 - .../MRJ/plugin/Source/MRJPlugin_4.x_config.h | 48 - .../MRJ/plugin/Source/MRJPlugin_GC_config.h | 47 - .../oji/MRJ/plugin/Source/MRJPlugin_config.h | 47 - .../MRJ/plugin/Source/MRJSecurityContext.h | 59 - plugin/oji/MRJ/plugin/Source/MRJSession.cpp | 537 -- plugin/oji/MRJ/plugin/Source/MRJSession.h | 120 - plugin/oji/MRJ/plugin/Source/Monitor.h | 58 - .../oji/MRJ/plugin/Source/NativeMonitor.cpp | 106 - plugin/oji/MRJ/plugin/Source/NativeMonitor.h | 67 - plugin/oji/MRJ/plugin/Source/PluginNew.cpp | 67 - .../oji/MRJ/plugin/Source/PrintingPort.java | 164 - .../oji/MRJ/plugin/Source/RunnableMixin.cpp | 19 - plugin/oji/MRJ/plugin/Source/RunnableMixin.h | 26 - plugin/oji/MRJ/plugin/Source/StringUtils.cpp | 86 - plugin/oji/MRJ/plugin/Source/StringUtils.h | 53 - .../oji/MRJ/plugin/Source/SupportsMixin.cpp | 167 - plugin/oji/MRJ/plugin/Source/SupportsMixin.h | 121 - .../oji/MRJ/plugin/Source/TopLevelFrame.cpp | 304 - plugin/oji/MRJ/plugin/Source/TopLevelFrame.h | 81 - plugin/oji/MRJ/plugin/Source/jGNE.cpp | 151 - plugin/oji/MRJ/plugin/Source/jGNE.h | 55 - plugin/oji/MRJ/plugin/Source/npmac.cpp | 708 -- .../oji/MRJ/plugin/Source/nsLiveConnect.cpp | 161 - plugin/oji/MRJ/plugin/Source/nsLiveConnect.h | 270 - plugin/oji/MRJ/plugin/netscape.plugin.jar | Bin 1003 -> 0 bytes .../MRJ/testing/ConsoleApplet/Console.java | 118 - .../testing/ConsoleApplet/ConsoleApplet.html | 19 - .../testing/ConsoleApplet/ConsoleApplet.java | 100 - .../testing/ConsoleApplet/ConsoleApplet.mcp | Bin 38451 -> 0 bytes .../testing/ConsoleApplet/LaunchConsole.html | 14 - plugin/oji/MRJ/testing/ConsoleApplet/README | 2 - plugin/oji/MRJ/testing/Embedding/README | 1 - plugin/oji/MRJ/testing/Embedding/Test.html | 41 - plugin/oji/MRJ/testing/JSApplet/JSApplet.html | 18 - plugin/oji/MRJ/testing/JSApplet/JSApplet.java | 95 - plugin/oji/MRJ/testing/JSApplet/JSApplet.mcp | Bin 38581 -> 0 bytes plugin/oji/MRJ/testing/LiveConnect/Test.html | 35 - .../MRJ/testing/SwingApplet/TestApplet.java | 32 - .../MRJ/testing/SwingApplet/TestApplet.mcp | Bin 37180 -> 0 bytes .../MRJ/testing/SwingApplet/TestFrame.java | 27 - .../MRJ/testing/SwingApplet/TestPanel.java | 16 - .../oji/MRJ/testing/SwingApplet/mactest.html | 12 - .../MRJ/testing/TrivialApplet/MyApplet.mcp | Bin 36100 -> 0 bytes .../testing/TrivialApplet/TrivialApplet.html | 70 - .../testing/TrivialApplet/TrivialApplet.java | 207 - .../testing/TrivialApplet/TrivialApplets.html | 77 - .../MRJSDK/JavaFrameworks/JavaEmbeddingLib | Bin 1648 -> 0 bytes .../MRJSDK/JavaFrameworks/JavaVM/jni.h | 1968 ----- .../MRJSDK/JavaFrameworks/JavaVM/jni_md.h | 51 - plugin/oji/MRJCarbon/plugin/CHANGES | 108 - .../plugin/English.lproj/InfoPlist.strings | Bin 592 -> 0 bytes plugin/oji/MRJCarbon/plugin/INSTALL.txt | 7 - plugin/oji/MRJCarbon/plugin/MRJPlugin.jar | Bin 21050 -> 0 bytes .../plugin/MRJPlugin.pbproj/project.pbxproj | 773 -- plugin/oji/MRJCarbon/plugin/MRJPlugin.policy | 4 - .../oji/MRJCarbon/plugin/MRJPlugin.properties | 4 - .../MRJCarbon/plugin/MRJPluginCarbon.plist | 28 - .../oji/MRJCarbon/plugin/MRJPluginCarbon.xml | 2391 ------ .../MRJCarbon/plugin/Resources/Dialogs.rsrc | Bin 1062 -> 0 bytes .../oji/MRJCarbon/plugin/Resources/Makefile | 3 - .../MRJCarbon/plugin/Resources/Strings.rsrc | Bin 1528 -> 0 bytes .../MRJCarbon/plugin/Resources/Version.rsrc | Bin 668 -> 0 bytes .../oji/MRJCarbon/plugin/Source/AWTUtils.java | 75 - .../MRJCarbon/plugin/Source/AsyncMessage.h | 59 - .../MRJCarbon/plugin/Source/CSecureEnv.cpp | 3144 -------- .../oji/MRJCarbon/plugin/Source/CSecureEnv.h | 430 - .../MRJCarbon/plugin/Source/EmbeddedFrame.cpp | 332 - .../MRJCarbon/plugin/Source/EmbeddedFrame.h | 88 - .../Source/EmbeddedFramePluginInstance.cpp | 127 - .../Source/EmbeddedFramePluginInstance.h | 197 - .../MRJCarbon/plugin/Source/EventFilter.cpp | 175 - .../oji/MRJCarbon/plugin/Source/EventFilter.h | 56 - .../MRJCarbon/plugin/Source/JNIThread.java | 70 - .../oji/MRJCarbon/plugin/Source/JNIUtils.java | 81 - .../MRJCarbon/plugin/Source/JSEvaluator.cpp | 131 - .../oji/MRJCarbon/plugin/Source/JSEvaluator.h | 132 - .../plugin/Source/JavaMessageQueue.h | 83 - .../plugin/Source/JavaVMFramework.cpp | 119 - .../Source/LiveConnectNativeMethods.cpp | 1008 --- .../plugin/Source/LiveConnectNativeMethods.h | 54 - .../plugin/Source/LiveConnectProxy.java | 51 - .../oji/MRJCarbon/plugin/Source/LocalPort.h | 73 - .../MRJCarbon/plugin/Source/MRJConsole.cpp | 420 - .../oji/MRJCarbon/plugin/Source/MRJConsole.h | 127 - .../MRJCarbon/plugin/Source/MRJConsole.java | 242 - .../oji/MRJCarbon/plugin/Source/MRJContext.cp | 2007 ----- .../oji/MRJCarbon/plugin/Source/MRJContext.h | 193 - .../oji/MRJCarbon/plugin/Source/MRJFrame.cpp | 224 - plugin/oji/MRJCarbon/plugin/Source/MRJFrame.h | 96 - .../MRJCarbon/plugin/Source/MRJMonitor.cpp | 139 - .../oji/MRJCarbon/plugin/Source/MRJMonitor.h | 76 - .../oji/MRJCarbon/plugin/Source/MRJPage.cpp | 162 - plugin/oji/MRJCarbon/plugin/Source/MRJPage.h | 88 - .../oji/MRJCarbon/plugin/Source/MRJPlugin.cpp | 976 --- .../oji/MRJCarbon/plugin/Source/MRJPlugin.h | 484 -- .../plugin/Source/MRJPluginCarbon_config.h | 49 - .../plugin/Source/MRJPlugin_4.x_config.h | 49 - .../plugin/Source/MRJPlugin_GC_config.h | 48 - .../plugin/Source/MRJPlugin_config.h | 48 - .../plugin/Source/MRJSecurityContext.h | 60 - .../MRJCarbon/plugin/Source/MRJSession.cpp | 544 -- .../oji/MRJCarbon/plugin/Source/MRJSession.h | 133 - .../MRJCarbon/plugin/Source/MRJSession.java | 113 - plugin/oji/MRJCarbon/plugin/Source/Monitor.h | 59 - .../MRJCarbon/plugin/Source/NativeMonitor.cpp | 107 - .../MRJCarbon/plugin/Source/NativeMonitor.h | 68 - .../oji/MRJCarbon/plugin/Source/PluginNew.cpp | 80 - .../MRJCarbon/plugin/Source/PrintingPort.java | 165 - .../Source/ProxyClassLoaderFactory.java | 119 - .../MRJCarbon/plugin/Source/RunnableMixin.cpp | 56 - .../MRJCarbon/plugin/Source/RunnableMixin.h | 65 - .../MRJCarbon/plugin/Source/StringUtils.cpp | 87 - .../oji/MRJCarbon/plugin/Source/StringUtils.h | 54 - .../MRJCarbon/plugin/Source/SupportsMixin.cpp | 172 - .../MRJCarbon/plugin/Source/SupportsMixin.h | 124 - .../MRJCarbon/plugin/Source/TimedMessage.h | 57 - .../MRJCarbon/plugin/Source/TopLevelFrame.cpp | 305 - .../MRJCarbon/plugin/Source/TopLevelFrame.h | 82 - plugin/oji/MRJCarbon/plugin/Source/jGNE.cpp | 151 - plugin/oji/MRJCarbon/plugin/Source/jGNE.h | 55 - sun-java/Makefile.in | 49 - sun-java/stubs/Makefile.in | 49 - sun-java/stubs/include/Makefile.in | 72 - sun-java/stubs/include/bool.h | 44 - sun-java/stubs/include/interpreter.h | 113 - sun-java/stubs/include/javaString.h | 48 - sun-java/stubs/include/javaThreads.h | 44 - sun-java/stubs/include/jmc.h | 83 - sun-java/stubs/include/jni.h | 1973 ----- sun-java/stubs/include/jni_md.h | 209 - sun-java/stubs/include/jri.h | 689 -- sun-java/stubs/include/jri_md.h | 570 -- sun-java/stubs/include/jriext.h | 646 -- sun-java/stubs/include/jritypes.h | 243 - sun-java/stubs/include/nspr_md.h | 42 - sun-java/stubs/include/oobj.h | 58 - sun-java/stubs/include/sysmacros_md.h | 51 - sun-java/stubs/include/tree.h | 42 - sun-java/stubs/include/typedefs.h | 43 - sun-java/stubs/include/typedefs_md.h | 103 - sun-java/stubs/include/zip.h | 60 - sun-java/stubs/jri/Makefile.in | 50 - sun-java/stubs/jri/java_lang_String.h | 42 - sun-java/stubs/jri/jdk_java_lang_String.h | 42 - sun-java/stubs/macjri/java_lang_String.h | 42 - sun-java/stubs/macjri/jdk_java_lang_String.h | 42 - toolkit/content/license.html | 34 - toolkit/library/nsStaticXULComponents.cpp | 6 - toolkit/toolkit-makefiles.sh | 15 - toolkit/toolkit-tiers.mk | 13 - xulrunner/installer/Makefile.in | 7 - xulrunner/installer/mozilla-plugin.pc.in | 2 +- 1103 files changed, 28 insertions(+), 123058 deletions(-) delete mode 100644 embedding/browser/activex/src/plugin/LiveConnect.cpp delete mode 100644 embedding/browser/activex/src/plugin/LiveConnect.h delete mode 100644 embedding/browser/activex/src/plugin/javastubs.c delete mode 100644 modules/oji/Makefile.in delete mode 100644 modules/oji/public/Makefile.in delete mode 100644 modules/oji/public/ProxyJNI.h delete mode 100644 modules/oji/public/nsIJRIPlugin.h delete mode 100644 modules/oji/public/nsIJVMConfigManager.idl delete mode 100644 modules/oji/public/nsIJVMConsole.h delete mode 100644 modules/oji/public/nsIJVMManager.idl delete mode 100644 modules/oji/public/nsIJVMPlugin.h delete mode 100644 modules/oji/public/nsIJVMPluginInstance.idl delete mode 100644 modules/oji/public/nsIJVMPluginTagInfo.h delete mode 100644 modules/oji/public/nsIJVMPrefsWindow.h delete mode 100644 modules/oji/public/nsIJVMThreadManager.h delete mode 100644 modules/oji/public/nsIJVMWindow.h delete mode 100644 modules/oji/public/nsILiveConnectManager.h delete mode 100644 modules/oji/public/nsISecureEnv.h delete mode 100644 modules/oji/public/nsISecureJNI.h delete mode 100644 modules/oji/public/nsISecureJNI2.h delete mode 100644 modules/oji/public/nsISymantecDebugManager.h delete mode 100644 modules/oji/public/nsISymantecDebugger.h delete mode 100644 modules/oji/public/nsjvm.h delete mode 100644 modules/oji/src/Makefile.in delete mode 100644 modules/oji/src/ProxyClassLoader.cpp delete mode 100644 modules/oji/src/ProxyClassLoader.h delete mode 100644 modules/oji/src/ProxyJNI.cpp delete mode 100644 modules/oji/src/classes/netscape/oji/ProxyClassLoaderFactory.java delete mode 100644 modules/oji/src/export.mac delete mode 100644 modules/oji/src/jvmmgr.cpp delete mode 100644 modules/oji/src/jvmmgr.h delete mode 100644 modules/oji/src/lcglue.cpp delete mode 100644 modules/oji/src/lcglue.h delete mode 100644 modules/oji/src/nsCJVMManagerFactory.cpp delete mode 100644 modules/oji/src/nsCNullSecurityContext.cpp delete mode 100644 modules/oji/src/nsCNullSecurityContext.h delete mode 100644 modules/oji/src/nsCSecurityContext.cpp delete mode 100644 modules/oji/src/nsCSecurityContext.h delete mode 100644 modules/oji/src/nsJNI.cpp delete mode 100644 modules/oji/src/nsJVMConfigManager.cpp delete mode 100644 modules/oji/src/nsJVMConfigManager.h delete mode 100644 modules/oji/src/nsJVMConfigManagerUnix.cpp delete mode 100644 modules/oji/src/nsJVMConfigManagerUnix.h delete mode 100644 modules/oji/src/nsJVMManager.cpp delete mode 100644 modules/oji/src/nsJVMManager.h delete mode 100644 modules/oji/src/nsJVMPluginTagInfo.cpp delete mode 100644 modules/oji/src/nsJVMPluginTagInfo.h delete mode 100644 modules/oji/src/nsscd.h delete mode 100644 modules/oji/src/scd.cpp delete mode 100644 modules/oji/tests/FAQ delete mode 100644 modules/oji/tests/README delete mode 100644 modules/oji/tests/build/Makefile delete mode 100644 modules/oji/tests/build/Makefile.win delete mode 100644 modules/oji/tests/build/OJITests.lst delete mode 100644 modules/oji/tests/build/README delete mode 100644 modules/oji/tests/build/compile.mak delete mode 100644 modules/oji/tests/build/compile.mk delete mode 100755 modules/oji/tests/build/make_depends.pl delete mode 100755 modules/oji/tests/build/make_mak.pl delete mode 100755 modules/oji/tests/build/mfgen.pl delete mode 100644 modules/oji/tests/build/rules.mak delete mode 100644 modules/oji/tests/build/rules.mk delete mode 100644 modules/oji/tests/build/test.html delete mode 100644 modules/oji/tests/doc/OjiAPITestcases.html delete mode 100644 modules/oji/tests/doc/OjiAPITestcases_oji.html delete mode 100644 modules/oji/tests/doc/OjiAPITestcases_oji_JNIEnv.html delete mode 100644 modules/oji/tests/doc/draft_descr.html delete mode 100644 modules/oji/tests/script/OJIAPITestsDescr.html delete mode 100644 modules/oji/tests/script/OJITestsList.lst delete mode 100644 modules/oji/tests/script/OJIValidTests.lst delete mode 100755 modules/oji/tests/script/autorun.pl delete mode 100755 modules/oji/tests/script/killer.exe delete mode 100644 modules/oji/tests/script/test.html delete mode 100755 modules/oji/tests/script/test.pl delete mode 100644 modules/oji/tests/src/JM/CreateProxyJNI.cpp delete mode 100644 modules/oji/tests/src/JM/CreateProxyJNI.h delete mode 100644 modules/oji/tests/src/JM/GetProxyJNI.cpp delete mode 100644 modules/oji/tests/src/JM/IsJavaEnabled.cpp delete mode 100644 modules/oji/tests/src/JM/JVMManagerTests.h delete mode 100644 modules/oji/tests/src/JM/Makefile delete mode 100644 modules/oji/tests/src/JM/Makefile.win delete mode 100644 modules/oji/tests/src/JM/ShowJavaConsole.cpp delete mode 100644 modules/oji/tests/src/JM/get_jm.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/AccessingFields.h delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetBooleanField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetBooleanField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetBooleanField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetBooleanField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetBooleanField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetBooleanField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetByteField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetByteField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetByteField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetByteField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetByteField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetByteField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetCharField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetCharField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetCharField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetCharField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetCharField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetDoubleField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetDoubleField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetDoubleField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetDoubleField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetDoubleField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetDoubleField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_10.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_11.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_12.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_13.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_14.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_15.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_16.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_17.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_18.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_19.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_20.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_7.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_8.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFieldID_9.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFloatField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFloatField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFloatField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFloatField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFloatField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetFloatField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetIntField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetIntField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetIntField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetIntField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetIntField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetIntField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetIntField_7.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetLongField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetLongField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetLongField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetLongField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetLongField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetLongField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetObjectField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetObjectField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetObjectField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetObjectField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetObjectField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetShortField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetShortField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetShortField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetShortField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetShortField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/GetShortField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/Makefile delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetBooleanField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetBooleanField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetBooleanField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetBooleanField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetBooleanField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetBooleanField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetBooleanField_7.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetByteField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetByteField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetByteField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetByteField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetByteField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetByteField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetCharField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetCharField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetCharField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetCharField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetCharField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetCharField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetDoubleField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetDoubleField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetDoubleField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetDoubleField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetDoubleField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetDoubleField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetFloatField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetFloatField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetFloatField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetFloatField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetFloatField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetIntField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetIntField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetIntField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetIntField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetIntField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetLongField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetLongField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetLongField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetLongField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetLongField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetObjectField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetObjectField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetObjectField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetObjectField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetObjectField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetShortField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetShortField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetShortField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetShortField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/SetShortField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingFields/makefile.win delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/AccessingStaticFields.h delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticBooleanField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticBooleanField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticBooleanField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticBooleanField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticBooleanField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticBooleanField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticByteField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticByteField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticByteField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticByteField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticByteField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticByteField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticCharField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticCharField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticCharField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticCharField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticCharField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticDoubleField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticDoubleField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticDoubleField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticDoubleField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticDoubleField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_10.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_11.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_12.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_13.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_14.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_15.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_16.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_17.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_18.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_19.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_20.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_7.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_8.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFieldID_9.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFloatField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFloatField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFloatField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFloatField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFloatField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticFloatField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticIntField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticIntField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticIntField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticIntField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticIntField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticIntField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticLongField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticLongField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticLongField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticLongField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticLongField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticLongField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticObjectField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticObjectField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticObjectField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticObjectField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticObjectField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticShortField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticShortField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticShortField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticShortField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticShortField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/GetStaticShortField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/Makefile delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticBooleanField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticBooleanField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticBooleanField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticBooleanField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticBooleanField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticBooleanField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticByteField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticByteField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticByteField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticByteField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticByteField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticByteField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticCharField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticCharField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticCharField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticCharField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticCharField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticCharField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticDoubleField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticDoubleField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticDoubleField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticDoubleField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticDoubleField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticDoubleField_6.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticFloatField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticFloatField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticFloatField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticFloatField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticFloatField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticIntField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticIntField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticIntField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticIntField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticIntField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticLongField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticLongField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticLongField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticLongField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticLongField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticObjectField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticObjectField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticObjectField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticObjectField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticObjectField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticShortField_1.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticShortField_2.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticShortField_3.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticShortField_4.cpp delete mode 100644 modules/oji/tests/src/JNI/AccessingStaticFields/SetStaticShortField_5.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ArrayOperations.h delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetArrayLength_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetArrayLength_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetArrayLength_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetBooleanArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetBooleanArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetBooleanArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetBooleanArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetByteArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetByteArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetByteArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetByteArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetCharArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetCharArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetCharArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetCharArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetDoubleArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetDoubleArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetDoubleArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetDoubleArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetFloatArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetFloatArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetFloatArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetFloatArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetIntArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetIntArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetIntArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetIntArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetIntArrayRegion_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetIntArrayRegion_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetIntArrayRegion_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetLongArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetLongArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetLongArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetLongArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetObjectArrayElement_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetObjectArrayElement_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetObjectArrayElement_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetObjectArrayElement_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetObjectArrayElement_5.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetShortArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetShortArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetShortArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/GetShortArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/Makefile delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewBooleanArray_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewBooleanArray_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewBooleanArray_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewByteArray_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewByteArray_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewByteArray_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewCharArray_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewCharArray_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewCharArray_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewDoubleArray_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewDoubleArray_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewDoubleArray_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewFloatArray_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewFloatArray_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewFloatArray_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewIntArray_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewIntArray_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewIntArray_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewLongArray_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewLongArray_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewLongArray_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewObjectArray_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewObjectArray_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewObjectArray_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewObjectArray_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewObjectArray_5.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewObjectArray_6.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewShortArray_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewShortArray_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/NewShortArray_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseBoolArrayElems_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseBoolArrayElems_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseBoolArrayElems_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseByteArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseByteArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseByteArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseCharArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseCharArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseCharArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseDblArrayElems_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseDblArrayElems_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseDblArrayElems_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseFloatArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseFloatArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseFloatArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseIntArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseIntArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseIntArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseLongArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseLongArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseLongArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseShortArrayElements_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseShortArrayElements_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/ReleaseShortArrayElements_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetBooleanArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetByteArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetCharArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetDoubleArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetFloatArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetIntArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetIntArrayRegion_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetIntArrayRegion_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetIntArrayRegion_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetLongArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetObjectArrayElement_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetObjectArrayElement_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetObjectArrayElement_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetObjectArrayElement_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetObjectArrayElement_5.cpp delete mode 100644 modules/oji/tests/src/JNI/ArrayOperations/SetShortArrayRegion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallBooleanMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallBooleanMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallBooleanMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallBooleanMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallByteMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallByteMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallByteMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallByteMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallCharMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallCharMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallCharMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallCharMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallDoubleMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallDoubleMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallDoubleMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallDoubleMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallFloatMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallFloatMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallFloatMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallFloatMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_10.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_11.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_12.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_13.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_14.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_15.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_16.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_17.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_18.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_19.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_5.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_6.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_7.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_8.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallIntMethod_9.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallLongMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallLongMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallLongMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallLongMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVBooleanMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVBooleanMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVBooleanMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVBooleanMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVDoubleMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVDoubleMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVDoubleMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVDoubleMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVObjectMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVObjectMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVObjectMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVObjectMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVObjectMethod_5.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVObjectMethod_6.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNVObjectMethod_7.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualByteMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualByteMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualByteMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualByteMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualCharMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualCharMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualCharMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualCharMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualFloatMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualFloatMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualFloatMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualFloatMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_10.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_11.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_12.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_13.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_14.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_15.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_16.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_17.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_18.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_19.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_20.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_21.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_22.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_23.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_24.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_25.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_26.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_27.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_28.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_29.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_30.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_31.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_32.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_33.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_34.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_5.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_7.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_8.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualIntMethod_9.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualLongMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualLongMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualLongMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualLongMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualShortMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualShortMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualShortMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualShortMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualVoidMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallNonvirtualVoidMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallObjectMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallObjectMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallObjectMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallObjectMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallObjectMethod_5.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallObjectMethod_6.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallObjectMethod_7.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallShortMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallShortMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallShortMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallShortMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallVoidMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallVoidMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/CallingInstanceMethods.h delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_10.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_11.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_12.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_13.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_14.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_15.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_16.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_17.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_18.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_19.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_20.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_21.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_22.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_23.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_24.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_25.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_26.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_27.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_28.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_29.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_30.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_31.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_32.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_33.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_34.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_35.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_36.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_37.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_38.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_39.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_5.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_6.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_7.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_8.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/GetMethodID_9.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/Makefile delete mode 100644 modules/oji/tests/src/JNI/CallingInstanceMethods/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticBooleanMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticBooleanMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticBooleanMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticBooleanMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticByteMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticByteMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticByteMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticByteMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticCharMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticCharMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticCharMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticCharMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticDoubleMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticDoubleMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticDoubleMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticDoubleMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticFloatMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticFloatMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticFloatMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticFloatMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_10.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_11.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_12.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_13.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_14.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_15.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_16.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_17.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_18.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_19.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_20.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_21.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_5.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_7.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_8.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticIntMethod_9.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticLongMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticLongMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticLongMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticLongMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticObjectMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticObjectMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticObjectMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticObjectMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticObjectMethod_5.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticObjectMethod_6.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticObjectMethod_7.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticShortMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticShortMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticShortMethod_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticShortMethod_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticVoidMethod_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallStaticVoidMethod_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/CallingStaticMethods.h delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_1.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_10.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_11.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_12.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_13.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_14.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_15.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_16.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_17.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_18.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_19.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_2.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_20.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_21.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_22.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_3.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_4.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_5.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_6.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_7.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_8.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/GetStaticMethodID_9.cpp delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/Makefile delete mode 100644 modules/oji/tests/src/JNI/CallingStaticMethods/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/ClassOperation.h delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/FindClass_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/FindClass_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/FindClass_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/FindClass_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/FindClass_5.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/FindClass_6.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/FindClass_7.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/FindClass_8.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/GetSuperclass_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/GetSuperclass_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/GetSuperclass_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/GetSuperclass_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/IsAssignableFrom_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/IsAssignableFrom_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/IsAssignableFrom_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/IsAssignableFrom_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/IsAssignableFrom_5.cpp delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/Makefile delete mode 100644 modules/oji/tests/src/JNI/ClassOperation/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ExceptionClear_1.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ExceptionClear_2.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ExceptionDescribe_1.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ExceptionDescribe_2.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ExceptionOccured_1.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ExceptionOccured_2.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/Exceptions.h delete mode 100644 modules/oji/tests/src/JNI/Exceptions/FatalError_1.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/Makefile delete mode 100644 modules/oji/tests/src/JNI/Exceptions/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ThrowNew_1.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ThrowNew_2.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ThrowNew_3.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ThrowNew_4.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/ThrowNew_5.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/Throw_1.cpp delete mode 100644 modules/oji/tests/src/JNI/Exceptions/Throw_2.cpp delete mode 100644 modules/oji/tests/src/JNI/GlobalAndLocalRefs/DeleteGlobalRef_1.cpp delete mode 100644 modules/oji/tests/src/JNI/GlobalAndLocalRefs/DeleteGlobalRef_2.cpp delete mode 100644 modules/oji/tests/src/JNI/GlobalAndLocalRefs/DeleteLocalRef_1.cpp delete mode 100644 modules/oji/tests/src/JNI/GlobalAndLocalRefs/DeleteLocalRef_2.cpp delete mode 100644 modules/oji/tests/src/JNI/GlobalAndLocalRefs/GlobalAndLocalRefs.h delete mode 100644 modules/oji/tests/src/JNI/GlobalAndLocalRefs/Makefile delete mode 100644 modules/oji/tests/src/JNI/GlobalAndLocalRefs/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/GlobalAndLocalRefs/NewGlobalRef_1.cpp delete mode 100644 modules/oji/tests/src/JNI/GlobalAndLocalRefs/NewGlobalRef_2.cpp delete mode 100644 modules/oji/tests/src/JNI/JavaVMInterface/GetJavaVM_1.cpp delete mode 100644 modules/oji/tests/src/JNI/JavaVMInterface/GetJavaVM_2.cpp delete mode 100644 modules/oji/tests/src/JNI/JavaVMInterface/JavaVMInterface.h delete mode 100644 modules/oji/tests/src/JNI/JavaVMInterface/Makefile delete mode 100644 modules/oji/tests/src/JNI/JavaVMInterface/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/Makefile delete mode 100644 modules/oji/tests/src/JNI/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/AllocObject_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/AllocObject_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/AllocObject_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/AllocObject_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/GetObjectClass_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/GetObjectClass_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/IsInstanceOf_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/IsInstanceOf_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/IsInstanceOf_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/IsInstanceOf_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/IsInstanceOf_5.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/IsSameObject_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/IsSameObject_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/IsSameObject_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/IsSameObject_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/Makefile delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObjectA_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObjectA_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObjectA_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObjectA_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObjectA_5.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObjectA_6.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObjectA_7.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObjectA_8.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObjectA_9.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObject_1.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObject_2.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObject_3.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObject_4.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObject_5.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObject_6.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObject_7.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObject_8.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/NewObject_9.cpp delete mode 100644 modules/oji/tests/src/JNI/ObjectOperations/ObjectOperations.h delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringChars_1.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringChars_2.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringChars_3.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringChars_4.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringLength_1.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringLength_2.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringLength_3.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringUTFChars_1.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringUTFChars_2.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringUTFChars_3.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringUTFChars_4.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringUTFLength_1.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringUTFLength_2.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/GetStringUTFLength_3.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/Makefile delete mode 100644 modules/oji/tests/src/JNI/StringOperations/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/StringOperations/NewStringUTF_1.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/NewStringUTF_2.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/NewStringUTF_3.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/NewString_1.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/NewString_2.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/NewString_3.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/ReleaseStringChars_1.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/ReleaseStringChars_2.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/ReleaseStringUTFChars_1.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/ReleaseStringUTFChars_2.cpp delete mode 100644 modules/oji/tests/src/JNI/StringOperations/StringOperations.h delete mode 100644 modules/oji/tests/src/JNI/VersionInformation/GetVersion_1.cpp delete mode 100644 modules/oji/tests/src/JNI/VersionInformation/Makefile delete mode 100644 modules/oji/tests/src/JNI/VersionInformation/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/getjni/Makefile delete mode 100644 modules/oji/tests/src/JNI/getjni/Makefile.win delete mode 100644 modules/oji/tests/src/JNI/getjni/get_jni.cpp delete mode 100644 modules/oji/tests/src/JNI/include/JNIEnvTests.h delete mode 100644 modules/oji/tests/src/JNI/include/Test1.h delete mode 100644 modules/oji/tests/src/JNI/java/Test1.java delete mode 100644 modules/oji/tests/src/JNI/java/Test10.java delete mode 100644 modules/oji/tests/src/JNI/java/Test11.java delete mode 100644 modules/oji/tests/src/JNI/java/Test2.java delete mode 100644 modules/oji/tests/src/JNI/java/Test3.java delete mode 100644 modules/oji/tests/src/JNI/java/Test4.java delete mode 100644 modules/oji/tests/src/JNI/java/Test5.java delete mode 100644 modules/oji/tests/src/JNI/java/Test6.java delete mode 100644 modules/oji/tests/src/JNI/java/Test7.java delete mode 100644 modules/oji/tests/src/JNI/java/Test8.java delete mode 100644 modules/oji/tests/src/JNI/java/Test9.java delete mode 100755 modules/oji/tests/src/JNI/list delete mode 100644 modules/oji/tests/src/JNI/test_cases_JNI.html delete mode 100755 modules/oji/tests/src/Killer/kill.bat delete mode 100644 modules/oji/tests/src/Killer/killer.cpp delete mode 100755 modules/oji/tests/src/Killer/killer.cpp.win98 delete mode 100644 modules/oji/tests/src/LCM/InitLiveConnectClasses.cpp delete mode 100644 modules/oji/tests/src/LCM/IsLiveConnectEnabled.cpp delete mode 100644 modules/oji/tests/src/LCM/LiveConnectManagerTests.h delete mode 100644 modules/oji/tests/src/LCM/Makefile delete mode 100644 modules/oji/tests/src/LCM/Makefile.win delete mode 100644 modules/oji/tests/src/LCM/ShutdownLiveConnect.cpp delete mode 100644 modules/oji/tests/src/LCM/StartupLiveConnect.cpp delete mode 100644 modules/oji/tests/src/LCM/WrapJavaObject.cpp delete mode 100644 modules/oji/tests/src/LCM/get_lcm.cpp delete mode 100644 modules/oji/tests/src/TM/CreateThread.cpp delete mode 100644 modules/oji/tests/src/TM/EnterMonitor.cpp delete mode 100644 modules/oji/tests/src/TM/ExitMonitor.cpp delete mode 100644 modules/oji/tests/src/TM/GetCurrentThread.cpp delete mode 100644 modules/oji/tests/src/TM/Makefile delete mode 100644 modules/oji/tests/src/TM/Makefile.win delete mode 100644 modules/oji/tests/src/TM/Notify.cpp delete mode 100644 modules/oji/tests/src/TM/NotifyAll.cpp delete mode 100644 modules/oji/tests/src/TM/PostEvent.cpp delete mode 100644 modules/oji/tests/src/TM/Sleep.cpp delete mode 100644 modules/oji/tests/src/TM/ThreadManagerTests.h delete mode 100644 modules/oji/tests/src/TM/Wait.cpp delete mode 100644 modules/oji/tests/src/TM/get_tm.cpp delete mode 100644 modules/oji/tests/src/TestLoader/Makefile delete mode 100644 modules/oji/tests/src/TestLoader/Makefile.win delete mode 100644 modules/oji/tests/src/TestLoader/OJITestLoader.cpp delete mode 100644 modules/oji/tests/src/TestLoader/OJITestLoader.h delete mode 100644 modules/oji/tests/src/TestLoader/OJITestLoaderFactory.cpp delete mode 100644 modules/oji/tests/src/TestLoader/OJITestLoaderFactory.h delete mode 100644 modules/oji/tests/src/TestLoader/def_get.h delete mode 100644 modules/oji/tests/src/TestLoader/test.html delete mode 100644 modules/oji/tests/src/TestLoader/testtypes.h delete mode 100644 modules/oji/tests/src/include/ojiapitests.h delete mode 100644 modules/plugin/base/src/nsJVMAuthTools.cpp delete mode 100644 modules/plugin/base/src/nsJVMAuthTools.h delete mode 100644 plugin/oji/JEP/JavaEmbeddingPlugin.bundle/Contents/Info.plist delete mode 100755 plugin/oji/JEP/JavaEmbeddingPlugin.bundle/Contents/MacOS/JavaEmbeddingPlugin delete mode 100644 plugin/oji/JEP/JavaEmbeddingPlugin.bundle/Contents/MacOS/JavaEmbeddingPlugin.policy delete mode 100755 plugin/oji/JEP/JavaEmbeddingPlugin.bundle/Contents/PkgInfo delete mode 100644 plugin/oji/JEP/JavaEmbeddingPlugin.bundle/Contents/Resources/English.lproj/InfoPlist.strings delete mode 100644 plugin/oji/JEP/JavaEmbeddingPlugin.bundle/Contents/Resources/Java/JavaEmbeddingPlugin.jar delete mode 100644 plugin/oji/JEP/MRJPlugin.plugin/Contents/Info.plist delete mode 100755 plugin/oji/JEP/MRJPlugin.plugin/Contents/MacOS/MRJPlugin delete mode 100644 plugin/oji/JEP/MRJPlugin.plugin/Contents/MacOS/MRJPlugin.jar delete mode 100644 plugin/oji/JEP/MRJPlugin.plugin/Contents/MacOS/MRJPlugin.policy delete mode 100644 plugin/oji/JEP/MRJPlugin.plugin/Contents/MacOS/MRJPlugin.properties delete mode 100644 plugin/oji/JEP/MRJPlugin.plugin/Contents/PkgInfo delete mode 100644 plugin/oji/JEP/MRJPlugin.plugin/Contents/Resources/English.lproj/InfoPlist.strings delete mode 100644 plugin/oji/JEP/MRJPlugin.plugin/Contents/Resources/MRJPlugin.rsrc delete mode 100644 plugin/oji/JEP/Makefile.in delete mode 100644 plugin/oji/JEP/README delete mode 100644 plugin/oji/MRJ/documentation/build-instructions.html delete mode 100644 plugin/oji/MRJ/plugin/MRJPlugin.jar delete mode 100644 plugin/oji/MRJ/plugin/MRJPlugin.xml delete mode 100755 plugin/oji/MRJ/plugin/Resources/Dialogs.rsrc delete mode 100644 plugin/oji/MRJ/plugin/Resources/Strings.rsrc delete mode 100644 plugin/oji/MRJ/plugin/Resources/Version.rsrc delete mode 100644 plugin/oji/MRJ/plugin/Source/AWTUtils.java delete mode 100644 plugin/oji/MRJ/plugin/Source/AltWindowHandling.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/AltWindowHandling.h delete mode 100644 plugin/oji/MRJ/plugin/Source/AsyncMessage.h delete mode 100644 plugin/oji/MRJ/plugin/Source/BackwardAdapter.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/CSecureEnv.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/CSecureEnv.h delete mode 100644 plugin/oji/MRJ/plugin/Source/EmbeddedFrame.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/EmbeddedFrame.h delete mode 100644 plugin/oji/MRJ/plugin/Source/EmbeddedFramePluginInstance.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/EmbeddedFramePluginInstance.h delete mode 100644 plugin/oji/MRJ/plugin/Source/EventFilter.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/EventFilter.h delete mode 100644 plugin/oji/MRJ/plugin/Source/JMURLConnection delete mode 100644 plugin/oji/MRJ/plugin/Source/JMURLConnection.exp delete mode 100644 plugin/oji/MRJ/plugin/Source/JMURLConnection.h delete mode 100644 plugin/oji/MRJ/plugin/Source/JNIThread.java delete mode 100644 plugin/oji/MRJ/plugin/Source/JNIUtils.java delete mode 100644 plugin/oji/MRJ/plugin/Source/JSEvaluator.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/JSEvaluator.h delete mode 100644 plugin/oji/MRJ/plugin/Source/JavaMessageQueue.h delete mode 100644 plugin/oji/MRJ/plugin/Source/LiveConnectNativeMethods.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/LiveConnectNativeMethods.h delete mode 100644 plugin/oji/MRJ/plugin/Source/LocalPort.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJConsole.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJConsole.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJConsole.java delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJContext.cp delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJContext.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJFrame.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJFrame.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJMonitor.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJMonitor.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJNetworking.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJNetworking.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJPage.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJPage.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJPlugin.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJPlugin.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJPlugin.java delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJPlugin_4.x_config.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJPlugin_GC_config.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJPlugin_config.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJSecurityContext.h delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJSession.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/MRJSession.h delete mode 100644 plugin/oji/MRJ/plugin/Source/Monitor.h delete mode 100644 plugin/oji/MRJ/plugin/Source/NativeMonitor.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/NativeMonitor.h delete mode 100644 plugin/oji/MRJ/plugin/Source/PluginNew.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/PrintingPort.java delete mode 100644 plugin/oji/MRJ/plugin/Source/RunnableMixin.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/RunnableMixin.h delete mode 100644 plugin/oji/MRJ/plugin/Source/StringUtils.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/StringUtils.h delete mode 100644 plugin/oji/MRJ/plugin/Source/SupportsMixin.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/SupportsMixin.h delete mode 100644 plugin/oji/MRJ/plugin/Source/TopLevelFrame.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/TopLevelFrame.h delete mode 100644 plugin/oji/MRJ/plugin/Source/jGNE.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/jGNE.h delete mode 100644 plugin/oji/MRJ/plugin/Source/npmac.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/nsLiveConnect.cpp delete mode 100644 plugin/oji/MRJ/plugin/Source/nsLiveConnect.h delete mode 100644 plugin/oji/MRJ/plugin/netscape.plugin.jar delete mode 100644 plugin/oji/MRJ/testing/ConsoleApplet/Console.java delete mode 100644 plugin/oji/MRJ/testing/ConsoleApplet/ConsoleApplet.html delete mode 100644 plugin/oji/MRJ/testing/ConsoleApplet/ConsoleApplet.java delete mode 100644 plugin/oji/MRJ/testing/ConsoleApplet/ConsoleApplet.mcp delete mode 100644 plugin/oji/MRJ/testing/ConsoleApplet/LaunchConsole.html delete mode 100644 plugin/oji/MRJ/testing/ConsoleApplet/README delete mode 100644 plugin/oji/MRJ/testing/Embedding/README delete mode 100644 plugin/oji/MRJ/testing/Embedding/Test.html delete mode 100644 plugin/oji/MRJ/testing/JSApplet/JSApplet.html delete mode 100644 plugin/oji/MRJ/testing/JSApplet/JSApplet.java delete mode 100644 plugin/oji/MRJ/testing/JSApplet/JSApplet.mcp delete mode 100644 plugin/oji/MRJ/testing/LiveConnect/Test.html delete mode 100644 plugin/oji/MRJ/testing/SwingApplet/TestApplet.java delete mode 100644 plugin/oji/MRJ/testing/SwingApplet/TestApplet.mcp delete mode 100644 plugin/oji/MRJ/testing/SwingApplet/TestFrame.java delete mode 100644 plugin/oji/MRJ/testing/SwingApplet/TestPanel.java delete mode 100644 plugin/oji/MRJ/testing/SwingApplet/mactest.html delete mode 100644 plugin/oji/MRJ/testing/TrivialApplet/MyApplet.mcp delete mode 100644 plugin/oji/MRJ/testing/TrivialApplet/TrivialApplet.html delete mode 100644 plugin/oji/MRJ/testing/TrivialApplet/TrivialApplet.java delete mode 100644 plugin/oji/MRJ/testing/TrivialApplet/TrivialApplets.html delete mode 100644 plugin/oji/MRJCarbon/MRJSDK/JavaFrameworks/JavaEmbeddingLib delete mode 100644 plugin/oji/MRJCarbon/MRJSDK/JavaFrameworks/JavaVM/jni.h delete mode 100644 plugin/oji/MRJCarbon/MRJSDK/JavaFrameworks/JavaVM/jni_md.h delete mode 100644 plugin/oji/MRJCarbon/plugin/CHANGES delete mode 100644 plugin/oji/MRJCarbon/plugin/English.lproj/InfoPlist.strings delete mode 100644 plugin/oji/MRJCarbon/plugin/INSTALL.txt delete mode 100644 plugin/oji/MRJCarbon/plugin/MRJPlugin.jar delete mode 100644 plugin/oji/MRJCarbon/plugin/MRJPlugin.pbproj/project.pbxproj delete mode 100644 plugin/oji/MRJCarbon/plugin/MRJPlugin.policy delete mode 100644 plugin/oji/MRJCarbon/plugin/MRJPlugin.properties delete mode 100644 plugin/oji/MRJCarbon/plugin/MRJPluginCarbon.plist delete mode 100644 plugin/oji/MRJCarbon/plugin/MRJPluginCarbon.xml delete mode 100644 plugin/oji/MRJCarbon/plugin/Resources/Dialogs.rsrc delete mode 100644 plugin/oji/MRJCarbon/plugin/Resources/Makefile delete mode 100644 plugin/oji/MRJCarbon/plugin/Resources/Strings.rsrc delete mode 100644 plugin/oji/MRJCarbon/plugin/Resources/Version.rsrc delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/AWTUtils.java delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/AsyncMessage.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/CSecureEnv.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/CSecureEnv.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/EmbeddedFrame.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/EmbeddedFrame.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/EmbeddedFramePluginInstance.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/EmbeddedFramePluginInstance.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/EventFilter.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/EventFilter.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/JNIThread.java delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/JNIUtils.java delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/JSEvaluator.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/JSEvaluator.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/JavaMessageQueue.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/JavaVMFramework.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/LiveConnectNativeMethods.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/LiveConnectNativeMethods.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/LiveConnectProxy.java delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/LocalPort.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJConsole.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJConsole.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJConsole.java delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJContext.cp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJContext.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJFrame.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJFrame.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJMonitor.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJMonitor.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJPage.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJPage.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJPlugin.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJPlugin.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJPluginCarbon_config.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJPlugin_4.x_config.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJPlugin_GC_config.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJPlugin_config.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJSecurityContext.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJSession.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJSession.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/MRJSession.java delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/Monitor.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/NativeMonitor.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/NativeMonitor.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/PluginNew.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/PrintingPort.java delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/ProxyClassLoaderFactory.java delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/RunnableMixin.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/RunnableMixin.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/StringUtils.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/StringUtils.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/SupportsMixin.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/SupportsMixin.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/TimedMessage.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/TopLevelFrame.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/TopLevelFrame.h delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/jGNE.cpp delete mode 100644 plugin/oji/MRJCarbon/plugin/Source/jGNE.h delete mode 100644 sun-java/Makefile.in delete mode 100644 sun-java/stubs/Makefile.in delete mode 100644 sun-java/stubs/include/Makefile.in delete mode 100644 sun-java/stubs/include/bool.h delete mode 100644 sun-java/stubs/include/interpreter.h delete mode 100644 sun-java/stubs/include/javaString.h delete mode 100644 sun-java/stubs/include/javaThreads.h delete mode 100644 sun-java/stubs/include/jmc.h delete mode 100644 sun-java/stubs/include/jni.h delete mode 100644 sun-java/stubs/include/jni_md.h delete mode 100644 sun-java/stubs/include/jri.h delete mode 100644 sun-java/stubs/include/jri_md.h delete mode 100644 sun-java/stubs/include/jriext.h delete mode 100644 sun-java/stubs/include/jritypes.h delete mode 100644 sun-java/stubs/include/nspr_md.h delete mode 100644 sun-java/stubs/include/oobj.h delete mode 100644 sun-java/stubs/include/sysmacros_md.h delete mode 100644 sun-java/stubs/include/tree.h delete mode 100644 sun-java/stubs/include/typedefs.h delete mode 100644 sun-java/stubs/include/typedefs_md.h delete mode 100644 sun-java/stubs/include/zip.h delete mode 100644 sun-java/stubs/jri/Makefile.in delete mode 100644 sun-java/stubs/jri/java_lang_String.h delete mode 100644 sun-java/stubs/jri/jdk_java_lang_String.h delete mode 100644 sun-java/stubs/macjri/java_lang_String.h delete mode 100644 sun-java/stubs/macjri/jdk_java_lang_String.h diff --git a/browser/installer/unix/packages-static b/browser/installer/unix/packages-static index 5520fb925f4..41b56e76c31 100644 --- a/browser/installer/unix/packages-static +++ b/browser/installer/unix/packages-static @@ -149,9 +149,6 @@ bin/components/necko_strconv.xpt bin/components/necko_viewsource.xpt bin/components/necko_wifi.xpt bin/components/necko.xpt -#ifdef OJI -bin/components/oji.xpt -#endif bin/components/loginmgr.xpt bin/components/places.xpt bin/components/plugin.xpt diff --git a/browser/installer/windows/packages-static b/browser/installer/windows/packages-static index 4065b2bd819..97bd8782130 100644 --- a/browser/installer/windows/packages-static +++ b/browser/installer/windows/packages-static @@ -156,9 +156,6 @@ bin\components\necko_res.xpt bin\components\necko_socket.xpt bin\components\necko_viewsource.xpt bin\components\necko_wifi.xpt -#ifdef OJI -bin\components\oji.xpt -#endif bin\components\loginmgr.xpt bin\components\places.xpt bin\components\plugin.xpt diff --git a/configure.in b/configure.in index 4a415b88a2b..379e309f990 100644 --- a/configure.in +++ b/configure.in @@ -2674,17 +2674,6 @@ case "$target" in esac AC_SUBST(NO_LD_ARCHIVE_FLAGS) -dnl -dnl Indicate that platform requires special thread safe -dnl locking when starting up the OJI JVM -dnl (see mozilla/modules/oji/src/nsJVMManager.cpp) -dnl ======================================================== -case "$target" in - *-hpux*) - AC_DEFINE(MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP) - ;; -esac - dnl ======================================================== dnl = Flags to strip unused symbols from .so components dnl ======================================================== @@ -4488,7 +4477,6 @@ MOZ_OGG=1 MOZ_SYDNEYAUDIO= MOZ_WAVE=1 MOZ_MEDIA= -MOZ_OJI=1 MOZ_PERMISSIONS=1 MOZ_PLACES= MOZ_PLAINTEXT_EDITOR_ONLY= @@ -4603,7 +4591,6 @@ basic) MOZ_NO_INSPECTOR_APIS=1 MOZ_NO_XPCOM_OBSOLETE=1 MOZ_NO_FAST_LOAD=1 - MOZ_OJI= MOZ_PLAINTEXT_EDITOR_ONLY=1 # MOZ_PLUGINS= MOZ_PREF_EXTENSIONS= @@ -4646,7 +4633,6 @@ minimal) MOZ_NO_INSPECTOR_APIS=1 MOZ_NO_XPCOM_OBSOLETE=1 MOZ_NO_FAST_LOAD=1 - MOZ_OJI= MOZ_PLAINTEXT_EDITOR_ONLY=1 MOZ_PLUGINS= MOZ_PREF_EXTENSIONS= @@ -5306,17 +5292,6 @@ MOZ_ARG_DISABLE_BOOL(dbm, NSS_DISABLE_DBM=1, NSS_DISABLE_DBM=) -dnl ======================================================== -dnl = Open JVM Interface (OJI) support -dnl ======================================================== -MOZ_ARG_DISABLE_BOOL(oji, -[ --disable-oji Disable Open JVM Integration support], - MOZ_OJI=, - MOZ_OJI=1) -if test -n "$MOZ_OJI"; then - AC_DEFINE(OJI) -fi - dnl bi-directional support always on IBMBIDI=1 AC_DEFINE(IBMBIDI) @@ -8019,7 +7994,6 @@ AC_SUBST(MOZ_EXTENSIONS) AC_SUBST(MOZ_IMG_DECODERS) AC_SUBST(MOZ_IMG_ENCODERS) AC_SUBST(MOZ_JSDEBUGGER) -AC_SUBST(MOZ_OJI) AC_SUBST(MOZ_NO_XPCOM_OBSOLETE) AC_SUBST(MOZ_PLUGINS) AC_SUBST(ENABLE_EAZEL_PROFILER) diff --git a/dom/base/nsDOMClassInfo.cpp b/dom/base/nsDOMClassInfo.cpp index 5ad253503fe..aac2f9620bf 100644 --- a/dom/base/nsDOMClassInfo.cpp +++ b/dom/base/nsDOMClassInfo.cpp @@ -147,19 +147,11 @@ #include "nsIPluginHost.h" #include "nsPIPluginHost.h" -#ifdef OJI -// HTMLAppletElement helper includes -#include "nsIJVMManager.h" -#include "nsILiveConnectManager.h" -#include "nsIJVMPluginInstance.h" -#endif - // Oh, did I mention that I hate Microsoft for doing this to me? #ifdef XP_WIN #undef GetClassName #endif - // HTMLOptionsCollection includes #include "nsIDOMHTMLOptionElement.h" #include "nsIDOMNSHTMLOptionElement.h" @@ -1455,14 +1447,6 @@ jsval nsDOMClassInfo::sOncut_id = JSVAL_VOID; jsval nsDOMClassInfo::sOnpaste_id = JSVAL_VOID; jsval nsDOMClassInfo::sJava_id = JSVAL_VOID; jsval nsDOMClassInfo::sPackages_id = JSVAL_VOID; -#ifdef OJI -jsval nsDOMClassInfo::sNetscape_id = JSVAL_VOID; -jsval nsDOMClassInfo::sSun_id = JSVAL_VOID; -jsval nsDOMClassInfo::sJavaObject_id = JSVAL_VOID; -jsval nsDOMClassInfo::sJavaClass_id = JSVAL_VOID; -jsval nsDOMClassInfo::sJavaArray_id = JSVAL_VOID; -jsval nsDOMClassInfo::sJavaMember_id = JSVAL_VOID; -#endif static const JSClass *sObjectClass = nsnull; const JSClass *nsDOMClassInfo::sXPCNativeWrapperClass = nsnull; @@ -1654,14 +1638,6 @@ nsDOMClassInfo::DefineStaticJSVals(JSContext *cx) SET_JSVAL_TO_STRING(sOnpaste_id, cx, "onpaste"); SET_JSVAL_TO_STRING(sJava_id, cx, "java"); SET_JSVAL_TO_STRING(sPackages_id, cx, "Packages"); -#ifdef OJI - SET_JSVAL_TO_STRING(sNetscape_id, cx, "netscape"); - SET_JSVAL_TO_STRING(sSun_id, cx, "sun"); - SET_JSVAL_TO_STRING(sJavaObject_id, cx, "JavaObject"); - SET_JSVAL_TO_STRING(sJavaClass_id, cx, "JavaClass"); - SET_JSVAL_TO_STRING(sJavaArray_id, cx, "JavaArray"); - SET_JSVAL_TO_STRING(sJavaMember_id, cx, "JavaMember"); -#endif return NS_OK; } @@ -4420,14 +4396,6 @@ nsDOMClassInfo::ShutDown() sOnpaste_id = JSVAL_VOID; sJava_id = JSVAL_VOID; sPackages_id = JSVAL_VOID; -#ifdef OJI - sNetscape_id = JSVAL_VOID; - sSun_id = JSVAL_VOID; - sJavaObject_id = JSVAL_VOID; - sJavaClass_id = JSVAL_VOID; - sJavaArray_id = JSVAL_VOID; - sJavaMember_id = JSVAL_VOID; -#endif NS_IF_RELEASE(sXPConnect); NS_IF_RELEASE(sSecMan); @@ -6517,12 +6485,7 @@ nsWindowSH::NewResolve(nsIXPConnectWrappedNative *wrapper, JSContext *cx, return NS_OK; } - if (id == sJava_id || id == sPackages_id -#ifdef OJI - || id == sNetscape_id || id == sSun_id || id == sJavaObject_id || - id == sJavaClass_id || id == sJavaArray_id || id == sJavaMember_id -#endif - ) { + if (id == sJava_id || id == sPackages_id) { static PRBool isResolvingJavaProperties; if (!isResolvingJavaProperties) { @@ -9651,41 +9614,7 @@ nsHTMLPluginObjElementSH::GetJavaPluginJSObject(JSContext *cx, JSObject *obj, JSObject **plugin_obj, JSObject **plugin_proto) { -#ifdef OJI - *plugin_obj = nsnull; - *plugin_proto = nsnull; - - nsCOMPtr jvm(do_GetService(nsIJVMManager::GetCID())); - - if (!jvm) { -#endif - return NS_OK; -#ifdef OJI - } - - nsCOMPtr javaPluginInstance = - do_QueryInterface(plugin_inst); - - if (!javaPluginInstance) { - return NS_OK; - } - - jobject appletObject = nsnull; - nsresult rv = javaPluginInstance->GetJavaObject(&appletObject); - - if (NS_FAILED(rv) || !appletObject) { - return rv; - } - - nsCOMPtr manager = - do_GetService(nsIJVMManager::GetCID()); - - if (!manager) { - return NS_OK; - } - - return manager->WrapJavaObject(cx, appletObject, plugin_obj); -#endif /* OJI */ + return NS_OK; } @@ -9835,18 +9764,9 @@ nsHTMLPluginObjElementSH::NewResolve(nsIXPConnectWrappedNative *wrapper, nsCOMPtr plugin_internal = do_QueryInterface(pi); -#ifdef OJI - nsCOMPtr java_plugin_instance = - do_QueryInterface(pi); -#endif - // Bail if we don't have a plugin instance or this is an NPRuntime or Java // plugin since the following code is only useful for XPCOM plugins. - if (!pi || (plugin_internal && plugin_internal->GetJSObject(cx)) -#ifdef OJI - || java_plugin_instance -#endif - ) { + if (!pi || (plugin_internal && plugin_internal->GetJSObject(cx))) { return nsHTMLElementSH::NewResolve(wrapper, cx, obj, id, flags, objp, _retval); } diff --git a/dom/base/nsDOMClassInfo.h b/dom/base/nsDOMClassInfo.h index f6143e63e43..f39effad1ed 100644 --- a/dom/base/nsDOMClassInfo.h +++ b/dom/base/nsDOMClassInfo.h @@ -329,14 +329,6 @@ protected: static jsval sOnpaste_id; static jsval sJava_id; static jsval sPackages_id; -#ifdef OJI - static jsval sNetscape_id; - static jsval sSun_id; - static jsval sJavaObject_id; - static jsval sJavaClass_id; - static jsval sJavaArray_id; - static jsval sJavaMember_id; -#endif static const JSClass *sXPCNativeWrapperClass; }; diff --git a/dom/base/nsGlobalWindow.cpp b/dom/base/nsGlobalWindow.cpp index 79bfc97a566..7d15f37258e 100644 --- a/dom/base/nsGlobalWindow.cpp +++ b/dom/base/nsGlobalWindow.cpp @@ -74,10 +74,6 @@ #include "nsIPluginHost.h" #include "nsPIPluginHost.h" #include "nsGeolocation.h" -#ifdef OJI -#include "nsIJVMManager.h" -#include "nsILiveConnectManager.h" -#endif #include "nsContentCID.h" #include "nsLayoutStatics.h" #include "nsCycleCollector.h" @@ -346,9 +342,6 @@ static PRBool gDOMWindowDumpEnabled = PR_FALSE; PR_END_MACRO // CIDs -#ifdef OJI -static NS_DEFINE_CID(kJVMServiceCID, NS_JVMMANAGER_CID); -#endif static NS_DEFINE_CID(kXULControllersCID, NS_XULCONTROLLERS_CID); static const char sJSStackContractID[] = "@mozilla.org/js/xpc/ContextStack;1"; @@ -5810,37 +5803,6 @@ nsGlobalWindow::InitJavaProperties() // No NPRuntime enabled Java plugin found, null out the owner we // would have used in that case as it's no longer needed. mDummyJavaPluginOwner = nsnull; - -#ifdef OJI - JSContext *cx = (JSContext *)scx->GetNativeContext(); - - nsCOMPtr manager = - do_GetService(nsIJVMManager::GetCID()); - - if (!manager) { - return; - } - - PRBool started = PR_FALSE; - manager->StartupLiveConnect(::JS_GetRuntime(cx), started); - - nsCOMPtr jvmManager(do_QueryInterface(manager)); - - if (!jvmManager) { - return; - } - - PRBool javaEnabled = PR_FALSE; - if (NS_FAILED(jvmManager->GetJavaEnabled(&javaEnabled)) || !javaEnabled) { - return; - } - - { - JSAutoRequest ar(cx); - - manager->InitLiveConnectClasses(cx, mJSObject); - } -#endif } void* @@ -9291,17 +9253,6 @@ nsNavigator::JavaEnabled(PRBool *aReturn) { *aReturn = nsContentUtils::GetBoolPref("security.enable_java"); -#ifdef OJI - // Ask the nsIJVMManager if Java is enabled - nsCOMPtr jvmService = do_GetService(kJVMServiceCID); - if (jvmService) { - jvmService->GetJavaEnabled(aReturn); - } - else { - *aReturn = PR_FALSE; - } -#endif - return NS_OK; } diff --git a/embedding/browser/activex/src/plugin/LegacyPlugin.cpp b/embedding/browser/activex/src/plugin/LegacyPlugin.cpp index eae31990e82..19672878200 100644 --- a/embedding/browser/activex/src/plugin/LegacyPlugin.cpp +++ b/embedding/browser/activex/src/plugin/LegacyPlugin.cpp @@ -37,7 +37,6 @@ * ***** END LICENSE BLOCK ***** */ #include "stdafx.h" -#include "jni.h" #include "npapi.h" #include "nsISupports.h" @@ -46,10 +45,6 @@ #include "XPConnect.h" #endif -#ifdef MOZ_ACTIVEX_PLUGIN_LIVECONNECT -#include "LiveConnect.h" -#endif - #include "LegacyPlugin.h" #ifdef XPC_IDISPATCH_SUPPORT @@ -244,26 +239,10 @@ NPError NPP_Initialize(void) void NPP_Shutdown(void) { ATLTRACE(_T("NPP_Shutdown()\n")); -#ifdef MOZ_ACTIVEX_PLUGIN_LIVECONNECT - liveconnect_Shutdown(); -#endif _Module.Unlock(); } -// NPP_GetJavaClass -// -// Return the Java class representing this plugin -// -jref NPP_GetJavaClass(void) -{ - ATLTRACE(_T("NPP_GetJavaClass()\n")); -#ifdef MOZ_ACTIVEX_PLUGIN_LIVECONNECT - return liveconnect_GetJavaClass(); -#endif - return NULL; -} - #define MIME_OLEOBJECT1 "application/x-oleobject" #define MIME_OLEOBJECT2 "application/oleobject" diff --git a/embedding/browser/activex/src/plugin/LiveConnect.cpp b/embedding/browser/activex/src/plugin/LiveConnect.cpp deleted file mode 100644 index e2ab9053b38..00000000000 --- a/embedding/browser/activex/src/plugin/LiveConnect.cpp +++ /dev/null @@ -1,545 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Adam Lock - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ -#include "stdafx.h" - -#include "jni.h" -#include "npapi.h" - -#include "_java/java_lang_Throwable.h" -#include "_java/java_lang_Error.h" -#include "_java/java_lang_String.h" -#include "_java/java_lang_Boolean.h" -#include "_java/java_lang_Number.h" -#include "_java/java_lang_Integer.h" -#include "_java/java_lang_Long.h" -// TODO: -// These things require certain native statics to be implemented -// so they're commented out for the time being. -//#include "_java/java_lang_Double.h" -//#include "_java/java_lang_Float.h" -#include "_java/java_lang_Character.h" -#include "_java/netscape_plugin_Plugin.h" -#include "_java/MozAxPlugin.h" - -#include "LegacyPlugin.h" -#include "LiveConnect.h" - -void liveconnect_Shutdown() -{ - JRIEnv* env = NPN_GetJavaEnv(); - if (env) { - unuse_MozAxPlugin(env); - unuse_netscape_plugin_Plugin(env); - unuse_java_lang_Error(env); -// unuse_java_lang_String(env); - unuse_java_lang_Number(env); - unuse_java_lang_Boolean(env); - unuse_java_lang_Integer(env); - unuse_java_lang_Long(env); -// unuse_java_lang_Float(env); -// unuse_java_lang_Double(env); - unuse_java_lang_Character(env); - } -} - -jref liveconnect_GetJavaClass() -{ - JRIEnv* env = NPN_GetJavaEnv(); - if (env) { - // Note: The order of these is important (for some unknown reason) - // and was determined through trial and error. Do not rearrange - // without testing the new order! - use_netscape_plugin_Plugin(env); - jref myClass = (jref) use_MozAxPlugin(env); - use_java_lang_Error(env); -// use_java_lang_String(env); - use_java_lang_Number(env); - use_java_lang_Boolean(env); - use_java_lang_Integer(env); - use_java_lang_Long(env); -// use_java_lang_Float(env); -// use_java_lang_Double(env); - use_java_lang_Character(env); - return myClass; - } - return NULL; -} - -// The following will be callable from Javascript through LiveConnect -HRESULT -_GetIDispatchFromJRI(JRIEnv *env, struct MozAxPlugin* self, IDispatch **pdisp) -{ - if (pdisp == NULL || env == NULL || self == NULL) - { - return E_INVALIDARG; - } - *pdisp = NULL; - - // Note: You get a nasty crash calling self->getPeer(env), this obscure cast fixes - // it. More details in the link: - // - // http://groups.google.com/groups?selm=385D9543.4087F1C6%40ermapper.com.au&output=gplain - - NPP npp = (NPP) netscape_plugin_Plugin_getPeer(env, - reinterpret_cast (self)); - PluginInstanceData *pData = (PluginInstanceData *) npp->pdata; - if (pData == NULL) - { - return E_FAIL; - } - - IUnknownPtr unk; - HRESULT hr = pData->pControlSite->GetControlUnknown(&unk); - if (unk.GetInterfacePtr() == NULL) - { - return E_FAIL; - } - - IDispatchPtr disp = unk; - if (disp.GetInterfacePtr() == NULL) - { - return E_FAIL; - } - - *pdisp = disp.GetInterfacePtr(); - (*pdisp)->AddRef(); - - return S_OK; -} - -HRESULT -_VariantToJRIObject(JRIEnv *env, VARIANT *v, java_lang_Object **o) -{ - if (v == NULL || env == NULL || o == NULL) - { - return E_INVALIDARG; - } - - *o = NULL; - - // TODO - VT_BYREF will cause problems - if (v->vt == VT_EMPTY) - { - return S_OK; - } - else if (v->vt == VT_BOOL) - { - jbool value = (v->boolVal == VARIANT_TRUE) ? JRITrue : JRIFalse; - java_lang_Boolean *j = java_lang_Boolean_new(env, - class_java_lang_Boolean(env), value); - *o = reinterpret_cast(j); - return S_OK; - } - else if (v->vt == VT_I4) - { - jlong value = v->lVal; - java_lang_Long *j = java_lang_Long_new(env, - class_java_lang_Long(env), value); - *o = reinterpret_cast(j); - return S_OK; - } - else if (v->vt == VT_I2) - { - jlong value = v->iVal; - java_lang_Long *j = java_lang_Long_new(env, - class_java_lang_Long(env), value); - *o = reinterpret_cast(j); - return S_OK; - } -/* else if (v->vt == VT_R4) - { - jfloat value = v->fltVal; - java_lang_Float *j = java_lang_Float_new(env, - class_java_lang_Float(env), value); - *o = reinterpret_cast(j); - return S_OK; - } - else if (v->vt == VT_R8) - { - jdouble value = v->dblVal; - java_lang_Double *j = java_lang_Double_new(env, - class_java_lang_Double(env), value); - *o = reinterpret_cast(j); - return S_OK; - } */ - else if (v->vt == VT_BSTR) - { - USES_CONVERSION; - char * value = OLE2A(v->bstrVal); - java_lang_String *j = JRI_NewStringUTF(env, value, strlen(value)); - *o = reinterpret_cast(j); - return S_OK; - } - /* TODO else if VT_UI1 etc. */ - - return E_FAIL; -} - -HRESULT -_JRIObjectToVariant(JRIEnv *env, java_lang_Object *o, VARIANT *v) -{ - VariantInit(v); - if (JRI_IsInstanceOf(env, (jref) o, class_java_lang_String(env))) - { - USES_CONVERSION; - const char *value = JRI_GetStringUTFChars(env, reinterpret_cast(o)); - v->vt = VT_BSTR; - v->bstrVal = SysAllocString(A2COLE(value)); - } - else if (JRI_IsInstanceOf(env, (jref) o, class_java_lang_Boolean(env))) - { - jbool value = java_lang_Boolean_booleanValue(env, reinterpret_cast(o)); - v->vt = VT_BOOL; - v->boolVal = value == JRITrue ? VARIANT_TRUE : VARIANT_FALSE; - } - else if (JRI_IsInstanceOf(env, o, class_java_lang_Integer(env))) - { - jint value = java_lang_Integer_intValue(env, reinterpret_cast(o)); - v->vt = VT_I4; - v->lVal = value; - } - else if (JRI_IsInstanceOf(env, o, class_java_lang_Long(env))) - { - jlong value = java_lang_Long_longValue(env, reinterpret_cast(o)); - v->vt = VT_I4; - v->lVal = value; - } -/* else if (JRI_IsInstanceOf(env, o, class_java_lang_Double(env))) - { - jdouble value = java_lang_Double_doubleValue(env, reinterpret_cast(o)); - v->vt = VT_R8; - v->dblVal = value; - } - else if (JRI_IsInstanceOf(env, o, class_java_lang_Float(env))) - { - jfloat value = java_lang_Float_floatValue(env, reinterpret_cast(o)); - v->vt = VT_R4; - v->fltVal = value; - } */ - else if (JRI_IsInstanceOf(env, o, class_java_lang_Character(env))) - { - jchar value = java_lang_Character_charValue(env, reinterpret_cast(o)); - v->vt = VT_UI1; - v->bVal = value; - } - else if (JRI_IsInstanceOf(env, o, class_java_lang_Number(env))) - { - jlong value = java_lang_Number_longValue(env, reinterpret_cast(o)); - v->vt = VT_I4; - v->lVal = value; - } - else - { - // TODO dump diagnostic error here - return E_FAIL; - } - return S_OK; -} - -struct java_lang_Object * -_InvokeFromJRI(JRIEnv *env, struct MozAxPlugin* self, struct java_lang_String *func, int nargs, java_lang_Object *args[]) -{ - HRESULT hr; - DISPID dispid = 0; - - // call the requested function - const char* funcName = JRI_GetStringUTFChars(env, func); - - IDispatchPtr disp; - if (FAILED(_GetIDispatchFromJRI(env, self, &disp))) - { - return NULL; - } - - _variant_t *vargs = new _variant_t[nargs]; - for (int i = 0; i < nargs; i++) - { - if (FAILED(_JRIObjectToVariant(env, args[i], &vargs[i]))) - { - delete []vargs; - char error[64]; - sprintf(error, "Argument %d could not be converted into a variant", i); - JRI_ThrowNew(env, class_java_lang_Error(env), error); - return NULL; - } - } - - USES_CONVERSION; - OLECHAR FAR* szMember = A2OLE(funcName); - hr = disp->GetIDsOfNames(IID_NULL, &szMember, 1, LOCALE_USER_DEFAULT, &dispid); - if (FAILED(hr)) - { - char error[128]; - memset(error, 0, sizeof(error)); - _snprintf(error, sizeof(error) - 1, "invoke failed, member \"%s\" not found, hr=0x%08x", funcName, hr); - JRI_ThrowNew(env, class_java_lang_Error(env), error); - return NULL; - } - - DISPPARAMS dispparams = {NULL, NULL, 0, 0}; - dispparams.rgvarg = vargs; - dispparams.cArgs = nargs; - - _variant_t vResult; - hr = disp->Invoke( - dispid, - IID_NULL, - LOCALE_USER_DEFAULT, - DISPATCH_METHOD, - &dispparams, &vResult, NULL, NULL); - - if (FAILED(hr)) - { - char error[64]; - sprintf(error, "invoke failed, result from object = 0x%08x", hr); - JRI_ThrowNew(env, class_java_lang_Error(env), error); - return NULL; - } - - java_lang_Object *oResult = NULL; - _VariantToJRIObject(env, &vResult, &oResult); - - return reinterpret_cast(oResult); -} - -/******************************************************************************* - * Native Methods: - * These are the native methods which we are implementing. - ******************************************************************************/ - -/*** private native xinvoke (Ljava/lang/String;)Ljava/lang/Object; ***/ -extern "C" JRI_PUBLIC_API(struct java_lang_Object *) -native_MozAxPlugin_xinvoke(JRIEnv* env, struct MozAxPlugin* self, struct java_lang_String *a) -{ - return _InvokeFromJRI(env, self, a, 0, NULL); -} - -/*** private native xinvoke1 (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; ***/ -extern "C" JRI_PUBLIC_API(struct java_lang_Object *) -native_MozAxPlugin_xinvoke1(JRIEnv* env, struct MozAxPlugin* self, struct java_lang_String *a, struct java_lang_Object *b) -{ - java_lang_Object *args[1]; - args[0] = b; - return _InvokeFromJRI(env, self, a, sizeof(args) / sizeof(args[0]), args); -} - -/*** private native xinvoke2 (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ***/ -extern "C" JRI_PUBLIC_API(struct java_lang_Object *) -native_MozAxPlugin_xinvoke2(JRIEnv* env, struct MozAxPlugin* self, struct java_lang_String *a, struct java_lang_Object *b, struct java_lang_Object *c) -{ - java_lang_Object *args[2]; - args[0] = b; - args[1] = c; - return _InvokeFromJRI(env, self, a, sizeof(args) / sizeof(args[0]), args); -} - -/*** private native xinvoke3 (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ***/ -extern "C" JRI_PUBLIC_API(struct java_lang_Object *) -native_MozAxPlugin_xinvoke3(JRIEnv* env, struct MozAxPlugin* self, struct java_lang_String *a, struct java_lang_Object *b, struct java_lang_Object *c, struct java_lang_Object *d) -{ - java_lang_Object *args[3]; - args[0] = b; - args[1] = c; - args[2] = d; - return _InvokeFromJRI(env, self, a, sizeof(args) / sizeof(args[0]), args); -} - -/*** private native xinvoke4 (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ***/ -extern "C" JRI_PUBLIC_API(struct java_lang_Object *) -native_MozAxPlugin_xinvoke4(JRIEnv* env, struct MozAxPlugin* self, struct java_lang_String *a, struct java_lang_Object *b, struct java_lang_Object *c, struct java_lang_Object *d, struct java_lang_Object *e) -{ - java_lang_Object *args[4]; - args[0] = b; - args[1] = c; - args[2] = d; - args[3] = e; - return _InvokeFromJRI(env, self, a, sizeof(args) / sizeof(args[0]), args); -} - -/*** private native xinvokeX (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object; ***/ -extern "C" JRI_PUBLIC_API(struct java_lang_Object *) -native_MozAxPlugin_xinvokeX(JRIEnv* env, struct MozAxPlugin* self, struct java_lang_String *a, jobjectArray b) -{ - // Turn the Java array of objects into a C++ array - jsize length = JRI_GetObjectArrayLength(env, b); - java_lang_Object **args = NULL; - if (length) - { - args = (java_lang_Object **) malloc(length * sizeof(java_lang_Object *)); - for (long i = 0; i < length; i++) - { - args[i] = reinterpret_cast(JRI_GetObjectArrayElement(env, b, i)); - } - } - java_lang_Object *o = _InvokeFromJRI(env, self, a, length, args); - free(args); - return o; -} - -/*** private native xgetProperty (Ljava/lang/String;)Ljava/lang/Object; ***/ -extern "C" JRI_PUBLIC_API(struct java_lang_Object *) -native_MozAxPlugin_xgetProperty(JRIEnv* env, struct MozAxPlugin* self, struct java_lang_String *a) -{ - HRESULT hr; - DISPID dispid; - _variant_t vResult; - - IDispatchPtr disp; - if (FAILED(_GetIDispatchFromJRI(env, self, &disp))) - { - return NULL; - } - - // return the requested property to the Java peer - USES_CONVERSION; - OLECHAR FAR* szMember = A2OLE(JRI_GetStringUTFChars(env, a)); - hr = disp->GetIDsOfNames(IID_NULL, &szMember, 1, LOCALE_USER_DEFAULT, &dispid); - if (FAILED(hr)) - { - char error[128]; - memset(error, 0, sizeof(error)); - _snprintf(error, sizeof(error) - 1, "getProperty failed, member \"%s\" not found, hr=0x%08x", szMember, hr); - JRI_ThrowNew(env, class_java_lang_Error(env), error); - return NULL; - } - DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - hr = disp->Invoke( - dispid, - IID_NULL, - LOCALE_USER_DEFAULT, - DISPATCH_PROPERTYGET, - &dispparamsNoArgs, &vResult, NULL, NULL); - if (FAILED(hr)) - { - char error[64]; - sprintf(error, "getProperty failed, result from object = 0x%08x", hr); - JRI_ThrowNew(env, class_java_lang_Error(env), error); - return NULL; - } - - java_lang_Object *oResult = NULL; - _VariantToJRIObject(env, &vResult, &oResult); - - return oResult; -} - -/*** private native xsetProperty2 (Ljava/lang/String;Ljava/lang/Object;)V ***/ -extern "C" JRI_PUBLIC_API(void) -native_MozAxPlugin_xsetProperty2(JRIEnv* env, struct MozAxPlugin* self, struct java_lang_String *a, struct java_lang_Object *b) - -{ - HRESULT hr; - DISPID dispid; - VARIANT VarResult; - - IDispatchPtr disp; - if (FAILED(_GetIDispatchFromJRI(env, self, &disp))) - { - return; - } - - USES_CONVERSION; - OLECHAR FAR* szMember = A2OLE(JRI_GetStringUTFChars(env, a)); - hr = disp->GetIDsOfNames(IID_NULL, &szMember, 1, LOCALE_USER_DEFAULT, &dispid); - if (FAILED(hr)) - { - char error[128]; - memset(error, 0, sizeof(error)); - _snprintf(error, sizeof(error) - 1, "setProperty failed, member \"%s\" not found, hr=0x%08x", szMember, hr); - JRI_ThrowNew(env, class_java_lang_Error(env), error); - return; - } - - _variant_t *pvars = new _variant_t[1]; - if (FAILED(_JRIObjectToVariant(env, b, &pvars[0]))) - { - delete []pvars; - char error[64]; - sprintf(error, "Property value could not be converted into a variant"); - JRI_ThrowNew(env, class_java_lang_Error(env), error); - return; - } - - DISPID dispIdPut = DISPID_PROPERTYPUT; - - DISPPARAMS functionArgs; - functionArgs.rgdispidNamedArgs = &dispIdPut; - functionArgs.rgvarg = pvars; - functionArgs.cArgs = 1; - functionArgs.cNamedArgs = 1; - - hr = disp->Invoke( - dispid, - IID_NULL, - LOCALE_USER_DEFAULT, - DISPATCH_PROPERTYPUT, - &functionArgs, &VarResult, NULL, NULL); - - delete []pvars; - - if (FAILED(hr)) - { - char error[64]; - sprintf(error, "setProperty failed, result from object = 0x%08x", hr); - JRI_ThrowNew(env, class_java_lang_Error(env), error); - return; - } -} - -/*** private native xsetProperty1 (Ljava/lang/String;Ljava/lang/String;)V ***/ -extern "C" JRI_PUBLIC_API(void) -native_MozAxPlugin_xsetProperty1(JRIEnv* env, struct MozAxPlugin* self, struct java_lang_String *a, struct java_lang_String *b) -{ - native_MozAxPlugin_xsetProperty2(env, self, a, reinterpret_cast(b)); -} - - -/////////////////////////////////////////////////////////////////////////////// - -/*** private native printStackTrace0 (Ljava/io/PrintStream;)V ***/ -extern "C" JRI_PUBLIC_API(void) -native_java_lang_Throwable_printStackTrace0(JRIEnv* env, struct java_lang_Throwable* self, struct java_io_PrintStream *a) -{ -} - -/*** public native fillInStackTrace ()Ljava/lang/Throwable; ***/ -extern "C" JRI_PUBLIC_API(struct java_lang_Throwable *) -native_java_lang_Throwable_fillInStackTrace(JRIEnv* env, struct java_lang_Throwable* self) -{ - return self; -} diff --git a/embedding/browser/activex/src/plugin/LiveConnect.h b/embedding/browser/activex/src/plugin/LiveConnect.h deleted file mode 100644 index f0b5ec862ce..00000000000 --- a/embedding/browser/activex/src/plugin/LiveConnect.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Adam Lock - * Paul Oswald - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ -#ifndef LIVECONNECT_H -#define LIVECONNECT_H - -extern void liveconnect_Shutdown(); -extern jref liveconnect_GetJavaClass(); - -#endif \ No newline at end of file diff --git a/embedding/browser/activex/src/plugin/Makefile.in b/embedding/browser/activex/src/plugin/Makefile.in index 27c89016c34..0ba0210e9e7 100644 --- a/embedding/browser/activex/src/plugin/Makefile.in +++ b/embedding/browser/activex/src/plugin/Makefile.in @@ -53,7 +53,6 @@ GRE_MODULE = 1 REQUIRES = \ xpcom \ - java \ plugin \ string \ dom \ @@ -86,35 +85,6 @@ NO_INSTALL = 1 # Path to the Mozilla ActiveX common dir (some files are copied from there) AXCOMMONSRC=$(srcdir)/../common -############ -# LiveConnect settings - -# MOZ_ACTIVEX_PLUGIN_LIVECONNECT = 1 - -# Settings that specify where the PluginSDK, Java compiler (javac or oldjavac), -# Java header file generator (javah) and classes live. -# -# You need the Netscape PluginSDK: -# -# http://home.netscape.com/comprod/development_partners/plugin_api/index.html -# -# You also need a JDK with the old java compiler. Anything from 1.3 -# downwards should do. See here for various JDK releases: -# -# http://java.sun.com/products/archive/index.html -# -# You should use the javah found in the plugin SDK because this generates -# the JRI stubs. - -ifdef MOZ_ACTIVEX_PLUGIN_LIVECONNECT -PLUGINSDK = c:/m/PluginSDK -SDK_JAVADIR = c:/jdk1.02 -SDK_JAVAH = $(PLUGINSDK)/bin/win32/javah -SDK_JAVAC = $(SDK_JAVADIR)/bin/javac -SDK_CLASSES = $(PLUGINSDK)/classes/java_30.zip -SDK_CLASSPATH = "$(subst /,\,$(SDK_CLASSES));." -endif - ############ # XPConnect settings @@ -158,7 +128,7 @@ _AXCOMMON_CPPSRCS = \ ItemContainer.cpp \ PropertyBag.cpp \ $(NULL) -CPPSRCS += LiveConnect.cpp $(_AXCOMMON_CPPSRCS) +CPPSRCS += $(_AXCOMMON_CPPSRCS) CSRCS += javastubs.c endif @@ -206,16 +176,6 @@ LIBS = \ $(NSPR_LIBS) \ $(NULL) -# LiveConnect links to XPCOM glue -ifdef MOZ_ACTIVEX_PLUGIN_LIVECONNECT -EXTRA_DSO_LDOPTS += \ - $(DIST)/lib/$(LIB_PREFIX)string_s.$(LIB_SUFFIX) \ - $(DIST)/lib/$(LIB_PREFIX)xpcomglue.$(LIB_SUFFIX) -LIBS += \ - $(DIST)/lib/$(LIB_PREFIX)string_s.$(LIB_SUFFIX) \ - $(DIST)/lib/$(LIB_PREFIX)xpcomglue.$(LIB_SUFFIX) -endif - # XPConnect links to XPCOM and the shared activex lib ifdef XPC_IDISPATCH_SUPPORT EXTRA_DSO_LDOPTS += \ @@ -225,8 +185,6 @@ EXTRA_DSO_LDOPTS += \ $(NULL) endif - - SRCS_IN_OBJDIR = 1 ENABLE_CXX_EXCEPTIONS = 1 @@ -304,118 +262,3 @@ $(DEFFILE): @echo "NP_GetEntryPoints @1" >> $@ @echo "NP_Initialize @2" >> $@ @echo "NP_Shutdown @3" >> $@ - -ifdef MOZ_ACTIVEX_PLUGIN_LIVECONNECT -./MozAxPlugin.class: ./MozAxPlugin.java - $(SDK_JAVAC) -classpath $(SDK_CLASSPATH) MozAxPlugin.java - -./_java/MozAxPlugin.h \ -./_java/MozAxPlugin.c: ./MozAxPlugin.class - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java MozAxPlugin - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java MozAxPlugin - -./_java/java_lang_Object.h \ -./_java/java_lang_Object.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Object - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Object - -./_java/java_lang_Error.h \ -./_java/java_lang_Error.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Error - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Error - -./_java/java_lang_Throwable.h \ -./_java/java_lang_Throwable.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Throwable - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Throwable - -./_java/java_lang_String.h \ -./_java/java_lang_String.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.String - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.String - -./_java/java_lang_Boolean.h \ -./_java/java_lang_Boolean.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Boolean - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Boolean - -./_java/java_lang_Number.h \ -./_java/java_lang_Number.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Number - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Number - -./_java/java_lang_Integer.h \ -./_java/java_lang_Integer.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Integer - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Integer - -./_java/java_lang_Short.h \ -./_java/java_lang_Short.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Short - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Short - -./_java/java_lang_Long.h \ -./_java/java_lang_Long.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Long - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Long - -./_java/java_lang_Double.h \ -./_java/java_lang_Double.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Double - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Double - -./_java/java_lang_Float.h \ -./_java/java_lang_Float.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Float - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Float - -./_java/java_lang_Byte.h \ -./_java/java_lang_Byte.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Byte - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Byte - -./_java/java_lang_Character.h \ -./_java/java_lang_Character.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java java.lang.Character - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java java.lang.Character - -./_java/netscape_plugin_Plugin.h \ -./_java/netscape_plugin_Plugin.c : $(SDK_CLASSES) - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -d _java netscape.plugin.Plugin - $(SDK_JAVAH) -classpath $(SDK_CLASSPATH) -jri -stubs -d _java netscape.plugin.Plugin - -javastubs.c : \ - ./MozAxPlugin.class \ - ./_java/MozAxPlugin.c \ - ./_java/netscape_plugin_Plugin.c \ - ./_java/java_lang_Object.c \ - ./_java/java_lang_Throwable.c \ - ./_java/java_lang_Error.c \ - ./_java/java_lang_String.c \ - ./_java/java_lang_Boolean.c \ - ./_java/java_lang_Number.c \ - ./_java/java_lang_Integer.c \ - ./_java/java_lang_Long.c \ - ./_java/java_lang_Double.c \ - ./_java/java_lang_Float.c \ - ./_java/java_lang_Character.c \ - $(NULL) - -LiveConnect.cpp: StdAfx.h \ - ./MozAxPlugin.class \ - ./_java/MozAxPlugin.h \ - ./_java/netscape_plugin_Plugin.h \ - ./_java/java_lang_Object.h \ - ./_java/java_lang_Throwable.h \ - ./_java/java_lang_Error.h \ - ./_java/java_lang_String.h \ - ./_java/java_lang_Boolean.h \ - ./_java/java_lang_Number.h \ - ./_java/java_lang_Integer.h \ - ./_java/java_lang_Long.h \ - ./_java/java_lang_Double.h \ - ./_java/java_lang_Float.h \ - ./_java/java_lang_Character.h \ - $(NULL) -endif - diff --git a/embedding/browser/activex/src/plugin/javastubs.c b/embedding/browser/activex/src/plugin/javastubs.c deleted file mode 100644 index ec909b5cfba..00000000000 --- a/embedding/browser/activex/src/plugin/javastubs.c +++ /dev/null @@ -1,17 +0,0 @@ -/* NOTE: This is a C file to avoid some nasty typecasting issues that C++ has - with the JDK generated code. - */ - -#define IMPLEMENT_MozAxPlugin -#include "_java/MozAxPlugin.c" -#include "_java/netscape_plugin_Plugin.c" -#include "_java/java_lang_Throwable.c" -#include "_java/java_lang_Error.c" -#include "_java/java_lang_String.c" -#include "_java/java_lang_Boolean.c" -#include "_java/java_lang_Number.c" -#include "_java/java_lang_Integer.c" -#include "_java/java_lang_Long.c" -//#include "_java/java_lang_Double.c" -//#include "_java/java_lang_Float.c" -#include "_java/java_lang_Character.c" diff --git a/layout/generic/nsObjectFrame.cpp b/layout/generic/nsObjectFrame.cpp index e915f0f2627..b3178cb67a0 100644 --- a/layout/generic/nsObjectFrame.cpp +++ b/layout/generic/nsObjectFrame.cpp @@ -76,9 +76,6 @@ #include "nsIPluginInstancePeer2.h" #include "plstr.h" #include "nsILinkHandler.h" -#ifdef OJI -#include "nsIJVMPluginTagInfo.h" -#endif #include "nsIEventListener.h" #include "nsIScrollableView.h" #include "nsIScrollPositionListener.h" @@ -236,9 +233,6 @@ public: class nsPluginInstanceOwner : public nsIPluginInstanceOwner, public nsIPluginTagInfo2, -#ifdef OJI - public nsIJVMPluginTagInfo, -#endif public nsIEventListener, public nsITimerCallback, public nsIDOMMouseListener, @@ -319,21 +313,6 @@ public: NS_IMETHOD GetDOMElement(nsIDOMElement* *result); -#ifdef OJI - //nsIJVMPluginTagInfo interface - - NS_IMETHOD GetCode(const char* *result); - - NS_IMETHOD GetCodeBase(const char* *result); - - NS_IMETHOD GetArchive(const char* *result); - - NS_IMETHOD GetName(const char* *result); - - NS_IMETHOD GetMayScript(PRBool *result); - -#endif /* OJI */ - // nsIDOMMouseListener interfaces NS_IMETHOD MouseDown(nsIDOMEvent* aMouseEvent); NS_IMETHOD MouseUp(nsIDOMEvent* aMouseEvent); @@ -2311,9 +2290,6 @@ NS_INTERFACE_MAP_BEGIN(nsPluginInstanceOwner) NS_INTERFACE_MAP_ENTRY(nsIPluginInstanceOwner) NS_INTERFACE_MAP_ENTRY(nsIPluginTagInfo) NS_INTERFACE_MAP_ENTRY(nsIPluginTagInfo2) -#ifdef OJI - NS_INTERFACE_MAP_ENTRY(nsIJVMPluginTagInfo) -#endif NS_INTERFACE_MAP_ENTRY(nsIEventListener) NS_INTERFACE_MAP_ENTRY(nsITimerCallback) NS_INTERFACE_MAP_ENTRY(nsIDOMMouseListener) @@ -2939,69 +2915,6 @@ NS_IMETHODIMP nsPluginInstanceOwner::GetUniqueID(PRUint32 *result) return NS_OK; } -#ifdef OJI -NS_IMETHODIMP nsPluginInstanceOwner::GetCode(const char* *result) -{ - nsresult rv; - nsPluginTagType tagType; - NS_ENSURE_SUCCESS(rv = GetTagType(&tagType), rv); - - rv = NS_ERROR_FAILURE; - if (nsPluginTagType_Object != tagType) - rv = GetAttribute("CODE", result); - if (NS_FAILED(rv)) - rv = GetParameter("CODE", result); - - return rv; -} - -NS_IMETHODIMP nsPluginInstanceOwner::GetCodeBase(const char* *result) -{ - nsresult rv; - if (NS_FAILED(rv = GetAttribute("CODEBASE", result))) - rv = GetParameter("CODEBASE", result); - return rv; -} - -NS_IMETHODIMP nsPluginInstanceOwner::GetArchive(const char* *result) -{ - nsresult rv; - if (NS_FAILED(rv = GetAttribute("ARCHIVE", result))) - rv = GetParameter("ARCHIVE", result); - return rv; -} - -NS_IMETHODIMP nsPluginInstanceOwner::GetName(const char* *result) -{ - nsresult rv; - nsPluginTagType tagType; - NS_ENSURE_SUCCESS(rv = GetTagType(&tagType), rv); - - rv = NS_ERROR_FAILURE; - if (nsPluginTagType_Object != tagType) - rv = GetAttribute("NAME", result); - if (NS_FAILED(rv)) - rv = GetParameter("NAME", result); - - return rv; -} - -NS_IMETHODIMP nsPluginInstanceOwner::GetMayScript(PRBool *result) -{ - NS_ENSURE_ARG_POINTER(result); - nsPluginTagType tagType; - NS_ENSURE_SUCCESS(GetTagType(&tagType), NS_ERROR_FAILURE); - - const char* unused; - if (nsPluginTagType_Object == tagType) - *result = NS_SUCCEEDED(GetParameter("MAYSCRIPT", &unused)); - else - *result = NS_SUCCEEDED(GetAttribute("MAYSCRIPT", &unused)); - - return NS_OK; -} -#endif /* OJI */ - // Cache the attributes and/or parameters of our tag into a single set // of arrays to be compatible with 4.x. The attributes go first, // followed by a PARAM/null and then any PARAM tags. Also, hold the diff --git a/modules/oji/Makefile.in b/modules/oji/Makefile.in deleted file mode 100644 index 3a9f347423c..00000000000 --- a/modules/oji/Makefile.in +++ /dev/null @@ -1,54 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = oji - -DIRS = public - -ifdef MOZ_OJI -DIRS += src -endif - -include $(topsrcdir)/config/rules.mk - diff --git a/modules/oji/public/Makefile.in b/modules/oji/public/Makefile.in deleted file mode 100644 index 76cbe78a0ad..00000000000 --- a/modules/oji/public/Makefile.in +++ /dev/null @@ -1,71 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = oji -GRE_MODULE = 1 - -XPIDLSRCS = \ - nsIJVMManager.idl \ - nsIJVMPluginInstance.idl \ - nsIJVMConfigManager.idl \ - $(NULL) - -EXPORTS = \ - nsjvm.h \ - nsIJRIPlugin.h \ - nsIJVMConsole.h \ - nsIJVMPlugin.h \ - nsIJVMPluginTagInfo.h \ - nsIJVMPrefsWindow.h \ - nsIJVMWindow.h \ - nsISymantecDebugManager.h \ - nsISymantecDebugger.h \ - nsISecureEnv.h \ - ProxyJNI.h \ - nsIJVMThreadManager.h \ - nsILiveConnectManager.h \ - $(NULL) - -include $(topsrcdir)/config/rules.mk - diff --git a/modules/oji/public/ProxyJNI.h b/modules/oji/public/ProxyJNI.h deleted file mode 100644 index 9383b4af406..00000000000 --- a/modules/oji/public/ProxyJNI.h +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/* - ProxyJNI.h - */ - -#ifndef PROXY_JNI_H -#define PROXY_JNI_H - -#ifndef JNI_H -#include -#endif - -class nsIJVMPlugin; -class nsISecureEnv; -class nsISecurityContext; -/** - * Creates a proxy JNIEnv using the given JVM plugin, and optional native JNIEnv*. - */ -JNIEnv* CreateProxyJNI(nsIJVMPlugin* jvmPlugin, nsISecureEnv* secureEnv = NULL); - -/** - * Deletes the proxy JNIEnv. Releases the connection - * to the underlying JVM. - */ -void DeleteProxyJNI(JNIEnv* proxyEnv); - - -/** - * Returns the secure env associated with the given proxy env. - */ -nsISecureEnv* GetSecureEnv(JNIEnv* proxyEnv); - -/** - * Sets SecurityCotext for proxy env - */ -PR_EXTERN(void) SetSecurityContext(JNIEnv* proxyEnv, nsISecurityContext *context); - -/** - * Gets current SecurityContext for proxy env - */ -PR_EXTERN(nsresult) GetSecurityContext(JNIEnv* proxyEnv, nsISecurityContext **context); -#endif /* PROXY_JNI_H */ - diff --git a/modules/oji/public/nsIJRIPlugin.h b/modules/oji/public/nsIJRIPlugin.h deleted file mode 100644 index 87db2065442..00000000000 --- a/modules/oji/public/nsIJRIPlugin.h +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS -// -// This interface allows a Java virtual machine to be plugged into -// Communicator to implement the APPLET tag and host applets. -// -// Note that this is the C++ interface that the plugin sees. The browser -// uses a specific implementation of this, nsJVMPlugin, found in jvmmgr.h. -//////////////////////////////////////////////////////////////////////////////// - -#ifndef nsIJRIPlugin_h___ -#define nsIJRIPlugin_h___ - -#include "nsISupports.h" -#include "jri.h" - -//////////////////////////////////////////////////////////////////////////////// -// JRI Plugin Class Interface -// This interface is provided for backward compatibility for the Netscape JVM. - -class nsIJRIPlugin : public nsISupports { -public: - - // QueryInterface on nsIJVMPlugin to get this. - - // Find or create a JRIEnv for the current thread. - // Returns NULL if an error occurs. - NS_IMETHOD_(nsrefcnt) - GetJRIEnv(JRIEnv* *result) = 0; - - // This method must be called when the caller is done using the JRIEnv. - // This decrements a refcount associated with it may free it. - NS_IMETHOD_(nsrefcnt) - ReleaseJRIEnv(JRIEnv* env) = 0; - -}; - -#define NS_IJRIPLUGIN_IID \ -{ /* bfe2d7d0-0164-11d2-815b-006008119d7a */ \ - 0xbfe2d7d0, \ - 0x0164, \ - 0x11d2, \ - {0x81, 0x5b, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ -} - -//////////////////////////////////////////////////////////////////////////////// - -#endif /* nsIJRIPlugin_h___ */ diff --git a/modules/oji/public/nsIJVMConfigManager.idl b/modules/oji/public/nsIJVMConfigManager.idl deleted file mode 100644 index 4a3955862aa..00000000000 --- a/modules/oji/public/nsIJVMConfigManager.idl +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is Sun Microsystems. - * Portions created by the Initial Developer are Copyright (C) 2003 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Pete Zha (original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "nsIArray.idl" -#include "nsIFile.idl" - -%{C++ -#define NS_JVMCONFIGMANAGER_CID \ -{ /* 4a68cee9-6f07-4950-b441-a1ce6a082e2f */ \ - 0x4a68cee9, \ - 0x6f07, \ - 0x4950, \ - {0xb4, 0x41, 0xa1, 0xce, 0x6a, 0x08, 0x2e, 0x2f} \ -} -%} -/** - * This interface contains information for the Java installation. - */ -[scriptable, uuid(3e333e20-b190-42d8-b993-d5fa435e46c4)] -interface nsIJVMConfig : nsISupports { - readonly attribute AString version; - readonly attribute AString type; - readonly attribute AString OS; - readonly attribute AString arch; - readonly attribute nsIFile path; - readonly attribute nsIFile mozillaPluginPath; - readonly attribute AString description; -}; - -/** - * This interface is a manager that can get information about Java - * installations. - */ -[scriptable, uuid(ca29fff1-a677-493c-9d80-3dc60432212b)] -interface nsIJVMConfigManager : nsISupports { - /** - * This function returns a list of existing Java installations. - */ - nsIArray getJVMConfigList(); - - /** - * This function tells the browser to use a specific Java installation. - */ - void setCurrentJVMConfig(in nsIJVMConfig jvmConfig); -}; - diff --git a/modules/oji/public/nsIJVMConsole.h b/modules/oji/public/nsIJVMConsole.h deleted file mode 100644 index 7386ae8927e..00000000000 --- a/modules/oji/public/nsIJVMConsole.h +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS -// -// This interface allows a Java virtual machine to be plugged into -// Communicator to implement the APPLET tag and host applets. -// -// Note that this is the C++ interface that the plugin sees. The browser -// uses a specific implementation of this, nsJVMPlugin, found in jvmmgr.h. -//////////////////////////////////////////////////////////////////////////////// - -#ifndef nsIJVMConsole_h___ -#define nsIJVMConsole_h___ - -#include "nsIJVMWindow.h" - -#define NS_IJVMCONSOLE_IID \ -{ /* fefaf860-6220-11d2-8164-006008119d7a */ \ - 0xfefaf860, \ - 0x6220, \ - 0x11d2, \ - {0x81, 0x64, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ -} - -//////////////////////////////////////////////////////////////////////////////// -// JVM Console Interface -// This interface defines the API the browser needs to show and hide the JVM's -// Java console, and to send text to it. - -class nsIJVMConsole : public nsIJVMWindow { -public: - NS_IMETHOD - Show(void) = 0; - - NS_IMETHOD - Hide(void) = 0; - - NS_IMETHOD - IsVisible(PRBool *result) = 0; - - // Prints a message to the Java console. The encodingName specifies the - // encoding of the message, and if NULL, specifies the default platform - // encoding. - NS_IMETHOD - Print(const char* msg, const char* encodingName = NULL) = 0; - - NS_DECLARE_STATIC_IID_ACCESSOR(NS_IJVMCONSOLE_IID) -}; - -NS_DEFINE_STATIC_IID_ACCESSOR(nsIJVMConsole, NS_IJVMCONSOLE_IID) - -//////////////////////////////////////////////////////////////////////////////// - -#endif /* nsIJVMConsole_h___ */ diff --git a/modules/oji/public/nsIJVMManager.idl b/modules/oji/public/nsIJVMManager.idl deleted file mode 100644 index ac545fbb9a3..00000000000 --- a/modules/oji/public/nsIJVMManager.idl +++ /dev/null @@ -1,122 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "nsISupports.idl" - -%{C++ -#ifndef JNI_H -#include "jni.h" -#endif - -/* - Java VM Plugin Manager - This interface defines additional entry points that are available - to JVM plugins for browsers that support JVM plugins. -*/ -/* -#define NS_IJVMMANAGER_IID \ -{ / * a1e5ed50-aa4a-11d1-85b2-00805f0e4dfe * / \ - 0xa1e5ed50, \ - 0xaa4a, \ - 0x11d1, \ - {0x85, 0xb2, 0x00, 0x80, 0x5f, 0x0e, 0x4d, 0xfe} \ -} -*/ - -#define NS_JVMMANAGER_CID \ -{ /* 38e7ef10-58df-11d2-8164-006008119d7a */ \ - 0x38e7ef10, \ - 0x58df, \ - 0x11d2, \ - {0x81, 0x64, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ -} - -%} - -interface nsIJVMPlugin; -interface nsISecureEnv; -interface nsIPrincipal; -native JNIEnv(JNIEnv *); - -[scriptable, uuid(a1e5ed50-aa4a-11d1-85b2-00805f0e4dfe)] -interface nsIJVMManager : nsISupports { - -%{C++ - NS_DEFINE_STATIC_CID_ACCESSOR(NS_JVMMANAGER_CID) -%} - - /** - * Creates a proxy JNI with an optional secure environment (which can be NULL). - * There is a one-to-one correspondence between proxy JNIs and threads, so - * calling this method multiple times from the same thread will return - * the same proxy JNI. - */ - [noscript] void createProxyJNI(in nsISecureEnv secureEnv, out JNIEnv outProxyEnv); - - /** - * Returns the proxy JNI associated with the current thread, or NULL if no - * such association exists. - */ - [noscript] void getProxyJNI(out JNIEnv outProxyEnv); - - /** - * Called from Java Console menu item. - */ - - void showJavaConsole(); - - /** - * isAllPermissionGranted [Deprecated Sep-10-2000] - */ - - boolean isAllPermissionGranted(in string lastFingerprint,in string lastCommonName, - in string rootFingerprint,in string rootCommonName); - - /** - * isAppletTrusted - */ - - nsIPrincipal isAppletTrusted(in string aRSABuf, in PRUint32 aRSABufLen, - in string aPlaintext, in PRUint32 aPlaintextLen, - out boolean isTrusted); - - /** - * The JavaEnabled variable to see if Java is Enabled or not - */ - - readonly attribute boolean JavaEnabled; -}; diff --git a/modules/oji/public/nsIJVMPlugin.h b/modules/oji/public/nsIJVMPlugin.h deleted file mode 100644 index d3a24869da9..00000000000 --- a/modules/oji/public/nsIJVMPlugin.h +++ /dev/null @@ -1,130 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS -// -// This interface allows a Java virtual machine to be plugged into -// Communicator to implement the APPLET tag and host applets. -// -// Note that this is the C++ interface that the plugin sees. The browser -// uses a specific implementation of this, nsJVMPlugin, found in jvmmgr.h. -//////////////////////////////////////////////////////////////////////////////// - -#ifndef nsIJVMPlugin_h___ -#define nsIJVMPlugin_h___ - -#include "nsISupports.h" -#include "nsIPrincipal.h" -#include "jni.h" - -class nsISecureEnv; - -/** - * This MIME type is what should be used to signify a Java VM plugin. - */ -#define NS_JVM_MIME_TYPE "application/x-java-vm" // XXX "application/java" ? - - -#define NS_IJVMPLUGIN_IID \ -{ /* da6f3bc0-a1bc-11d1-85b1-00805f0e4dfe */ \ - 0xda6f3bc0, \ - 0xa1bc, \ - 0x11d1, \ - {0x85, 0xb1, 0x00, 0x80, 0x5f, 0x0e, 0x4d, 0xfe} \ -} - -//////////////////////////////////////////////////////////////////////////////// -// Java VM Plugin Interface -// This interface defines additional entry points that a plugin developer needs -// to implement in order to implement a Java virtual machine plugin. - -class nsIJVMPlugin : public nsISupports { -public: - // Causes the JVM to append a new directory to its classpath. - // If the JVM doesn't support this operation, an error is returned. - NS_IMETHOD - AddToClassPath(const char* dirPath) = 0; - - // Causes the JVM to remove a directory from its classpath. - // If the JVM doesn't support this operation, an error is returned. - NS_IMETHOD - RemoveFromClassPath(const char* dirPath) = 0; - - // Returns the current classpath in use by the JVM. - NS_IMETHOD - GetClassPath(const char* *result) = 0; - - NS_IMETHOD -#if PR_BYTES_PER_LONG == 8 - GetJavaWrapper(JNIEnv* jenv, jlong obj, jobject *jobj) = 0; -#else - GetJavaWrapper(JNIEnv* jenv, jint obj, jobject *jobj) = 0; -#endif - - /** - * This creates a new secure communication channel with Java. The second parameter, - * nativeEnv, if non-NULL, will be the actual thread for Java communication. - * Otherwise, a new thread should be created. - * @param proxyEnv the env to be used by all clients on the browser side - * @return outSecureEnv the secure environment used by the proxyEnv - */ - NS_IMETHOD - CreateSecureEnv(JNIEnv* proxyEnv, nsISecureEnv* *outSecureEnv) = 0; - - /** - * Gives time to the JVM from the main event loop of the browser. This is - * necessary when there aren't any plugin instances around, but Java threads exist. - */ - NS_IMETHOD - SpendTime(PRUint32 timeMillis) = 0; - - NS_IMETHOD -#if PR_BYTES_PER_LONG == 8 || PR_BYTES_PER_WORD == 8 - UnwrapJavaWrapper(JNIEnv* jenv, jobject jobj, jlong* obj) = 0; -#else - UnwrapJavaWrapper(JNIEnv* jenv, jobject jobj, jint* obj) = 0; -#endif - - NS_DECLARE_STATIC_IID_ACCESSOR(NS_IJVMPLUGIN_IID) -}; - -NS_DEFINE_STATIC_IID_ACCESSOR(nsIJVMPlugin, NS_IJVMPLUGIN_IID) - -//////////////////////////////////////////////////////////////////////////////// - -#endif /* nsIJVMPlugin_h___ */ diff --git a/modules/oji/public/nsIJVMPluginInstance.idl b/modules/oji/public/nsIJVMPluginInstance.idl deleted file mode 100644 index e5a316436b5..00000000000 --- a/modules/oji/public/nsIJVMPluginInstance.idl +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS -// -// This interface allows a Java virtual machine to be plugged into -// Communicator to implement the APPLET tag and host applets. -// -// Note that this is the C++ interface that the plugin sees. The browser -// uses a specific implementation of this, nsJVMPlugin, found in jvmmgr.h. -//////////////////////////////////////////////////////////////////////////////// - -#include "nsISupports.idl" -%{C++ -#include "jni.h" -%} - -native jobject(jobject); -native nChar(const char **); - -[scriptable, uuid(a0c057d0-01c1-11d2-815b-006008119d7a)] -interface nsIJVMPluginInstance : nsISupports { - - // This method is called when LiveConnect wants to find the Java object - // associated with this plugin instance, e.g. the Applet or JavaBean object. - [noscript] void GetJavaObject(out jobject result); - - [noscript] void GetText(in nChar result); -}; diff --git a/modules/oji/public/nsIJVMPluginTagInfo.h b/modules/oji/public/nsIJVMPluginTagInfo.h deleted file mode 100644 index 5765a4adf9f..00000000000 --- a/modules/oji/public/nsIJVMPluginTagInfo.h +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS -// -// This interface allows a Java virtual machine to be plugged into -// Communicator to implement the APPLET tag and host applets. -// -// Note that this is the C++ interface that the plugin sees. The browser -// uses a specific implementation of this, nsJVMPlugin, found in jvmmgr.h. -//////////////////////////////////////////////////////////////////////////////// - -#ifndef nsIJVMPluginTagInfo_h___ -#define nsIJVMPluginTagInfo_h___ - -#include "nsISupports.h" - -//////////////////////////////////////////////////////////////////////////////// -// Java VM Plugin Instance Peer Interface -// This interface provides additional hooks into the plugin manager that allow -// a plugin to implement the plugin manager's Java virtual machine. - -#define NS_IJVMPLUGINTAGINFO_IID \ -{ /* 27b42df0-a1bd-11d1-85b1-00805f0e4dfe */ \ - 0x27b42df0, \ - 0xa1bd, \ - 0x11d1, \ - {0x85, 0xb1, 0x00, 0x80, 0x5f, 0x0e, 0x4d, 0xfe} \ -} - -class nsIJVMPluginTagInfo : public nsISupports { -public: - NS_DECLARE_STATIC_IID_ACCESSOR(NS_IJVMPLUGINTAGINFO_IID) - - NS_IMETHOD - GetCode(const char* *result) = 0; - - NS_IMETHOD - GetCodeBase(const char* *result) = 0; - - NS_IMETHOD - GetArchive(const char* *result) = 0; - - NS_IMETHOD - GetName(const char* *result) = 0; - - NS_IMETHOD - GetMayScript(PRBool *result) = 0; - -}; - -NS_DEFINE_STATIC_IID_ACCESSOR(nsIJVMPluginTagInfo, NS_IJVMPLUGINTAGINFO_IID) - -//////////////////////////////////////////////////////////////////////////////// - -#endif /* nsIJVMPluginTagInfo_h___ */ diff --git a/modules/oji/public/nsIJVMPrefsWindow.h b/modules/oji/public/nsIJVMPrefsWindow.h deleted file mode 100644 index 3c5f119011a..00000000000 --- a/modules/oji/public/nsIJVMPrefsWindow.h +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS -// -// This interface allows a Java virtual machine to be plugged into -// Communicator to implement the APPLET tag and host applets. -// -// Note that this is the C++ interface that the plugin sees. The browser -// uses a specific implementation of this, nsJVMPlugin, found in jvmmgr.h. -//////////////////////////////////////////////////////////////////////////////// - -#ifndef nsIJVMPrefsWindow_h___ -#define nsIJVMPrefsWindow_h___ - -#include "nsIJVMWindow.h" - -//////////////////////////////////////////////////////////////////////////////// -// JVM Preferences Window Interface -// This interface defines the API the browser needs to show and hide the JVM's -// preference Window. The JVM's preference Window is used by the plugin to display -// Java VM-specific preferences. - -class nsIJVMPrefsWindow : public nsIJVMWindow { -public: - - NS_IMETHOD - Show(void) = 0; - - NS_IMETHOD - Hide(void) = 0; - - NS_IMETHOD - IsVisible(PRBool *result) = 0; - -}; - -#define NS_IJVMPREFSWINDOW_IID \ -{ /* 20330d70-4ec9-11d2-8164-006008119d7a */ \ - 0x20330d70, \ - 0x4ec9, \ - 0x11d2, \ - {0x81, 0x64, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ -} - -#define NS_JVMPREFSWINDOW_CID \ -{ /* e9c1ef10-6304-11d2-8164-006008119d7a */ \ - 0xe9c1ef10, \ - 0x6304, \ - 0x11d2, \ - {0x81, 0x64, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ -} - -//////////////////////////////////////////////////////////////////////////////// - -#endif /* nsIJVMPrefsWindow_h___ */ diff --git a/modules/oji/public/nsIJVMThreadManager.h b/modules/oji/public/nsIJVMThreadManager.h deleted file mode 100644 index 87408e698bb..00000000000 --- a/modules/oji/public/nsIJVMThreadManager.h +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* vim:set ts=4 sw=4 sts=4 ci et: */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef nsIJVMThreadManager_h___ -#define nsIJVMThreadManager_h___ - -#include "nsISupports.h" -#include "nsIRunnable.h" -#include "nspr.h" - -//////////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////////// -// Thread Manager -// This interface provides thread primitives. - -#define NS_IJVMTHREADMANAGER_IID \ -{ /* 97bb54c0-6846-11d2-801f-00805f71101c */ \ - 0x97bb54c0, \ - 0x6846, \ - 0x11d2, \ - {0x80, 0x1f, 0x00, 0x80, 0x5f, 0x71, 0x10, 0x1c} \ -} - -class nsIRunnable; - -class nsIJVMThreadManager : public nsISupports { -public: - NS_DECLARE_STATIC_IID_ACCESSOR(NS_IJVMTHREADMANAGER_IID) - - /** - * Returns a unique identifier for the "current" system thread. - */ - NS_IMETHOD - GetCurrentThread(PRThread* *threadID) = 0; - - /** - * Pauses the current thread for the specified number of milliseconds. - * If milli is zero, then merely yields the CPU if another thread of - * greater or equal priority. - */ - NS_IMETHOD - Sleep(PRUint32 milli = 0) = 0; - - /** - * Creates a unique monitor for the specified address, and makes the - * current system thread the owner of the monitor. - */ - NS_IMETHOD - EnterMonitor(void* address) = 0; - - /** - * Exits the monitor associated with the address. - */ - NS_IMETHOD - ExitMonitor(void* address) = 0; - - /** - * Waits on the monitor associated with the address (must be entered already). - * If milli is 0, wait indefinitely. - */ - NS_IMETHOD - Wait(void* address, PRUint32 milli = 0) = 0; - - /** - * Notifies a single thread waiting on the monitor associated with the address (must be entered already). - */ - NS_IMETHOD - Notify(void* address) = 0; - - /** - * Notifies all threads waiting on the monitor associated with the address (must be entered already). - */ - NS_IMETHOD - NotifyAll(void* address) = 0; - - /** - * Creates a new thread, calling the specified runnable's Run method (a la Java). - */ - NS_IMETHOD - CreateThread(PRThread **thread, nsIRunnable* runnable) = 0; - - /** - * Posts an event to specified thread, calling the runnable from that thread. - * @param threadID thread to call runnable from - * @param runnable object to invoke from thread - * @param async if true, won't block current thread waiting for result - */ - NS_IMETHOD - PostEvent(PRThread* thread, nsIRunnable* runnable, PRBool async) = 0; -}; - -NS_DEFINE_STATIC_IID_ACCESSOR(nsIJVMThreadManager, NS_IJVMTHREADMANAGER_IID) - -#ifndef NS_OJI_IMPL -// For backwards compatibility: -typedef nsIJVMThreadManager nsIThreadManager; -#define NS_ITHREADMANAGER_IID NS_IJVMTHREADMANAGER_IID -#endif - -#endif /* nsIJVMThreadManager_h___ */ diff --git a/modules/oji/public/nsIJVMWindow.h b/modules/oji/public/nsIJVMWindow.h deleted file mode 100644 index cf9c6d46ed1..00000000000 --- a/modules/oji/public/nsIJVMWindow.h +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS -// -// This interface allows a Java virtual machine to be plugged into -// Communicator to implement the APPLET tag and host applets. -// -// Note that this is the C++ interface that the plugin sees. The browser -// uses a specific implementation of this, nsJVMPlugin, found in jvmmgr.h. -//////////////////////////////////////////////////////////////////////////////// - -#ifndef nsIJVMWindow_h___ -#define nsIJVMWindow_h___ - -#include "nsISupports.h" - -//////////////////////////////////////////////////////////////////////////////// -// JVM Preferences Panel Interface -// This interface defines the API the browser needs to show and hide the JVM's -// preference panel. The JVM's preference panel is used by the plugin to display -// Java VM-specific preferences. - -class nsIJVMWindow : public nsISupports { -public: - - // QueryInterface on nsIJVMPlugin to get this. - - NS_IMETHOD - Show(void) = 0; - - NS_IMETHOD - Hide(void) = 0; - - NS_IMETHOD - IsVisible(PRBool *result) = 0; - -}; - -#define NS_IJVMWINDOW_IID \ -{ /* d981b540-6220-11d2-8164-006008119d7a */ \ - 0xd981b540, \ - 0x6220, \ - 0x11d2, \ - {0x81, 0x64, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ -} - -//////////////////////////////////////////////////////////////////////////////// - -#endif /* nsIJVMWindow_h___ */ - diff --git a/modules/oji/public/nsILiveConnectManager.h b/modules/oji/public/nsILiveConnectManager.h deleted file mode 100644 index 25467f12930..00000000000 --- a/modules/oji/public/nsILiveConnectManager.h +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/** - * nsILiveConnectManager provides the necessary interfaces for initializing LiveConnect - * and provides services to the DOM. - */ - -#ifndef nsILiveConnectManager_h___ -#define nsILiveConnectManager_h___ - -#ifndef nsISupports_h___ -#include "nsISupports.h" -#endif -#ifndef JNI_H -#include "jni.h" -#endif - -// {d20c8081-cbcb-11d2-a5a0-e884aed9c9fc} -#define NS_ILIVECONNECTMANAGER_IID \ -{ 0xd20c8081, 0xcbcb, 0x11d2, { 0xa5, 0xa0, 0xe8, 0x84, 0xae, 0xd9, 0xc9, 0xfc } } - -// {d20c8083-cbcb-11d2-a5a0-e884aed9c9fc} -#define NS_LIVECONNECTMANAGER_CID \ -{ 0xd20c8083, 0xcbcb, 0x11d2, { 0xa5, 0xa0, 0xe8, 0x84, 0xae, 0xd9, 0xc9, 0xfc } } - -struct JSRuntime; -struct JSContext; -struct JSObject; - -class nsILiveConnectManager : public nsISupports { -public: - NS_DECLARE_STATIC_IID_ACCESSOR(NS_ILIVECONNECTMANAGER_IID) - - /** - * Attempts to start LiveConnect using the specified JSRuntime. - */ - NS_IMETHOD - StartupLiveConnect(JSRuntime* runtime, PRBool& outStarted) = 0; - - /** - * Attempts to stop LiveConnect using the specified JSRuntime. - */ - NS_IMETHOD - ShutdownLiveConnect(JSRuntime* runtime, PRBool& outShutdown) = 0; - - /** - * Indicates whether LiveConnect can be used. - */ - NS_IMETHOD - IsLiveConnectEnabled(PRBool& outEnabled) = 0; - - /** - * Initializes a JSContext with the proper LiveConnect support classes. - */ - NS_IMETHOD - InitLiveConnectClasses(JSContext* context, JSObject* globalObject) = 0; - - /** - * Creates a JavaScript wrapper for a Java object. - */ - NS_IMETHOD - WrapJavaObject(JSContext* context, jobject javaObject, JSObject* *outJSObject) = 0; -}; - -NS_DEFINE_STATIC_IID_ACCESSOR(nsILiveConnectManager, - NS_ILIVECONNECTMANAGER_IID) - -//////////////////////////////////////////////////////////////////////////////// - -#endif /* nsILiveConnectManager_h___ */ diff --git a/modules/oji/public/nsISecureEnv.h b/modules/oji/public/nsISecureEnv.h deleted file mode 100644 index 6497fe9a7a3..00000000000 --- a/modules/oji/public/nsISecureEnv.h +++ /dev/null @@ -1,365 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef nsISecureEnv_h___ -#define nsISecureEnv_h___ - -#include "nsISupports.h" -#include "nsIFactory.h" -#include "nsISecurityContext.h" -#include "jni.h" - -enum jni_type -{ - jobject_type = 0, - jboolean_type, - jbyte_type, - jchar_type, - jshort_type, - jint_type, - jlong_type, - jfloat_type, - jdouble_type, - jvoid_type -}; - -#define NS_ISECUREENV_IID \ -{ /* ca9148d0-598a-11d2-a1d4-00805f8f694d */ \ - 0xca9148d0, \ - 0x598a, \ - 0x11d2, \ - {0xa1, 0xd4, 0x00, 0x80, 0x5f, 0x8f, 0x69, 0x4d } \ -} - -class nsISecureEnv : public nsISupports { -public: - NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISECUREENV_IID) - - /** - * Create new Java object in LiveConnect. - * - * @param clazz -- Java Class object. - * @param methodID -- Method id - * @param args -- arguments for invoking the constructor. - * @param result -- return new Java object. - * @param ctx -- security context - */ - NS_IMETHOD NewObject(/*[in]*/ jclass clazz, - /*[in]*/ jmethodID methodID, - /*[in]*/ jvalue *args, - /*[out]*/ jobject* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Invoke method on Java object in LiveConnect. - * - * @param type -- Return type - * @param obj -- Java object. - * @param methodID -- method id - * @param args -- arguments for invoking the constructor. - * @param result -- return result of invocation. - * @param ctx -- security context - */ - NS_IMETHOD CallMethod(/*[in]*/ jni_type type, - /*[in]*/ jobject obj, - /*[in]*/ jmethodID methodID, - /*[in]*/ jvalue *args, - /*[out]*/ jvalue* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Invoke non-virtual method on Java object in LiveConnect. - * - * @param type -- Return type - * @param obj -- Java object. - * @param clazz -- Class object - * @param methodID -- method id - * @param args -- arguments for invoking the constructor. - * @param ctx -- security context - * @param result -- return result of invocation. - */ - NS_IMETHOD CallNonvirtualMethod(/*[in]*/ jni_type type, - /*[in]*/ jobject obj, - /*[in]*/ jclass clazz, - /*[in]*/ jmethodID methodID, - /*[in]*/ jvalue *args, - /*[out]*/ jvalue* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Get a field on Java object in LiveConnect. - * - * @param type -- Return type - * @param obj -- Java object. - * @param fieldID -- field id - * @param result -- return field value - * @param ctx -- security context - */ - NS_IMETHOD GetField(/*[in]*/ jni_type type, - /*[in]*/ jobject obj, - /*[in]*/ jfieldID fieldID, - /*[out]*/ jvalue* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Set a field on Java object in LiveConnect. - * - * @param type -- Return type - * @param obj -- Java object. - * @param fieldID -- field id - * @param val -- field value to set - * @param ctx -- security context - */ - NS_IMETHOD SetField(/*[in]*/ jni_type type, - /*[in]*/ jobject obj, - /*[in]*/ jfieldID fieldID, - /*[in]*/ jvalue val, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Invoke static method on Java object in LiveConnect. - * - * @param type -- Return type - * @param clazz -- Class object. - * @param methodID -- method id - * @param args -- arguments for invoking the constructor. - * @param result -- return result of invocation. - * @param ctx -- security context - */ - NS_IMETHOD CallStaticMethod(/*[in]*/ jni_type type, - /*[in]*/ jclass clazz, - /*[in]*/ jmethodID methodID, - /*[in]*/ jvalue *args, - /*[out]*/ jvalue* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Get a static field on Java object in LiveConnect. - * - * @param type -- Return type - * @param clazz -- Class object. - * @param fieldID -- field id - * @param result -- return field value - * @param ctx -- security context - */ - NS_IMETHOD GetStaticField(/*[in]*/ jni_type type, - /*[in]*/ jclass clazz, - /*[in]*/ jfieldID fieldID, - /*[out]*/ jvalue* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - - /** - * Set a static field on Java object in LiveConnect. - * - * @param type -- Return type - * @param clazz -- Class object. - * @param fieldID -- field id - * @param val -- field value to set - * @param ctx -- security context - */ - NS_IMETHOD SetStaticField(/*[in]*/ jni_type type, - /*[in]*/ jclass clazz, - /*[in]*/ jfieldID fieldID, - /*[in]*/ jvalue val, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - - NS_IMETHOD GetVersion(/*[out]*/ jint* version) = 0; - - NS_IMETHOD DefineClass(/*[in]*/ const char* name, - /*[in]*/ jobject loader, - /*[in]*/ const jbyte *buf, - /*[in]*/ jsize len, - /*[out]*/ jclass* clazz) = 0; - - NS_IMETHOD FindClass(/*[in]*/ const char* name, - /*[out]*/ jclass* clazz) = 0; - - NS_IMETHOD GetSuperclass(/*[in]*/ jclass sub, - /*[out]*/ jclass* super) = 0; - - NS_IMETHOD IsAssignableFrom(/*[in]*/ jclass sub, - /*[in]*/ jclass super, - /*[out]*/ jboolean* result) = 0; - - NS_IMETHOD Throw(/*[in]*/ jthrowable obj, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD ThrowNew(/*[in]*/ jclass clazz, - /*[in]*/ const char *msg, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD ExceptionOccurred(/*[out]*/ jthrowable* result) = 0; - - NS_IMETHOD ExceptionDescribe(void) = 0; - - NS_IMETHOD ExceptionClear(void) = 0; - - NS_IMETHOD FatalError(/*[in]*/ const char* msg) = 0; - - NS_IMETHOD NewGlobalRef(/*[in]*/ jobject lobj, - /*[out]*/ jobject* result) = 0; - - NS_IMETHOD DeleteGlobalRef(/*[in]*/ jobject gref) = 0; - - NS_IMETHOD DeleteLocalRef(/*[in]*/ jobject obj) = 0; - - NS_IMETHOD IsSameObject(/*[in]*/ jobject obj1, - /*[in]*/ jobject obj2, - /*[out]*/ jboolean* result) = 0; - - NS_IMETHOD AllocObject(/*[in]*/ jclass clazz, - /*[out]*/ jobject* result) = 0; - - NS_IMETHOD GetObjectClass(/*[in]*/ jobject obj, - /*[out]*/ jclass* result) = 0; - - NS_IMETHOD IsInstanceOf(/*[in]*/ jobject obj, - /*[in]*/ jclass clazz, - /*[out]*/ jboolean* result) = 0; - - NS_IMETHOD GetMethodID(/*[in]*/ jclass clazz, - /*[in]*/ const char* name, - /*[in]*/ const char* sig, - /*[out]*/ jmethodID* id) = 0; - - NS_IMETHOD GetFieldID(/*[in]*/ jclass clazz, - /*[in]*/ const char* name, - /*[in]*/ const char* sig, - /*[out]*/ jfieldID* id) = 0; - - NS_IMETHOD GetStaticMethodID(/*[in]*/ jclass clazz, - /*[in]*/ const char* name, - /*[in]*/ const char* sig, - /*[out]*/ jmethodID* id) = 0; - - NS_IMETHOD GetStaticFieldID(/*[in]*/ jclass clazz, - /*[in]*/ const char* name, - /*[in]*/ const char* sig, - /*[out]*/ jfieldID* id) = 0; - - NS_IMETHOD NewString(/*[in]*/ const jchar* unicode, - /*[in]*/ jsize len, - /*[out]*/ jstring* result) = 0; - - NS_IMETHOD GetStringLength(/*[in]*/ jstring str, - /*[out]*/ jsize* result) = 0; - - NS_IMETHOD GetStringChars(/*[in]*/ jstring str, - /*[in]*/ jboolean *isCopy, - /*[out]*/ const jchar** result) = 0; - - NS_IMETHOD ReleaseStringChars(/*[in]*/ jstring str, - /*[in]*/ const jchar *chars) = 0; - - NS_IMETHOD NewStringUTF(/*[in]*/ const char *utf, - /*[out]*/ jstring* result) = 0; - - NS_IMETHOD GetStringUTFLength(/*[in]*/ jstring str, - /*[out]*/ jsize* result) = 0; - - NS_IMETHOD GetStringUTFChars(/*[in]*/ jstring str, - /*[in]*/ jboolean *isCopy, - /*[out]*/ const char** result) = 0; - - NS_IMETHOD ReleaseStringUTFChars(/*[in]*/ jstring str, - /*[in]*/ const char *chars) = 0; - - NS_IMETHOD GetArrayLength(/*[in]*/ jarray array, - /*[out]*/ jsize* result) = 0; - - NS_IMETHOD NewObjectArray(/*[in]*/ jsize len, - /*[in]*/ jclass clazz, - /*[in]*/ jobject init, - /*[out]*/ jobjectArray* result) = 0; - - NS_IMETHOD GetObjectArrayElement(/*[in]*/ jobjectArray array, - /*[in]*/ jsize index, - /*[out]*/ jobject* result) = 0; - - NS_IMETHOD SetObjectArrayElement(/*[in]*/ jobjectArray array, - /*[in]*/ jsize index, - /*[in]*/ jobject val) = 0; - - NS_IMETHOD NewArray(/*[in]*/ jni_type element_type, - /*[in]*/ jsize len, - /*[out]*/ jarray* result) = 0; - - NS_IMETHOD GetArrayElements(/*[in]*/ jni_type type, - /*[in]*/ jarray array, - /*[in]*/ jboolean *isCopy, - /*[out]*/ void* result) = 0; - - NS_IMETHOD ReleaseArrayElements(/*[in]*/ jni_type type, - /*[in]*/ jarray array, - /*[in]*/ void *elems, - /*[in]*/ jint mode) = 0; - - NS_IMETHOD GetArrayRegion(/*[in]*/ jni_type type, - /*[in]*/ jarray array, - /*[in]*/ jsize start, - /*[in]*/ jsize len, - /*[out]*/ void* buf) = 0; - - NS_IMETHOD SetArrayRegion(/*[in]*/ jni_type type, - /*[in]*/ jarray array, - /*[in]*/ jsize start, - /*[in]*/ jsize len, - /*[in]*/ void* buf) = 0; - - NS_IMETHOD RegisterNatives(/*[in]*/ jclass clazz, - /*[in]*/ const JNINativeMethod *methods, - /*[in]*/ jint nMethods, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD UnregisterNatives(/*[in]*/ jclass clazz, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD MonitorEnter(/*[in]*/ jobject obj, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD MonitorExit(/*[in]*/ jobject obj, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD GetJavaVM(/*[in]*/ JavaVM **vm, - /*[out]*/ jint* result) = 0; -}; - -NS_DEFINE_STATIC_IID_ACCESSOR(nsISecureEnv, NS_ISECUREENV_IID) - -#endif // nsISecureEnv_h___ diff --git a/modules/oji/public/nsISecureJNI.h b/modules/oji/public/nsISecureJNI.h deleted file mode 100644 index 65b81c7a360..00000000000 --- a/modules/oji/public/nsISecureJNI.h +++ /dev/null @@ -1,204 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef nsISecureJNI_h___ -#define nsISecureJNI_h___ - -#include "nsISupports.h" -#include "nsIFactory.h" -#include "nsISecurityContext.h" -#include "jni.h" - -class nsISecureJNI : public nsISupports { -public: - - /** - * Create new Java object in LiveConnect. - * - * @param env -- JNIEnv pointer. - * @param clazz -- Java Class object. - * @param name -- constructor name. - * @param sig -- constructor signature. - * @param args -- arguments for invoking the constructor. - * @param ctx -- security context - * @param result -- return new Java object. - */ - NS_IMETHOD NewObject(/*[in]*/ JNIEnv *env, - /*[in]*/ jclass clazz, - /*[in]*/ const char *name, - /*[in]*/ const char *sig, - /*[in]*/ jvalue *args, - /*[in]*/ nsISecurityContext* ctx, - /*[out]*/ jvalue* result) = 0; - - /** - * Invoke method on Java object in LiveConnect. - * - * @param env -- JNIEnv pointer. - * @param obj -- Java object. - * @param name -- method name. - * @param sig -- method signature. - * @param args -- arguments for invoking the constructor. - * @param ctx -- security context - * @param result -- return result of invocation. - */ - NS_IMETHOD CallMethod(/*[in]*/ JNIEnv *env, - /*[in]*/ jobject obj, - /*[in]*/ const char *name, - /*[in]*/ const char *sig, - /*[in]*/ jvalue *args, - /*[in]*/ nsISecurityContext* ctx, - /*[out]*/ jvalue* result) = 0; - - /** - * Invoke non-virtual method on Java object in LiveConnect. - * - * @param env -- JNIEnv pointer. - * @param obj -- Java object. - * @param name -- method name. - * @param sig -- method signature. - * @param args -- arguments for invoking the constructor. - * @param ctx -- security context - * @param result -- return result of invocation. - */ - NS_IMETHOD CallNonvirtualMethod(/*[in]*/ JNIEnv *env, - /*[in]*/ jobject obj, - /*[in]*/ jclass clazz, - /*[in]*/ const char *name, - /*[in]*/ const char *sig, - /*[in]*/ jvalue *args, - /*[in]*/ nsISecurityContext* ctx, - /*[out]*/ jvalue* result) = 0; - - /** - * Get a field on Java object in LiveConnect. - * - * @param env -- JNIEnv pointer. - * @param obj -- Java object. - * @param name -- field name. - * @param sig -- field signature - * @param ctx -- security context - * @param result -- return field value - */ - NS_IMETHOD GetField(/*[in]*/ JNIEnv *env, - /*[in]*/ jobject obj, - /*[in]*/ const char *name, - /*[in]*/ const char *sig, - /*[in]*/ nsISecurityContext* ctx, - /*[out]*/ jvalue* result) = 0; - - /** - * Set a field on Java object in LiveConnect. - * - * @param env -- JNIEnv pointer. - * @param obj -- Java object. - * @param name -- field name. - * @param sig -- field signature - * @param result -- field value to set - * @param ctx -- security context - */ - NS_IMETHOD SetField(/*[in]*/ JNIEnv *env, - /*[in]*/ jobject obj, - /*[in]*/ const char *name, - /*[in]*/ const char *sig, - /*[in]*/ jvalue val, - /*[in]*/ nsISecurityContext* ctx) = 0; - - /** - * Invoke static method on Java object in LiveConnect. - * - * @param env -- JNIEnv pointer. - * @param obj -- Java object. - * @param name -- method name. - * @param sig -- method signature. - * @param args -- arguments for invoking the constructor. - * @param ctx -- security context - * @param result -- return result of invocation. - */ - NS_IMETHOD CallStaticMethod(/*[in]*/ JNIEnv *env, - /*[in]*/ jclass clazz, - /*[in]*/ const char *name, - /*[in]*/ const char *sig, - /*[in]*/ jvalue *args, - /*[in]*/ nsISecurityContext* ctx, - /*[out]*/ jvalue* result) = 0; - - /** - * Get a static field on Java object in LiveConnect. - * - * @param env -- JNIEnv pointer. - * @param obj -- Java object. - * @param name -- field name. - * @param sig -- field signature - * @param ctx -- security context - * @param result -- return field value - */ - NS_IMETHOD GetStaticField(/*[in]*/ JNIEnv *env, - /*[in]*/ jclass clazz, - /*[in]*/ const char *name, - /*[in]*/ const char *sig, - /*[in]*/ nsISecurityContext* ctx, - /*[out]*/ jvalue* result) = 0; - - - /** - * Set a static field on Java object in LiveConnect. - * - * @param env -- JNIEnv pointer. - * @param obj -- Java object. - * @param name -- field name. - * @param sig -- field signature - * @param result -- field value to set - * @param ctx -- security context - */ - NS_IMETHOD SetStaticField(/*[in]*/ JNIEnv *env, - /*[in]*/ jclass clazz, - /*[in]*/ const char *name, - /*[in]*/ const char *sig, - /*[in]*/ jvalue val, - /*[in]*/ nsISecurityContext* ctx) = 0; -}; - -#define NS_ISECUREJNI_IID \ -{ /* {7C968050-4C4B-11d2-A1CB-00805F8F694D} */ \ - 0x7c968050, \ - 0x4c4b, \ - 0x11d2, \ - { 0xa1, 0xcb, 0x0, 0x80, 0x5f, 0x8f, 0x69, 0x4d } \ -}; - -#endif // nsISecureJNI_h___ diff --git a/modules/oji/public/nsISecureJNI2.h b/modules/oji/public/nsISecureJNI2.h deleted file mode 100644 index 43f6e27daf9..00000000000 --- a/modules/oji/public/nsISecureJNI2.h +++ /dev/null @@ -1,362 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef nsISecureJNI2_h___ -#define nsISecureJNI2_h___ - -#include "nsISupports.h" -#include "nsIFactory.h" -#include "nsISecurityContext.h" -#include "jni.h" - -enum jni_type -{ - jobject_type = 0, - jboolean_type, - jbyte_type, - jchar_type, - jshort_type, - jint_type, - jlong_type, - jfloat_type, - jdouble_type, - jvoid_type -}; - -class nsISecureJNI2 : public nsISupports { -public: - - /** - * Create new Java object in LiveConnect. - * - * @param clazz -- Java Class object. - * @param methodID -- Method id - * @param args -- arguments for invoking the constructor. - * @param result -- return new Java object. - * @param ctx -- security context - */ - NS_IMETHOD NewObject(/*[in]*/ jclass clazz, - /*[in]*/ jmethodID methodID, - /*[in]*/ jvalue *args, - /*[out]*/ jobject* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Invoke method on Java object in LiveConnect. - * - * @param type -- Return type - * @param obj -- Java object. - * @param methodID -- method id - * @param args -- arguments for invoking the constructor. - * @param result -- return result of invocation. - * @param ctx -- security context - */ - NS_IMETHOD CallMethod(/*[in]*/ jni_type type, - /*[in]*/ jobject obj, - /*[in]*/ jmethodID methodID, - /*[in]*/ jvalue *args, - /*[out]*/ jvalue* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Invoke non-virtual method on Java object in LiveConnect. - * - * @param type -- Return type - * @param obj -- Java object. - * @param clazz -- Class object - * @param methodID -- method id - * @param args -- arguments for invoking the constructor. - * @param ctx -- security context - * @param result -- return result of invocation. - */ - NS_IMETHOD CallNonvirtualMethod(/*[in]*/ jni_type type, - /*[in]*/ jobject obj, - /*[in]*/ jclass clazz, - /*[in]*/ jmethodID methodID, - /*[in]*/ jvalue *args, - /*[out]*/ jvalue* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Get a field on Java object in LiveConnect. - * - * @param type -- Return type - * @param obj -- Java object. - * @param fieldID -- field id - * @param result -- return field value - * @param ctx -- security context - */ - NS_IMETHOD GetField(/*[in]*/ jni_type type, - /*[in]*/ jobject obj, - /*[in]*/ jfieldID fieldID, - /*[out]*/ jvalue* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Set a field on Java object in LiveConnect. - * - * @param type -- Return type - * @param obj -- Java object. - * @param fieldID -- field id - * @param val -- field value to set - * @param ctx -- security context - */ - NS_IMETHOD SetField(/*[in]*/ jni_type type, - /*[in]*/ jobject obj, - /*[in]*/ jfieldID fieldID, - /*[in]*/ jvalue val, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Invoke static method on Java object in LiveConnect. - * - * @param type -- Return type - * @param clazz -- Class object. - * @param methodID -- method id - * @param args -- arguments for invoking the constructor. - * @param result -- return result of invocation. - * @param ctx -- security context - */ - NS_IMETHOD CallStaticMethod(/*[in]*/ jni_type type, - /*[in]*/ jclass clazz, - /*[in]*/ jmethodID methodID, - /*[in]*/ jvalue *args, - /*[out]*/ jvalue* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - /** - * Get a static field on Java object in LiveConnect. - * - * @param type -- Return type - * @param clazz -- Class object. - * @param fieldID -- field id - * @param result -- return field value - * @param ctx -- security context - */ - NS_IMETHOD GetStaticField(/*[in]*/ jni_type type, - /*[in]*/ jclass clazz, - /*[in]*/ jfieldID fieldID, - /*[out]*/ jvalue* result, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - - /** - * Set a static field on Java object in LiveConnect. - * - * @param type -- Return type - * @param clazz -- Class object. - * @param fieldID -- field id - * @param val -- field value to set - * @param ctx -- security context - */ - NS_IMETHOD SetStaticField(/*[in]*/ jni_type type, - /*[in]*/ jclass clazz, - /*[in]*/ jfieldID fieldID, - /*[in]*/ jvalue val, - /*[in]*/ nsISecurityContext* ctx = NULL) = 0; - - - NS_IMETHOD GetVersion(/*[out]*/ jint* version) = 0; - - NS_IMETHOD DefineClass(/*[in]*/ const char* name, - /*[in]*/ jobject loader, - /*[in]*/ const jbyte *buf, - /*[in]*/ jsize len, - /*[out]*/ jclass* clazz) = 0; - - NS_IMETHOD FindClass(/*[in]*/ const char* name, - /*[out]*/ jclass* clazz) = 0; - - NS_IMETHOD GetSuperclass(/*[in]*/ jclass sub, - /*[out]*/ jclass* super) = 0; - - NS_IMETHOD IsAssignableFrom(/*[in]*/ jclass sub, - /*[in]*/ jclass super, - /*[out]*/ jboolean* result) = 0; - - NS_IMETHOD Throw(/*[in]*/ jthrowable obj, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD ThrowNew(/*[in]*/ jclass clazz, - /*[in]*/ const char *msg, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD ExceptionOccurred(/*[out]*/ jthrowable* result) = 0; - - NS_IMETHOD ExceptionDescribe(void) = 0; - - NS_IMETHOD ExceptionClear(void) = 0; - - NS_IMETHOD FatalError(/*[in]*/ const char* msg) = 0; - - NS_IMETHOD NewGlobalRef(/*[in]*/ jobject lobj, - /*[out]*/ jobject* result) = 0; - - NS_IMETHOD DeleteGlobalRef(/*[in]*/ jobject gref) = 0; - - NS_IMETHOD DeleteLocalRef(/*[in]*/ jobject obj) = 0; - - NS_IMETHOD IsSameObject(/*[in]*/ jobject obj1, - /*[in]*/ jobject obj2, - /*[out]*/ jboolean* result) = 0; - - NS_IMETHOD AllocObject(/*[in]*/ jclass clazz, - /*[out]*/ jobject* result) = 0; - - NS_IMETHOD GetObjectClass(/*[in]*/ jobject obj, - /*[out]*/ jclass* result) = 0; - - NS_IMETHOD IsInstanceOf(/*[in]*/ jobject obj, - /*[in]*/ jclass clazz, - /*[out]*/ jboolean* result) = 0; - - NS_IMETHOD GetMethodID(/*[in]*/ jclass clazz, - /*[in]*/ const char* name, - /*[in]*/ const char* sig, - /*[out]*/ jmethodID* id) = 0; - - NS_IMETHOD GetFieldID(/*[in]*/ jclass clazz, - /*[in]*/ const char* name, - /*[in]*/ const char* sig, - /*[out]*/ jfieldID* id) = 0; - - NS_IMETHOD GetStaticMethodID(/*[in]*/ jclass clazz, - /*[in]*/ const char* name, - /*[in]*/ const char* sig, - /*[out]*/ jmethodID* id) = 0; - - NS_IMETHOD GetStaticFieldID(/*[in]*/ jclass clazz, - /*[in]*/ const char* name, - /*[in]*/ const char* sig, - /*[out]*/ jfieldID* id) = 0; - - NS_IMETHOD NewString(/*[in]*/ const jchar* unicode, - /*[in]*/ jsize len, - /*[out]*/ jstring* result) = 0; - - NS_IMETHOD GetStringLength(/*[in]*/ jstring str, - /*[out]*/ jsize* result) = 0; - - NS_IMETHOD GetStringChars(/*[in]*/ jstring str, - /*[in]*/ jboolean *isCopy, - /*[out]*/ const jchar** result) = 0; - - NS_IMETHOD ReleaseStringChars(/*[in]*/ jstring str, - /*[in]*/ const jchar *chars) = 0; - - NS_IMETHOD NewStringUTF(/*[in]*/ const char *utf, - /*[out]*/ jstring* result) = 0; - - NS_IMETHOD GetStringUTFLength(/*[in]*/ jstring str, - /*[out]*/ jsize* result) = 0; - - NS_IMETHOD GetStringUTFChars(/*[in]*/ jstring str, - /*[in]*/ jboolean *isCopy, - /*[out]*/ const char** result) = 0; - - NS_IMETHOD ReleaseStringUTFChars(/*[in]*/ jstring str, - /*[in]*/ const char *chars) = 0; - - NS_IMETHOD GetArrayLength(/*[in]*/ jarray array, - /*[out]*/ jsize* result) = 0; - - NS_IMETHOD NewObjectArray(/*[in]*/ jsize len, - /*[in]*/ jclass clazz, - /*[in]*/ jobject init, - /*[out]*/ jobjectArray* result) = 0; - - NS_IMETHOD GetObjectArrayElement(/*[in]*/ jobjectArray array, - /*[in]*/ jsize index, - /*[out]*/ jobject* result) = 0; - - NS_IMETHOD SetObjectArrayElement(/*[in]*/ jobjectArray array, - /*[in]*/ jsize index, - /*[in]*/ jobject val) = 0; - - NS_IMETHOD NewArray(/*[in]*/ jni_type element_type, - /*[in]*/ jsize len, - /*[out]*/ jarray* result) = 0; - - NS_IMETHOD GetArrayElements(/*[in]*/ jni_type type, - /*[in]*/ jarray array, - /*[in]*/ jboolean *isCopy, - /*[out]*/ void* result) = 0; - - NS_IMETHOD ReleaseArrayElements(/*[in]*/ jni_type type, - /*[in]*/ jarray array, - /*[in]*/ void *elems, - /*[in]*/ jint mode) = 0; - - NS_IMETHOD GetArrayRegion(/*[in]*/ jni_type type, - /*[in]*/ jarray array, - /*[in]*/ jsize start, - /*[in]*/ jsize len, - /*[out]*/ void* buf) = 0; - - NS_IMETHOD SetArrayRegion(/*[in]*/ jni_type type, - /*[in]*/ jarray array, - /*[in]*/ jsize start, - /*[in]*/ jsize len, - /*[in]*/ void* buf) = 0; - - NS_IMETHOD RegisterNatives(/*[in]*/ jclass clazz, - /*[in]*/ const JNINativeMethod *methods, - /*[in]*/ jint nMethods, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD UnregisterNatives(/*[in]*/ jclass clazz, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD MonitorEnter(/*[in]*/ jobject obj, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD MonitorExit(/*[in]*/ jobject obj, - /*[out]*/ jint* result) = 0; - - NS_IMETHOD GetJavaVM(/*[in]*/ JavaVM **vm, - /*[out]*/ jint* result) = 0; -}; - -#define NS_ISECUREJNI2_IID \ -{ /* ca9148d0-598a-11d2-a1d4-00805f8f694d */ \ - 0xca9148d0, \ - 0x598a, \ - 0x11d2, \ - {0xa1, 0xd4, 0x00, 0x80, 0x5f, 0x8f, 0x69, 0x4d } \ -} - -#endif // nsISecureJNI2_h___ diff --git a/modules/oji/public/nsISymantecDebugManager.h b/modules/oji/public/nsISymantecDebugManager.h deleted file mode 100644 index dadb544f90b..00000000000 --- a/modules/oji/public/nsISymantecDebugManager.h +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS FOR SYMANTEC DEBUGGER -// -// This interface allows the browser to initialize a JVM that supports a -// debugger. It's called the "Symantec Debugger Interface" because it currently -// provides access to the Symantec Cafe or Visual Cafe debugger in the Netscape -// JVM. It is not meant to be the be-all-to-end-all of debugger interfaces. -//////////////////////////////////////////////////////////////////////////////// - -#ifndef nsISymantecDebugManager_h___ -#define nsISymantecDebugManager_h___ - -#include "nsISupports.h" - -//////////////////////////////////////////////////////////////////////////////// -// Symantec Debug Manager Interface -// -// Implemented by the browser that supports the Symantec debugger. - -#define NS_ISYMANTECDEBUGMANAGER_IID \ -{ /* 131362e0-d985-11d1-8155-006008119d7a */ \ - 0x131362e0, \ - 0xd985, \ - 0x11d1, \ - {0x81, 0x55, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ -} - -class nsISymantecDebugManager : public nsISupports { -public: - NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISYMANTECDEBUGMANAGER_IID) - - NS_IMETHOD - SetDebugAgentPassword(PRInt32 pwd) = 0; - -}; - -NS_DEFINE_STATIC_IID_ACCESSOR(nsISymantecDebugManager, - NS_ISYMANTECDEBUGMANAGER_IID) - -//////////////////////////////////////////////////////////////////////////////// - -#endif /* nsISymantecDebugManager_h___ */ diff --git a/modules/oji/public/nsISymantecDebugger.h b/modules/oji/public/nsISymantecDebugger.h deleted file mode 100644 index 00a55210209..00000000000 --- a/modules/oji/public/nsISymantecDebugger.h +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS FOR SYMANTEC DEBUGGER -// -// This interface allows the browser to initialize a JVM that supports a -// debugger. It's called the "Symantec Debugger Interface" because it currently -// provides access to the Symantec Cafe or Visual Cafe debugger in the Netscape -// JVM. It is not meant to be the be-all-to-end-all of debugger interfaces. -//////////////////////////////////////////////////////////////////////////////// - -#ifndef nsISymantecDebugger_h___ -#define nsISymantecDebugger_h___ - -#include "nsISupports.h" - -//////////////////////////////////////////////////////////////////////////////// -// Symantec Debugger Interface -// -// Implemented by the JVM plugin that supports the Symantec debugger. - -enum nsSymantecDebugPort { - nsSymantecDebugPort_None = 0, - nsSymantecDebugPort_SharedMemory = -1 - // anything else is a port number -}; - -class nsISymantecDebugger : public nsISupports { -public: - - NS_IMETHOD - StartDebugger(nsSymantecDebugPort port) = 0; - -}; - -#define NS_ISYMANTECDEBUGGER_IID \ -{ /* 954399f0-d980-11d1-8155-006008119d7a */ \ - 0x954399f0, \ - 0xd980, \ - 0x11d1, \ - {0x81, 0x55, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ -} - -//////////////////////////////////////////////////////////////////////////////// - -#endif /* nsISymantecDebugger_h___ */ diff --git a/modules/oji/public/nsjvm.h b/modules/oji/public/nsjvm.h deleted file mode 100644 index 768e9470e82..00000000000 --- a/modules/oji/public/nsjvm.h +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS -// -// This interface allows a Java virtual machine to be plugged into -// Communicator to implement the APPLET tag and host applets. -// -// Note that this is the C++ interface that the plugin sees. The browser -// uses a specific implementation of this, nsJVMPlugin, found in jvmmgr.h. -//////////////////////////////////////////////////////////////////////////////// - -#ifndef nsjvm_h___ -#define nsjvm_h___ - -#include "nsplugin.h" -#include "nsIJRIPlugin.h" -#include "nsIJVMConsole.h" -#include "nsIJVMManager.h" -#include "nsIJVMPlugin.h" -#include "nsIJVMPluginInstance.h" -#include "nsIJVMPluginTagInfo.h" -#include "nsISymantecDebugManager.h" -#include "nsISymantecDebugger.h" -#include "nsILiveconnect.h" -#include "nsIJVMThreadManager.h" - -//////////////////////////////////////////////////////////////////////////////// - -#endif /* nsjvm_h___ */ diff --git a/modules/oji/src/Makefile.in b/modules/oji/src/Makefile.in deleted file mode 100644 index 2b350951f90..00000000000 --- a/modules/oji/src/Makefile.in +++ /dev/null @@ -1,117 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -DEPTH = ../../.. -topsrcdir = @top_srcdir@ -srcdir = @srcdir@ -VPATH = @srcdir@ - -include $(DEPTH)/config/autoconf.mk - -MODULE = oji -IS_COMPONENT = 1 -MODULE_NAME = nsCJVMManagerModule -GRE_MODULE = 1 -LIBXUL_LIBRARY = 1 - -REQUIRES = xpcom \ - string \ - liveconnect \ - java \ - js \ - plugin \ - caps \ - pref \ - necko \ - dom \ - widget \ - xpconnect \ - windowwatcher \ - gfx \ - thebes \ - content \ - layout \ - docshell \ - webbrwsr \ - intl \ - locale \ - $(NULL) - -LIBRARY_NAME = oji -EXPORT_LIBRARY = 1 -ifeq ($(OS_ARCH),WINNT) -EXTRA_DSO_LIBS = jsj$(MOZ_BITS)$(VERSION_NUMBER) -else -EXTRA_DSO_LIBS = jsj -endif - -CPPSRCS = \ - jvmmgr.cpp \ - scd.cpp \ - nsJVMManager.cpp \ - nsJVMPluginTagInfo.cpp \ - ProxyJNI.cpp \ - nsCNullSecurityContext.cpp \ - ProxyClassLoader.cpp \ - nsCSecurityContext.cpp \ - nsCJVMManagerFactory.cpp \ - nsJVMConfigManager.cpp \ - lcglue.cpp \ - $(NULL) - -ifeq ($(TARGET_MD_ARCH), unix) -CPPSRCS += \ - nsJVMConfigManagerUnix.cpp \ - $(NULL) -endif - -DEFINES += -DNS_OJI_IMPL=1 - -EXPORTS = \ - jvmmgr.h \ - nsJVMManager.h \ - nsJVMPluginTagInfo.h \ - $(NULL) - -EXTRA_DSO_LDOPTS = \ - $(LIBS_DIR) \ - $(EXTRA_DSO_LIBS) \ - $(MOZ_COMPONENT_LIBS) \ - $(MOZ_JS_LIBS) \ - $(NULL) - -include $(topsrcdir)/config/rules.mk diff --git a/modules/oji/src/ProxyClassLoader.cpp b/modules/oji/src/ProxyClassLoader.cpp deleted file mode 100644 index a43117602cd..00000000000 --- a/modules/oji/src/ProxyClassLoader.cpp +++ /dev/null @@ -1,223 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* vim: set ts=4 sw=4 et tw=78: */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Patrick Beard (original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "ProxyClassLoader.h" - -#include "jsapi.h" -#include "jsjava.h" -#include "prprf.h" - -#include "nsIServiceManager.h" -#include "nsIScriptSecurityManager.h" -#include "nsIJSContextStack.h" -#include "nsIPrincipal.h" -#include "nsNetUtil.h" -#include "ProxyJNI.h" -#include "nsCNullSecurityContext.h" - -/** - * Obtain the netscape.oji.ProxyClassLoader instance associated with the - * document of the currently running script. For now, store a LiveConnect - * wrapper for this instance in window.navigator.javaclasses. There - * hopefully aren't any security concerns with exposing this to scripts, - * as the constructor is private, and the class loader itself can - * only load classes from the document's URL and below. - */ -static nsresult getScriptClassLoader(JNIEnv* env, jobject* classloader) -{ - // get the current JSContext from the context stack service. - nsresult rv; - nsCOMPtr contexts = - do_GetService("@mozilla.org/js/xpc/ContextStack;1", &rv); - if (NS_FAILED(rv)) return rv; - JSContext* cx; - rv = contexts->Peek(&cx); - if (NS_FAILED(rv)) return rv; - if (!cx) return NS_ERROR_NOT_AVAILABLE; - - // lookup "window.navigator.javaclasses", if it exists, this is the class - // loader bound to this page. - JSObject* window = JS_GetGlobalObject(cx); - if (!window) return NS_ERROR_FAILURE; - - jsval navigator = JSVAL_NULL; - if (!JS_LookupProperty(cx, window, "navigator", &navigator)) - return NS_ERROR_FAILURE; - - jsval javaclasses = JSVAL_NULL; - if (!JSVAL_IS_PRIMITIVE(navigator)) { - uintN attrs; - JSBool found; - - // Make sure that we pull out the correct javaclasses object that we - // set. Since content can't spoof READONLY or PERMANANT properties, - // their presence on this property indicates that this truely is the - // correct object. - JSObject *obj = JSVAL_TO_OBJECT(navigator); - if (!JS_GetPropertyAttributes(cx, obj, "javaclasses", &attrs, &found)) - return NS_ERROR_FAILURE; - if ((~attrs & (JSPROP_READONLY | JSPROP_PERMANENT)) == 0 && - !JS_GetProperty(cx, obj, "javaclasses", &javaclasses)) { - return NS_ERROR_FAILURE; - } - - // Unwrap this, the way LiveConnect does it. Note that this function - // checks if javaclasses is primitive or not. - if (JSJ_ConvertJSValueToJavaObject(cx, javaclasses, classloader)) - return NS_OK; - } - - // use default netscape.oji.ProxyClassLoaderFactory (which is no longer - // supported in recent JRE) as the classloader - jclass netscape_oji_ProxyClassLoaderFac = - env->FindClass("netscape/oji/ProxyClassLoaderFactory"); - if (!netscape_oji_ProxyClassLoaderFac) { - env->ExceptionClear(); - return NS_ERROR_FAILURE; - } - jmethodID staticMethodID = - env->GetStaticMethodID(netscape_oji_ProxyClassLoaderFac, - "createClassLoader", - "(Ljava/lang/String;)Ljava/lang/ClassLoader;"); - if (!staticMethodID) { - env->ExceptionClear(); - return NS_ERROR_FAILURE; - } - - // Obtain the URL of the document of the currently running script. This will - // be used as the default location to download classes from. - nsCOMPtr secMan = - do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv)) return rv; - - nsCOMPtr principal, sysprincipal; - rv = secMan->GetPrincipalFromContext(cx, getter_AddRefs(principal)); - if (NS_FAILED(rv)) return rv; - - rv = secMan->GetSystemPrincipal(getter_AddRefs(sysprincipal)); - if (NS_FAILED(rv)) return rv; - - PRBool equals; - rv = principal->Equals(sysprincipal, &equals); - // Can't get URI from system principal - if (NS_FAILED(rv)) return rv; - if (equals) return NS_ERROR_FAILURE; - - nsCOMPtr codebase; - rv = principal->GetURI(getter_AddRefs(codebase)); - if (NS_FAILED(rv)) return rv; - - // create a netscape.oji.ProxyClassLoader instance. - nsCAutoString spec; - rv = codebase->GetSpec(spec); - if (NS_FAILED(rv)) return rv; - - jstring jspec = env->NewStringUTF(spec.get()); - if (!jspec) { - env->ExceptionClear(); - return NS_ERROR_FAILURE; - } - - // In order to have permission to create classloader, we need to grant - // enough permission - nsISecurityContext* origContext = nsnull; - if (NS_FAILED(GetSecurityContext(env, &origContext))) { - return NS_ERROR_FAILURE; - } - nsCOMPtr nullContext(new nsCNullSecurityContext()); - if (!nullContext) { - return NS_ERROR_OUT_OF_MEMORY; - } - - SetSecurityContext(env, nullContext); - *classloader = env->CallStaticObjectMethod(netscape_oji_ProxyClassLoaderFac, - staticMethodID, jspec); - SetSecurityContext(env, origContext); - if (!*classloader) { - env->ExceptionClear(); - return NS_ERROR_FAILURE; - } - - env->DeleteLocalRef(jspec); - env->DeleteLocalRef(netscape_oji_ProxyClassLoaderFac); - - // now, cache the class loader in "window.navigator.javaclasses" - if (!JSVAL_IS_PRIMITIVE(navigator) && - JSJ_ConvertJavaObjectToJSValue(cx, *classloader, &javaclasses) && - !JS_DefineProperty(cx, JSVAL_TO_OBJECT(navigator), "javaclasses", - javaclasses, NULL, NULL, JSPROP_ENUMERATE | - JSPROP_READONLY | JSPROP_PERMANENT)) { - return NS_ERROR_FAILURE; - } - - return NS_OK; -} - -jclass ProxyFindClass(JNIEnv* env, const char* name) -{ - do { - // TODO: prevent recursive call to ProxyFindClass, if netscape.oji.ProxyClassLoader - // isn't found by getScriptClassLoader(). - jobject classloader; - jthrowable jException = env->ExceptionOccurred(); - if (jException != NULL) { - // Clean up exception - env->ExceptionClear(); - // Release local ref - env->DeleteLocalRef(jException); - } - nsresult rv = getScriptClassLoader(env, &classloader); - if (NS_FAILED(rv)) break; - - jclass netscape_oji_ProxyClassLoader = env->GetObjectClass(classloader); - jmethodID loadClassID = env->GetMethodID(netscape_oji_ProxyClassLoader, "loadClass", - "(Ljava/lang/String;)Ljava/lang/Class;"); - env->DeleteLocalRef(netscape_oji_ProxyClassLoader); - if (!loadClassID) { - env->ExceptionClear(); - break; - } - jstring jname = env->NewStringUTF(name); - jvalue jargs[1]; jargs[0].l = jname; - jclass c = (jclass) env->CallObjectMethodA(classloader, loadClassID, jargs); - env->DeleteLocalRef(jname); - return c; - } while (0); - return 0; -} diff --git a/modules/oji/src/ProxyClassLoader.h b/modules/oji/src/ProxyClassLoader.h deleted file mode 100644 index 6086a38bc5c..00000000000 --- a/modules/oji/src/ProxyClassLoader.h +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Patrick Beard (original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef ProxyClassLoader_h__ -#define ProxyClassLoader_h__ - -#ifndef JNI_H -#include "jni.h" -#endif - -jclass ProxyFindClass(JNIEnv* env, const char* name); - -#endif /* ProxyClassLoader_h__ */ diff --git a/modules/oji/src/ProxyJNI.cpp b/modules/oji/src/ProxyJNI.cpp deleted file mode 100644 index ff71d67a245..00000000000 --- a/modules/oji/src/ProxyJNI.cpp +++ /dev/null @@ -1,1773 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/* - * Proxy JNI implementation. - */ - -#include "nscore.h" -#include "jvmmgr.h" -#include "nsISecureEnv.h" -#include "nsIJVMPlugin.h" -#include "nsHashtable.h" -#include "nsVoidArray.h" -#include "plstr.h" -#include "ProxyClassLoader.h" - -#include "ProxyJNI.h" -#include "nsDataHashtable.h" - -#ifdef DEBUG -#include "nsDebug.h" -#endif - -// Method Signature Processing. - -static jni_type get_jni_type(char sig) -{ - switch (sig) { - case 'L': - case '[': - return jobject_type; - case 'Z': - return jboolean_type; - case 'B': - return jbyte_type; - case 'C': - return jchar_type; - case 'S': - return jshort_type; - case 'I': - return jint_type; - case 'J': - return jlong_type; - case 'F': - return jfloat_type; - case 'D': - return jdouble_type; - case 'V': - return jvoid_type; - } - return jvoid_type; -} - -static PRBool get_method_type(const char* sig, PRUint32& arg_count, jni_type*& arg_types, jni_type& return_type) -{ - arg_count = 0; - if (sig[0] == '(') { - nsVoidArray vec; - ++sig; - while (*sig != ')' && *sig) { - char arg_sig = *sig; - jni_type arg_type = get_jni_type(arg_sig); - if (arg_type == jobject_type) { - // could be an array or an object. - while (*sig == '[') ++sig; - if (*sig == 'L') { - // skip over "className;" - ++sig; - while (*sig != ';') ++sig; - } - } - // skip over scalar or ';'. - ++sig; - vec.AppendElement((void *) arg_type); - } - arg_count = vec.Count(); - arg_types = new jni_type[arg_count]; - for (int index = arg_count - 1; index >= 0; --index) - arg_types[index] = jni_type((jint)NS_PTR_TO_INT32(vec.ElementAt(index))); - if (*sig == ')') { - char return_sig = *++sig; - return_type = get_jni_type(return_sig); - } - } - return PR_FALSE; -} - -struct JNIMember { - char* mName; - char* mSignature; - - JNIMember(const char* name, const char* sig); - ~JNIMember(); -}; - -JNIMember::JNIMember(const char* name, const char* sig) - : mName(NULL), mSignature(NULL) -{ - mName = PL_strdup(name); - mSignature = PL_strdup(sig); -} - -JNIMember::~JNIMember() -{ - PL_strfree(mName); - PL_strfree(mSignature); -} - -struct JNIField : JNIMember { - jfieldID mFieldID; - jni_type mFieldType; - - JNIField(const char* name, const char* sig, jfieldID fieldID); -}; - -JNIField::JNIField(const char* name, const char* sig, jfieldID fieldID) - : JNIMember(name, sig), mFieldID(fieldID), mFieldType(get_jni_type(*sig)) -{ -} - -struct JNIMethod : JNIMember { - jmethodID mMethodID; - PRUint32 mArgCount; - jni_type* mArgTypes; - jni_type mReturnType; - - JNIMethod(const char* name, const char* sig, jmethodID methodID); - ~JNIMethod(); - - jvalue* marshallArgs(va_list args); -}; - -JNIMethod::JNIMethod(const char* name, const char* sig, jmethodID methodID) - : JNIMember(name, sig), mMethodID(methodID), mArgCount(0), mArgTypes(NULL), mReturnType(jvoid_type) -{ - get_method_type(sig, mArgCount, mArgTypes, mReturnType); -} - -JNIMethod::~JNIMethod() -{ - if (mArgTypes != NULL) - delete[] mArgTypes; -} - -/** - * Copies an argument list into a jvalue array. - */ -jvalue* JNIMethod::marshallArgs(va_list args) -{ - jvalue* jargs = NULL; - PRUint32 argCount = mArgCount; - if (argCount > 0) { - jni_type* argTypes = mArgTypes; - jargs = new jvalue[argCount]; - if (jargs != NULL) { - for (PRUint32 i = 0; i < argCount; i++) { - switch (argTypes[i]) { - case jobject_type: - jargs[i].l = static_cast(va_arg(args, void*)); - break; - case jboolean_type: - jargs[i].z = static_cast(va_arg(args, jint)); - break; - case jbyte_type: - jargs[i].b = static_cast(va_arg(args, jint)); - break; - case jchar_type: - jargs[i].c = static_cast(va_arg(args, jint)); - break; - case jshort_type: - jargs[i].s = static_cast(va_arg(args, jint)); - break; - case jint_type: - jargs[i].i = va_arg(args, jint); - break; - case jlong_type: - jargs[i].j = va_arg(args, jlong); - break; - case jfloat_type: - jargs[i].f = static_cast(va_arg(args, jdouble)); - break; - case jdouble_type: - jargs[i].d = va_arg(args, jdouble); - break; - } - } - } - } - return jargs; -} - -struct JavaClassMember { - jclass clazz; - void* memberID; - - JavaClassMember(jclass cl, void* mID) - { clazz = cl; memberID = mID;} -}; - -class JavaClassMemberKey : public PLDHashEntryHdr -{ -public: - typedef const JavaClassMember& KeyType; - typedef const JavaClassMember* KeyTypePointer; - - JavaClassMemberKey(KeyTypePointer aKey) : mValue(*aKey) { } - JavaClassMemberKey(const JavaClassMemberKey& toCopy) : mValue(toCopy.mValue) { } - ~JavaClassMemberKey() { } - - KeyType GetKey() const { return mValue; } - PRBool KeyEquals(KeyTypePointer aKey) const { return aKey->clazz == mValue.clazz && aKey->memberID == mValue.memberID; } - - static KeyTypePointer KeyToPointer(KeyType aKey) { return &aKey; } - static PLDHashNumber HashKey(KeyTypePointer aKey) - { - PRUint32 v1 = NS_PTR_TO_INT32(aKey->clazz); - PRUint32 v2 = NS_PTR_TO_INT32(aKey->memberID); - return v1 ^ v2; - } - enum { ALLOW_MEMMOVE = PR_TRUE }; - -private: - const JavaClassMember mValue; -}; - -/** - * Marshalls a va_list into a jvalue array, and destructor automatically - * deletes when the args go out of scope. - */ -class MarshalledArgs { -public: - MarshalledArgs(JNIMethod* forMethod, va_list args) : mArgs(forMethod->marshallArgs(args)) {} - ~MarshalledArgs() { if (mArgs != NULL) delete[] mArgs; } - - operator jvalue* () { return mArgs; } - -private: - jvalue* mArgs; -}; - -static jvalue kErrorValue; - -class ProxyJNIEnv : public JNIEnv { -private: - static JNINativeInterface_ theFuncs; - static nsDataHashtable* theIDTable; - nsISecureEnv* mSecureEnv; - nsISecurityContext* mContext; - jbool mInProxyFindClass; - - static ProxyJNIEnv& GetProxyEnv(JNIEnv* env) { return *(ProxyJNIEnv*)env; } - - nsISecurityContext* getContext() { - if (!mContext) { - return JVM_GetJSSecurityContext(); - } else { - mContext->AddRef(); - return mContext; - } - } - - static jint JNICALL GetVersion(JNIEnv* env) - { - jint version = 0; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->GetVersion(&version); - return version; - } - - static jclass JNICALL DefineClass(JNIEnv *env, const char *name, jobject loader, const jbyte *buf, jsize len) - { - jclass outClass = NULL; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->DefineClass(name, loader, buf, len, &outClass); - return outClass; - } - - static jclass JNICALL FindClass(JNIEnv *env, const char *name) - { - jclass outClass = NULL; - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = proxyEnv.mSecureEnv; - nsresult result; - result = secureEnv->FindClass(name, &outClass); - if ((NS_FAILED(result) || !outClass) && !proxyEnv.mInProxyFindClass) { - proxyEnv.mInProxyFindClass = JNI_TRUE; - outClass = ProxyFindClass(env, name); - proxyEnv.mInProxyFindClass = JNI_FALSE; - } - return outClass; - } - -#ifdef JDK1_2 - static jmethodID JNICALL FromReflectedMethod(JNIEnv *env, jobject method) - { - return NULL; - } - - static jfieldID JNICALL FromReflectedField(JNIEnv *env, jobject field) - { - return NULL; - } - - static jobject JNICALL ToReflectedMethod(JNIEnv *env, jclass cls, jmethodID methodID, jboolean isStatic) - { - return NULL; - } -#endif - - static jclass JNICALL GetSuperclass(JNIEnv *env, jclass sub) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jclass outSuper = NULL; - nsresult result; - result = secureEnv->GetSuperclass(sub, &outSuper); - return outSuper; - } - - static jboolean JNICALL IsAssignableFrom(JNIEnv *env, jclass sub, jclass sup) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jboolean outIsAssignable = PR_FALSE; - nsresult result; - result = secureEnv->IsAssignableFrom(sub, sup, &outIsAssignable); - return outIsAssignable; - } - -#ifdef JDK1_2 - static jobject JNICALL ToReflectedField(JNIEnv *env, jclass cls, jfieldID fieldID, jboolean isStatic) - { - return NULL; - } -#endif - - static jint JNICALL Throw(JNIEnv *env, jthrowable obj) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jint outStatus = PR_FALSE; - nsresult result; - result = secureEnv->Throw(obj, &outStatus); - return outStatus; - } - - static jint JNICALL ThrowNew(JNIEnv *env, jclass clazz, const char *msg) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jint outStatus = PR_FALSE; - nsresult result; - result = secureEnv->ThrowNew(clazz, msg, &outStatus); - return outStatus; - } - - static jthrowable JNICALL ExceptionOccurred(JNIEnv *env) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jthrowable outThrowable = NULL; - nsresult result; - result = secureEnv->ExceptionOccurred(&outThrowable); - return outThrowable; - } - - static void JNICALL ExceptionDescribe(JNIEnv *env) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->ExceptionDescribe(); - } - - static void JNICALL ExceptionClear(JNIEnv *env) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->ExceptionClear(); - } - - static void JNICALL FatalError(JNIEnv *env, const char *msg) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->FatalError(msg); - } - -#ifdef JDK1_2 - static jint JNICALL PushLocalFrame(JNIEnv *env, jint capacity) - { - return 0; - } - - static jobject JNICALL PopLocalFrame(JNIEnv *env, jobject result) - { - return NULL; - } -#endif - - static jobject JNICALL NewGlobalRef(JNIEnv *env, jobject lobj) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jobject outGlobalRef = NULL; - nsresult result; - result = secureEnv->NewGlobalRef(lobj, &outGlobalRef); - return outGlobalRef; - } - - static void JNICALL DeleteGlobalRef(JNIEnv *env, jobject gref) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->DeleteGlobalRef(gref); - } - - static void JNICALL DeleteLocalRef(JNIEnv *env, jobject obj) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->DeleteLocalRef(obj); - } - - static jboolean JNICALL IsSameObject(JNIEnv *env, jobject obj1, jobject obj2) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jboolean outIsSameObject = PR_FALSE; - nsresult result; - result = secureEnv->IsSameObject(obj1, obj2, &outIsSameObject); - return outIsSameObject; - } - -#ifdef JDK1_2 - static jobject JNICALL NewLocalRef(JNIEnv *env, jobject ref) - { - return NULL; - } - - static jint JNICALL EnsureLocalCapacity(JNIEnv *env, jint capacity) - { - return -1; - } -#endif - - static jobject JNICALL AllocObject(JNIEnv *env, jclass clazz) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jobject outObject = NULL; - nsresult result; - result = secureEnv->AllocObject(clazz, &outObject); - return outObject; - } - - static jobject JNICALL NewObject(JNIEnv *env, jclass clazz, jmethodID methodID, ...) - { - va_list args; va_start(args, methodID); - jobject outObject = NewObjectV(env, clazz, methodID, args); - va_end(args); - return outObject; - } - - static jobject JNICALL NewObjectV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args) - { - jobject outObject = NULL; - - // convert the va_list into an array of jvalues. - JNIMethod* method = (JNIMethod*)methodID; - MarshalledArgs jargs(method, args); - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult result; - result = secureEnv->NewObject(clazz, method->mMethodID, jargs, &outObject, securityContext); - NS_IF_RELEASE(securityContext); - - return outObject; - } - - static jobject JNICALL NewObjectA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args) - { - jobject outObject = NULL; - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - JNIMethod* method = (JNIMethod*)methodID; - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult result; - result = secureEnv->NewObject(clazz, method->mMethodID, args, &outObject, securityContext); - NS_IF_RELEASE(securityContext); - return outObject; - } - - static jclass JNICALL GetObjectClass(JNIEnv *env, jobject obj) - { - jclass outClass = NULL; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->GetObjectClass(obj, &outClass); - return outClass; - } - - static jboolean JNICALL IsInstanceOf(JNIEnv *env, jobject obj, jclass clazz) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jboolean outIsInstanceOf = PR_FALSE; - nsresult result; - result = secureEnv->IsInstanceOf(obj, clazz, &outIsInstanceOf); - return outIsInstanceOf; - } - - static jmethodID JNICALL GetMethodID(JNIEnv *env, jclass clazz, const char *name, const char *sig) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jmethodID outMethodID = NULL; - nsresult result = secureEnv->GetMethodID(clazz, name, sig, &outMethodID); - if (result == NS_OK && outMethodID != NULL) { - JavaClassMember key(clazz, outMethodID); - JNIMethod* method; - PRBool bFound = theIDTable && theIDTable->Get(key, (void **)&method); - if (!bFound) { - method = new JNIMethod(name, sig, outMethodID); - if (theIDTable) - theIDTable->Put(key, method); - } - outMethodID = jmethodID(method); - } - return outMethodID; - } - - /** - * Bottleneck methods called by method families below. - */ - - // Virtual Invokers. - - static jvalue InvokeMethod(JNIEnv *env, jobject obj, JNIMethod* method, jvalue* args) - { - jvalue outValue; - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult rv = secureEnv->CallMethod(method->mReturnType, obj, method->mMethodID, args, &outValue, securityContext); - NS_IF_RELEASE(securityContext); - return NS_SUCCEEDED(rv) ? outValue : kErrorValue; - } - - static jvalue InvokeMethod(JNIEnv *env, jobject obj, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - return InvokeMethod(env, obj, method, jargs); - } - - static void InvokeVoidMethod(JNIEnv *env, jobject obj, JNIMethod* method, jvalue* args) - { - jvalue unusedValue; - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult result; - result = secureEnv->CallMethod(jvoid_type, obj, method->mMethodID, args, &unusedValue, securityContext); - NS_IF_RELEASE(securityContext); - } - - static void InvokeVoidMethod(JNIEnv *env, jobject obj, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - InvokeVoidMethod(env, obj, method, jargs); - } - -#define IMPLEMENT_METHOD_FAMILY(methodName, returnType, jvalueField) \ - static returnType JNICALL methodName(JNIEnv *env, jobject obj, jmethodID methodID, ...) \ - { \ - va_list args; va_start(args, methodID); \ - returnType result = InvokeMethod(env, obj, (JNIMethod*)methodID, args).jvalueField; \ - va_end(args); \ - return result; \ - } \ - \ - static returnType JNICALL methodName##V(JNIEnv *env, jobject obj, jmethodID methodID, va_list args) \ - { \ - return InvokeMethod(env, obj, (JNIMethod*)methodID, args).jvalueField; \ - } \ - \ - static returnType JNICALL methodName##A(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args) \ - { \ - return InvokeMethod(env, obj, (JNIMethod*)methodID, args).jvalueField; \ - } \ - - // Pattern on which IMPLEMENT_METHOD_FAMILY is based. - /* - static jobject JNICALL CallObjectMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...) - { - va_list args; va_start(args, methodID); - jobject outObject = InvokeMethod(env, obj, (JNIMethod*)methodID, args).l; - va_end(args); - return outObject; - } - - static jobject JNICALL CallObjectMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list args) - { - return InvokeMethod(env, obj, (JNIMethod*)methodID, args).l; - } - - static jobject JNICALL CallObjectMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args) - { - return InvokeMethod(env, obj, (JNIMethod*)methodID, args).l; - } - */ - - IMPLEMENT_METHOD_FAMILY(CallObjectMethod, jobject, l) - IMPLEMENT_METHOD_FAMILY(CallBooleanMethod, jboolean, z) - IMPLEMENT_METHOD_FAMILY(CallByteMethod, jbyte, b) - IMPLEMENT_METHOD_FAMILY(CallCharMethod, jchar, c) - IMPLEMENT_METHOD_FAMILY(CallShortMethod, jshort, s) - IMPLEMENT_METHOD_FAMILY(CallIntMethod, jint, i) - IMPLEMENT_METHOD_FAMILY(CallLongMethod, jlong, j) - IMPLEMENT_METHOD_FAMILY(CallFloatMethod, jfloat, f) - IMPLEMENT_METHOD_FAMILY(CallDoubleMethod, jdouble, d) - -#undef IMPLEMENT_METHOD_FAMILY - - static void JNICALL CallVoidMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...) - { - va_list args; va_start(args, methodID); - InvokeVoidMethod(env, obj, (JNIMethod*)methodID, args); - va_end(args); - } - - static void JNICALL CallVoidMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list args) - { - InvokeVoidMethod(env, obj, (JNIMethod*)methodID, args); - } - - static void JNICALL CallVoidMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args) - { - InvokeVoidMethod(env, obj, (JNIMethod*)methodID, args); - } - - // Non-virtual Invokers. - - static jvalue InvokeNonVirtualMethod(JNIEnv *env, jobject obj, jclass clazz, JNIMethod* method, jvalue* args) - { - jvalue outValue; - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult rv = secureEnv->CallNonvirtualMethod(method->mReturnType, obj, clazz, method->mMethodID, args, &outValue, securityContext); - NS_IF_RELEASE(securityContext); - return NS_SUCCEEDED(rv) ? outValue : kErrorValue; - } - - static jvalue InvokeNonVirtualMethod(JNIEnv *env, jobject obj, jclass clazz, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - return InvokeNonVirtualMethod(env, obj, clazz, method, jargs); - } - - static void InvokeNonVirtualVoidMethod(JNIEnv *env, jobject obj, jclass clazz, JNIMethod* method, jvalue* args) - { - jvalue unusedValue; - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult result; - result = secureEnv->CallNonvirtualMethod(jvoid_type, obj, clazz, method->mMethodID, args, &unusedValue, securityContext); - NS_IF_RELEASE(securityContext); - } - - static void InvokeNonVirtualVoidMethod(JNIEnv *env, jobject obj, jclass clazz, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - InvokeNonVirtualVoidMethod(env, obj, clazz, method, jargs); - } - -#define IMPLEMENT_METHOD_FAMILY(methodName, returnType, jvalueField) \ - static returnType JNICALL methodName(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...) \ - { \ - va_list args; va_start(args, methodID); \ - returnType result = InvokeNonVirtualMethod(env, obj, clazz, (JNIMethod*)methodID, args).jvalueField; \ - va_end(args); \ - return result; \ - } \ - \ - static returnType JNICALL methodName##V(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args) \ - { \ - return InvokeNonVirtualMethod(env, obj, clazz, (JNIMethod*)methodID, args).jvalueField; \ - } \ - \ - static returnType JNICALL methodName##A(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args) \ - { \ - return InvokeNonVirtualMethod(env, obj, clazz, (JNIMethod*)methodID, args).jvalueField; \ - } \ - - IMPLEMENT_METHOD_FAMILY(CallNonvirtualObjectMethod, jobject, l) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualBooleanMethod, jboolean, z) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualByteMethod, jbyte, b) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualCharMethod, jchar, c) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualShortMethod, jshort, s) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualIntMethod, jint, i) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualLongMethod, jlong, j) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualFloatMethod, jfloat, f) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualDoubleMethod, jdouble, d) - -#undef IMPLEMENT_METHOD_FAMILY - - static void JNICALL CallNonvirtualVoidMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...) - { - va_list args; va_start(args, methodID); - InvokeNonVirtualVoidMethod(env, obj, clazz, (JNIMethod*)methodID, args); - va_end(args); - } - - static void JNICALL CallNonvirtualVoidMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args) - { - InvokeNonVirtualVoidMethod(env, obj, clazz, (JNIMethod*)methodID, args); - } - - static void JNICALL CallNonvirtualVoidMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args) - { - InvokeNonVirtualVoidMethod(env, obj, clazz, (JNIMethod*)methodID, args); - } - - // Instance Fields - - static jfieldID JNICALL GetFieldID(JNIEnv *env, jclass clazz, const char *name, const char *sig) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jfieldID outFieldID = NULL; - nsresult result = secureEnv->GetFieldID(clazz, name, sig, &outFieldID); - if (result == NS_OK && outFieldID != NULL) { - JavaClassMember key(clazz, outFieldID); - JNIField* field; - PRBool bFound = theIDTable && theIDTable->Get(key, (void **)&field); - if (!bFound) { - field = new JNIField(name, sig, outFieldID); - if (theIDTable) - theIDTable->Put(key, field); - } - outFieldID = jfieldID(field); - } - return outFieldID; - } - - static jvalue GetField(JNIEnv* env, jobject obj, JNIField* field) - { - jvalue outValue; - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult rv = secureEnv->GetField(field->mFieldType, obj, field->mFieldID, &outValue, securityContext); - NS_IF_RELEASE(securityContext); - return NS_SUCCEEDED(rv) ? outValue : kErrorValue; - } - -#define IMPLEMENT_GET_FIELD(methodName, returnType, jvalueField) \ - static returnType JNICALL methodName(JNIEnv *env, jobject obj, jfieldID fieldID) \ - { \ - return GetField(env, obj, (JNIField*)fieldID).jvalueField; \ - } \ - - IMPLEMENT_GET_FIELD(GetObjectField, jobject, l) - IMPLEMENT_GET_FIELD(GetBooleanField, jboolean, z) - IMPLEMENT_GET_FIELD(GetByteField, jbyte, b) - IMPLEMENT_GET_FIELD(GetCharField, jchar, c) - IMPLEMENT_GET_FIELD(GetShortField, jshort, s) - IMPLEMENT_GET_FIELD(GetIntField, jint, i) - IMPLEMENT_GET_FIELD(GetLongField, jlong, j) - IMPLEMENT_GET_FIELD(GetFloatField, jfloat, f) - IMPLEMENT_GET_FIELD(GetDoubleField, jdouble, d) - -#undef IMPLEMENT_GET_FIELD - - static void SetField(JNIEnv* env, jobject obj, JNIField* field, jvalue value) - { - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult result; - result = secureEnv->SetField(field->mFieldType, obj, field->mFieldID, value, securityContext); - NS_IF_RELEASE(securityContext); - } - -#define IMPLEMENT_SET_FIELD(methodName, fieldType, jvalueField) \ - static void JNICALL methodName(JNIEnv *env, jobject obj, jfieldID fieldID, fieldType value) \ - { \ - jvalue fieldValue; \ - fieldValue.jvalueField = value; \ - SetField(env, obj, (JNIField*)fieldID, fieldValue); \ - } \ - - IMPLEMENT_SET_FIELD(SetObjectField, jobject, l) - IMPLEMENT_SET_FIELD(SetBooleanField, jboolean, z) - IMPLEMENT_SET_FIELD(SetByteField, jbyte, b) - IMPLEMENT_SET_FIELD(SetCharField, jchar, c) - IMPLEMENT_SET_FIELD(SetShortField, jshort, s) - IMPLEMENT_SET_FIELD(SetIntField, jint, i) - IMPLEMENT_SET_FIELD(SetLongField, jlong, j) - IMPLEMENT_SET_FIELD(SetFloatField, jfloat, f) - IMPLEMENT_SET_FIELD(SetDoubleField, jdouble, d) - -#undef IMPLEMENT_SET_FIELD - - // Static Methods - - static jmethodID JNICALL GetStaticMethodID(JNIEnv *env, jclass clazz, const char *name, const char *sig) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jmethodID outMethodID = NULL; - nsresult result = secureEnv->GetStaticMethodID(clazz, name, sig, &outMethodID); - if (result == NS_OK && outMethodID != NULL) { - JavaClassMember key(clazz, outMethodID); - JNIMethod* method; - PRBool bFound = theIDTable && theIDTable->Get(key, (void **)&method); - if (!bFound) { - method = new JNIMethod(name, sig, outMethodID); - if (theIDTable) - theIDTable->Put(key, method); - } - outMethodID = jmethodID(method); - } - return outMethodID; - } - - // jobject (JNICALL *CallStaticObjectMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - - // Static Invokers. - - static jvalue InvokeStaticMethod(JNIEnv *env, jclass clazz, JNIMethod* method, jvalue* args) - { - jvalue outValue; - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult rv = secureEnv->CallStaticMethod(method->mReturnType, clazz, method->mMethodID, args, &outValue, securityContext); - NS_IF_RELEASE(securityContext); - return NS_SUCCEEDED(rv) ? outValue : kErrorValue; - } - - static jvalue InvokeStaticMethod(JNIEnv *env, jclass clazz, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - return InvokeStaticMethod(env, clazz, method, jargs); - } - - static void InvokeStaticVoidMethod(JNIEnv *env, jclass clazz, JNIMethod* method, jvalue* args) - { - jvalue unusedValue; - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult result; - result = secureEnv->CallStaticMethod(jvoid_type, clazz, method->mMethodID, args, &unusedValue, securityContext); - NS_IF_RELEASE(securityContext); - } - - static void InvokeStaticVoidMethod(JNIEnv *env, jclass clazz, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - InvokeStaticVoidMethod(env, clazz, method, jargs); - } - -#define IMPLEMENT_METHOD_FAMILY(methodName, returnType, jvalueField) \ - static returnType JNICALL methodName(JNIEnv *env, jclass clazz, jmethodID methodID, ...) \ - { \ - va_list args; va_start(args, methodID); \ - returnType result = InvokeStaticMethod(env, clazz, (JNIMethod*)methodID, args).jvalueField; \ - va_end(args); \ - return result; \ - } \ - \ - static returnType JNICALL methodName##V(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args) \ - { \ - return InvokeStaticMethod(env, clazz, (JNIMethod*)methodID, args).jvalueField; \ - } \ - \ - static returnType JNICALL methodName##A(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args) \ - { \ - return InvokeStaticMethod(env, clazz, (JNIMethod*)methodID, args).jvalueField; \ - } \ - - IMPLEMENT_METHOD_FAMILY(CallStaticObjectMethod, jobject, l) - IMPLEMENT_METHOD_FAMILY(CallStaticBooleanMethod, jboolean, z) - IMPLEMENT_METHOD_FAMILY(CallStaticByteMethod, jbyte, b) - IMPLEMENT_METHOD_FAMILY(CallStaticCharMethod, jchar, c) - IMPLEMENT_METHOD_FAMILY(CallStaticShortMethod, jshort, s) - IMPLEMENT_METHOD_FAMILY(CallStaticIntMethod, jint, i) - IMPLEMENT_METHOD_FAMILY(CallStaticLongMethod, jlong, j) - IMPLEMENT_METHOD_FAMILY(CallStaticFloatMethod, jfloat, f) - IMPLEMENT_METHOD_FAMILY(CallStaticDoubleMethod, jdouble, d) - -#undef IMPLEMENT_METHOD_FAMILY - - static void JNICALL CallStaticVoidMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...) - { - va_list args; va_start(args, methodID); - InvokeStaticVoidMethod(env, clazz, (JNIMethod*)methodID, args); - va_end(args); - } - - static void JNICALL CallStaticVoidMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args) - { - InvokeStaticVoidMethod(env, clazz, (JNIMethod*)methodID, args); - } - - static void JNICALL CallStaticVoidMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args) - { - InvokeStaticVoidMethod(env, clazz, (JNIMethod*)methodID, args); - } - - // Static Fields - - static jfieldID JNICALL GetStaticFieldID(JNIEnv *env, jclass clazz, const char *name, const char *sig) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - jfieldID outFieldID = NULL; - nsresult result = secureEnv->GetStaticFieldID(clazz, name, sig, &outFieldID); - if (result == NS_OK && outFieldID != NULL) { - JavaClassMember key(clazz, outFieldID); - JNIField* field; - PRBool bFound = theIDTable && theIDTable->Get(key, (void **)&field); - if (!bFound) { - field = new JNIField(name, sig, outFieldID); - if (theIDTable) - theIDTable->Put(key, field); - } - outFieldID = jfieldID(field); - } - return outFieldID; - } - - static jvalue GetStaticField(JNIEnv* env, jclass clazz, JNIField* field) - { - jvalue outValue; - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult rv = secureEnv->GetStaticField(field->mFieldType, clazz, field->mFieldID, &outValue, securityContext); - NS_IF_RELEASE(securityContext); - return NS_SUCCEEDED(rv) ? outValue : kErrorValue; - } - -#define IMPLEMENT_GET_FIELD(methodName, returnType, jvalueField) \ - static returnType JNICALL methodName(JNIEnv *env, jclass clazz, jfieldID fieldID) \ - { \ - return GetStaticField(env, clazz, (JNIField*)fieldID).jvalueField; \ - } \ - - IMPLEMENT_GET_FIELD(GetStaticObjectField, jobject, l) - IMPLEMENT_GET_FIELD(GetStaticBooleanField, jboolean, z) - IMPLEMENT_GET_FIELD(GetStaticByteField, jbyte, b) - IMPLEMENT_GET_FIELD(GetStaticCharField, jchar, c) - IMPLEMENT_GET_FIELD(GetStaticShortField, jshort, s) - IMPLEMENT_GET_FIELD(GetStaticIntField, jint, i) - IMPLEMENT_GET_FIELD(GetStaticLongField, jlong, j) - IMPLEMENT_GET_FIELD(GetStaticFloatField, jfloat, f) - IMPLEMENT_GET_FIELD(GetStaticDoubleField, jdouble, d) - -#undef IMPLEMENT_GET_FIELD - - static void SetStaticField(JNIEnv* env, jclass clazz, JNIField* field, jvalue value) - { - ProxyJNIEnv& proxyEnv = GetProxyEnv(env); - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsISecurityContext* securityContext = proxyEnv.getContext(); - nsresult result; - result = secureEnv->SetStaticField(field->mFieldType, clazz, field->mFieldID, value, securityContext); - NS_IF_RELEASE(securityContext); - } - -#define IMPLEMENT_SET_FIELD(methodName, fieldType, jvalueField) \ - static void JNICALL methodName(JNIEnv *env, jclass clazz, jfieldID fieldID, fieldType value) \ - { \ - jvalue fieldValue; \ - fieldValue.jvalueField = value; \ - SetStaticField(env, clazz, (JNIField*)fieldID, fieldValue); \ - } \ - - IMPLEMENT_SET_FIELD(SetStaticObjectField, jobject, l) - IMPLEMENT_SET_FIELD(SetStaticBooleanField, jboolean, z) - IMPLEMENT_SET_FIELD(SetStaticByteField, jbyte, b) - IMPLEMENT_SET_FIELD(SetStaticCharField, jchar, c) - IMPLEMENT_SET_FIELD(SetStaticShortField, jshort, s) - IMPLEMENT_SET_FIELD(SetStaticIntField, jint, i) - IMPLEMENT_SET_FIELD(SetStaticLongField, jlong, j) - IMPLEMENT_SET_FIELD(SetStaticFloatField, jfloat, f) - IMPLEMENT_SET_FIELD(SetStaticDoubleField, jdouble, d) - -#undef IMPLEMENT_SET_FIELD - - static jstring JNICALL NewString(JNIEnv *env, const jchar *unicode, jsize len) - { - jstring outString; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->NewString(unicode, len, &outString); - return outString; - } - - static jsize JNICALL GetStringLength(JNIEnv *env, jstring str) - { - jsize outLength; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->GetStringLength(str, &outLength); - return outLength; - } - - static const jchar* JNICALL GetStringChars(JNIEnv *env, jstring str, jboolean *isCopy) - { - const jchar* outChars = NULL; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->GetStringChars(str, isCopy, &outChars); - return outChars; - } - - static void JNICALL ReleaseStringChars(JNIEnv *env, jstring str, const jchar *chars) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->ReleaseStringChars(str, chars); - } - - static jstring JNICALL NewStringUTF(JNIEnv *env, const char *utf) - { - jstring outString; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->NewStringUTF(utf, &outString); - return outString; - } - - static jsize JNICALL GetStringUTFLength(JNIEnv *env, jstring str) - { - jsize outLength; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->GetStringUTFLength(str, &outLength); - return outLength; - } - - static const char* JNICALL GetStringUTFChars(JNIEnv *env, jstring str, jboolean *isCopy) - { - const char* outChars = NULL; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->GetStringUTFChars(str, isCopy, &outChars); - return outChars; - } - - static void JNICALL ReleaseStringUTFChars(JNIEnv *env, jstring str, const char* chars) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->ReleaseStringUTFChars(str, chars); - } - - static jsize JNICALL GetArrayLength(JNIEnv *env, jarray array) - { - jsize outLength; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->GetArrayLength(array, &outLength); - return outLength; - } - - static jobjectArray JNICALL NewObjectArray(JNIEnv *env, jsize len, jclass clazz, jobject initVal) - { - jobjectArray outArray = NULL; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->NewObjectArray(len, clazz, initVal, &outArray); - return outArray; - } - - static jobject JNICALL GetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index) - { - jobject outObject = NULL; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->GetObjectArrayElement(array, index, &outObject); - return outObject; - } - - static void JNICALL SetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index, jobject val) - { - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->SetObjectArrayElement(array, index, val); - } - -#define IMPLEMENT_NEW_ARRAY(methodName, type) \ - static type##Array JNICALL methodName(JNIEnv *env, jsize len) \ - { \ - type##Array outArray = NULL; \ - nsISecureEnv* secureEnv = GetSecureEnv(env); \ - nsresult result; \ - result = secureEnv->NewArray(type##_type, len, (jarray*)&outArray); \ - return outArray; \ - } \ - - IMPLEMENT_NEW_ARRAY(NewBooleanArray, jboolean) - IMPLEMENT_NEW_ARRAY(NewByteArray, jbyte) - IMPLEMENT_NEW_ARRAY(NewCharArray, jchar) - IMPLEMENT_NEW_ARRAY(NewShortArray, jshort) - IMPLEMENT_NEW_ARRAY(NewIntArray, jint) - IMPLEMENT_NEW_ARRAY(NewLongArray, jlong) - IMPLEMENT_NEW_ARRAY(NewFloatArray, jfloat) - IMPLEMENT_NEW_ARRAY(NewDoubleArray, jdouble) - -#undef IMPLEMENT_NEW_ARRAY - -#define IMPLEMENT_GET_ARRAY_ELEMENTS(methodName, type) \ - static type* JNICALL methodName(JNIEnv *env, type##Array array, jboolean *isCopy) \ - { \ - type* outElements = NULL; \ - nsISecureEnv* secureEnv = GetSecureEnv(env); \ - nsresult result; \ - result = secureEnv->GetArrayElements(type##_type, array, isCopy, &outElements); \ - return outElements; \ - } \ - - IMPLEMENT_GET_ARRAY_ELEMENTS(GetBooleanArrayElements, jboolean) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetByteArrayElements, jbyte) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetCharArrayElements, jchar) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetShortArrayElements, jshort) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetIntArrayElements, jint) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetLongArrayElements, jlong) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetFloatArrayElements, jfloat) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetDoubleArrayElements, jdouble) - -#undef IMPLEMENT_GET_ARRAY_ELEMENTS - -#define IMPLEMENT_RELEASE_ARRAY_ELEMENTS(methodName, type) \ - static void JNICALL methodName(JNIEnv *env, type##Array array, type* elems, jint mode) \ - { \ - nsISecureEnv* secureEnv = GetSecureEnv(env); \ - nsresult result; \ - result = secureEnv->ReleaseArrayElements(type##_type, array, elems, mode); \ - } \ - - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseBooleanArrayElements, jboolean) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseByteArrayElements, jbyte) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseCharArrayElements, jchar) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseShortArrayElements, jshort) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseIntArrayElements, jint) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseLongArrayElements, jlong) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseFloatArrayElements, jfloat) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseDoubleArrayElements, jdouble) - -#undef IMPLEMENT_RELEASE_ARRAY_ELEMENTS - -#define IMPLEMENT_GET_ARRAY_REGION(methodName, type) \ - static void JNICALL methodName(JNIEnv *env, type##Array array, jsize start, jsize len, type* buf) \ - { \ - nsISecureEnv* secureEnv = GetSecureEnv(env); \ - nsresult result; \ - result = secureEnv->GetArrayRegion(type##_type, array, start, len, buf); \ - } \ - - IMPLEMENT_GET_ARRAY_REGION(GetBooleanArrayRegion, jboolean) - IMPLEMENT_GET_ARRAY_REGION(GetByteArrayRegion, jbyte) - IMPLEMENT_GET_ARRAY_REGION(GetCharArrayRegion, jchar) - IMPLEMENT_GET_ARRAY_REGION(GetShortArrayRegion, jshort) - IMPLEMENT_GET_ARRAY_REGION(GetIntArrayRegion, jint) - IMPLEMENT_GET_ARRAY_REGION(GetLongArrayRegion, jlong) - IMPLEMENT_GET_ARRAY_REGION(GetFloatArrayRegion, jfloat) - IMPLEMENT_GET_ARRAY_REGION(GetDoubleArrayRegion, jdouble) - -#undef IMPLEMENT_GET_ARRAY_REGION - -#define IMPLEMENT_SET_ARRAY_REGION(methodName, type) \ - static void JNICALL methodName(JNIEnv *env, type##Array array, jsize start, jsize len, type* buf) \ - { \ - nsISecureEnv* secureEnv = GetSecureEnv(env); \ - nsresult result; \ - result = secureEnv->SetArrayRegion(type##_type, array, start, len, buf); \ - } \ - - IMPLEMENT_SET_ARRAY_REGION(SetBooleanArrayRegion, jboolean) - IMPLEMENT_SET_ARRAY_REGION(SetByteArrayRegion, jbyte) - IMPLEMENT_SET_ARRAY_REGION(SetCharArrayRegion, jchar) - IMPLEMENT_SET_ARRAY_REGION(SetShortArrayRegion, jshort) - IMPLEMENT_SET_ARRAY_REGION(SetIntArrayRegion, jint) - IMPLEMENT_SET_ARRAY_REGION(SetLongArrayRegion, jlong) - IMPLEMENT_SET_ARRAY_REGION(SetFloatArrayRegion, jfloat) - IMPLEMENT_SET_ARRAY_REGION(SetDoubleArrayRegion, jdouble) - -#undef IMPLEMENT_SET_ARRAY_REGION - - static jint JNICALL RegisterNatives(JNIEnv *env, jclass clazz, const JNINativeMethod *methods, jint nMethods) - { - jint outStatus = -1; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->RegisterNatives(clazz, methods, nMethods, &outStatus); - return outStatus; - } - - static jint JNICALL UnregisterNatives(JNIEnv *env, jclass clazz) - { - jint outStatus = -1; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->UnregisterNatives(clazz, &outStatus); - return outStatus; - } - - static jint JNICALL MonitorEnter(JNIEnv *env, jobject obj) - { - jint outStatus = -1; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->MonitorEnter(obj, &outStatus); - return outStatus; - } - - static jint JNICALL JNICALL MonitorExit(JNIEnv *env, jobject obj) - { - jint outStatus = -1; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->MonitorExit(obj, &outStatus); - return outStatus; - } - - static jint JNICALL GetJavaVM(JNIEnv *env, JavaVM **vm) - { - jint outStatus = -1; - nsISecureEnv* secureEnv = GetSecureEnv(env); - nsresult result; - result = secureEnv->GetJavaVM(vm, &outStatus); - return outStatus; - } - -public: - ProxyJNIEnv(nsIJVMPlugin* jvmPlugin, nsISecureEnv* secureEnv); - ~ProxyJNIEnv(); - - nsISecureEnv* getSecureEnv() { return mSecureEnv; } - void SetSecurityContext(nsISecurityContext *context) { - if (mContext) - mContext->Release(); - mContext = context; - mContext->AddRef(); - } - - nsresult GetSecurityContext(nsISecurityContext **context) - { - if (!context) - return NS_ERROR_FAILURE; - - *context = getContext(); - return NS_OK; - } -}; - -JNINativeInterface_ ProxyJNIEnv::theFuncs = { - NULL, // void *reserved0; - NULL, // void *reserved1; - NULL, // void *reserved2; - - NULL, // void *reserved3; - - // jint (JNICALL *GetVersion)(JNIEnv *env); - &GetVersion, - - // jclass (JNICALL *DefineClass) (JNIEnv *env, const char *name, jobject loader, const jbyte *buf, jsize len); - &DefineClass, - - // jclass (JNICALL *FindClass) (JNIEnv *env, const char *name); - &FindClass, - -#ifdef JDK1_2 - // jmethodID (JNICALL *FromReflectedMethod) (JNIEnv *env, jobject method); - &FromReflectedMethod, - - // jfieldID (JNICALL *FromReflectedField) (JNIEnv *env, jobject field); - &FromReflectedField, - - // jobject (JNICALL *ToReflectedMethod) (JNIEnv *env, jclass cls, jmethodID methodID, jboolean isStatic); - &ToReflectedMethod, -#else - NULL, // void *reserved4; - NULL, // void *reserved5; - NULL, // void *reserved6; -#endif - - // jclass (JNICALL *GetSuperclass) (JNIEnv *env, jclass sub); - &GetSuperclass, - - // jboolean (JNICALL *IsAssignableFrom) (JNIEnv *env, jclass sub, jclass sup); - &IsAssignableFrom, - -#ifdef JDK1_2 - // jobject (JNICALL *ToReflectedField) (JNIEnv *env, jclass cls, jfieldID fieldID, jboolean isStatic); - &ToReflectedField, -#else - NULL, // void *reserved7; -#endif - - // jint (JNICALL *Throw) (JNIEnv *env, jthrowable obj); - &Throw, - - // jint (JNICALL *ThrowNew) (JNIEnv *env, jclass clazz, const char *msg); - &ThrowNew, - - // jthrowable (JNICALL *ExceptionOccurred) (JNIEnv *env); - &ExceptionOccurred, - - // void (JNICALL *ExceptionDescribe) (JNIEnv *env); - &ExceptionDescribe, - - // void (JNICALL *ExceptionClear) (JNIEnv *env); - &ExceptionClear, - - // void (JNICALL *FatalError) (JNIEnv *env, const char *msg); - &FatalError, - -#ifdef JDK1_2 - // jint (JNICALL *PushLocalFrame) (JNIEnv *env, jint capacity); - &PushLocalFrame, - - // jobject (JNICALL *PopLocalFrame) (JNIEnv *env, jobject result); - &PopLocalFrame, -#else - NULL, // void *reserved8; - NULL, // void *reserved9; -#endif - - // jobject (JNICALL *NewGlobalRef) (JNIEnv *env, jobject lobj); - &NewGlobalRef, - - // void (JNICALL *DeleteGlobalRef) (JNIEnv *env, jobject gref); - &DeleteGlobalRef, - - // void (JNICALL *DeleteLocalRef) (JNIEnv *env, jobject obj); - &DeleteLocalRef, - - // jboolean (JNICALL *IsSameObject) (JNIEnv *env, jobject obj1, jobject obj2); - &IsSameObject, - -#ifdef JDK1_2 - // jobject (JNICALL *NewLocalRef) (JNIEnv *env, jobject ref); - &NewLocalRef, - - // jint (JNICALL *EnsureLocalCapacity) (JNIEnv *env, jint capacity); - &EnsureLocalCapacity, -#else - NULL, // void *reserved10; - NULL, // void *reserved11; -#endif - - // jobject (JNICALL *AllocObject) (JNIEnv *env, jclass clazz); - &AllocObject, - -#define REFERENCE_METHOD_FAMILY(methodName) &methodName, &methodName##V, &methodName##A, - - // jobject (JNICALL *NewObject) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jobject (JNICALL *NewObjectV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jobject (JNICALL *NewObjectA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(NewObject) - - // jclass (JNICALL *GetObjectClass) (JNIEnv *env, jobject obj); - &GetObjectClass, - - // jboolean (JNICALL *IsInstanceOf) (JNIEnv *env, jobject obj, jclass clazz); - &IsInstanceOf, - - // jmethodID (JNICALL *GetMethodID)(JNIEnv *env, jclass clazz, const char *name, const char *sig); - &GetMethodID, - - // jobject (JNICALL *CallObjectMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jobject (JNICALL *CallObjectMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jobject (JNICALL *CallObjectMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallObjectMethod) - - // jboolean (JNICALL *CallBooleanMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jboolean (JNICALL *CallBooleanMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jboolean (JNICALL *CallBooleanMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallBooleanMethod) - - // jbyte (JNICALL *CallByteMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jbyte (JNICALL *CallByteMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jbyte (JNICALL *CallByteMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallByteMethod) - - // jchar (JNICALL *CallCharMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jchar (JNICALL *CallCharMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jchar (JNICALL *CallCharMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallCharMethod) - - // jshort (JNICALL *CallShortMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jshort (JNICALL *CallShortMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jshort (JNICALL *CallShortMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallShortMethod) - - // jint (JNICALL *CallIntMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jint (JNICALL *CallIntMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jint (JNICALL *CallIntMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallIntMethod) - - // jlong (JNICALL *CallLongMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jlong (JNICALL *CallLongMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jlong (JNICALL *CallLongMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallLongMethod) - - // jfloat (JNICALL *CallFloatMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jfloat (JNICALL *CallFloatMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jfloat (JNICALL *CallFloatMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallFloatMethod) - - // jdouble (JNICALL *CallDoubleMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jdouble (JNICALL *CallDoubleMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jdouble (JNICALL *CallDoubleMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallDoubleMethod) - - // void (JNICALL *CallVoidMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // void (JNICALL *CallVoidMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // void (JNICALL *CallVoidMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallVoidMethod) - - // jobject (JNICALL *CallNonvirtualObjectMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jobject (JNICALL *CallNonvirtualObjectMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jobject (JNICALL *CallNonvirtualObjectMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallNonvirtualObjectMethod) - - // jboolean (JNICALL *CallNonvirtualBooleanMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jboolean (JNICALL *CallNonvirtualBooleanMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jboolean (JNICALL *CallNonvirtualBooleanMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallNonvirtualBooleanMethod) - - // jbyte (JNICALL *CallNonvirtualByteMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jbyte (JNICALL *CallNonvirtualByteMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jbyte (JNICALL *CallNonvirtualByteMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualByteMethod) - - // jchar (JNICALL *CallNonvirtualCharMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jchar (JNICALL *CallNonvirtualCharMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jchar (JNICALL *CallNonvirtualCharMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualCharMethod) - - // jshort (JNICALL *CallNonvirtualShortMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jshort (JNICALL *CallNonvirtualShortMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jshort (JNICALL *CallNonvirtualShortMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualShortMethod) - - // jint (JNICALL *CallNonvirtualIntMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jint (JNICALL *CallNonvirtualIntMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jint (JNICALL *CallNonvirtualIntMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualIntMethod) - - // jlong (JNICALL *CallNonvirtualLongMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jlong (JNICALL *CallNonvirtualLongMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jlong (JNICALL *CallNonvirtualLongMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualLongMethod) - - // jfloat (JNICALL *CallNonvirtualFloatMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jfloat (JNICALL *CallNonvirtualFloatMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jfloat (JNICALL *CallNonvirtualFloatMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualFloatMethod) - - // jdouble (JNICALL *CallNonvirtualDoubleMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jdouble (JNICALL *CallNonvirtualDoubleMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jdouble (JNICALL *CallNonvirtualDoubleMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualDoubleMethod) - - // void (JNICALL *CallNonvirtualVoidMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // void (JNICALL *CallNonvirtualVoidMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // void (JNICALL *CallNonvirtualVoidMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallNonvirtualVoidMethod) - - // jfieldID (JNICALL *GetFieldID) (JNIEnv *env, jclass clazz, const char *name, const char *sig); - &GetFieldID, - - // jobject (JNICALL *GetObjectField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jboolean (JNICALL *GetBooleanField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jbyte (JNICALL *GetByteField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jchar (JNICALL *GetCharField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jshort (JNICALL *GetShortField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jint (JNICALL *GetIntField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jlong (JNICALL *GetLongField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jfloat (JNICALL *GetFloatField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jdouble (JNICALL *GetDoubleField) (JNIEnv *env, jobject obj, jfieldID fieldID); - &GetObjectField, &GetBooleanField, &GetByteField, &GetCharField, &GetShortField, &GetIntField, &GetLongField, - &GetFloatField, &GetDoubleField, - - // void (JNICALL *SetObjectField) (JNIEnv *env, jobject obj, jfieldID fieldID, jobject val); - // void (JNICALL *SetBooleanField) (JNIEnv *env, jobject obj, jfieldID fieldID, jboolean val); - // void (JNICALL *SetByteField) (JNIEnv *env, jobject obj, jfieldID fieldID, jbyte val); - // void (JNICALL *SetCharField) (JNIEnv *env, jobject obj, jfieldID fieldID, jchar val); - // void (JNICALL *SetShortField) (JNIEnv *env, jobject obj, jfieldID fieldID, jshort val); - // void (JNICALL *SetIntField) (JNIEnv *env, jobject obj, jfieldID fieldID, jint val); - // void (JNICALL *SetLongField) (JNIEnv *env, jobject obj, jfieldID fieldID, jlong val); - // void (JNICALL *SetFloatField) (JNIEnv *env, jobject obj, jfieldID fieldID, jfloat val); - // void (JNICALL *SetDoubleField) (JNIEnv *env, jobject obj, jfieldID fieldID, jdouble val); - &SetObjectField, &SetBooleanField, &SetByteField, &SetCharField, &SetShortField, &SetIntField, &SetLongField, - &SetFloatField, &SetDoubleField, - - // jmethodID (JNICALL *GetStaticMethodID) (JNIEnv *env, jclass clazz, const char *name, const char *sig); - &GetStaticMethodID, - - // jobject (JNICALL *CallStaticObjectMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jobject (JNICALL *CallStaticObjectMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jobject (JNICALL *CallStaticObjectMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticObjectMethod) - - // jboolean (JNICALL *CallStaticBooleanMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jboolean (JNICALL *CallStaticBooleanMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jboolean (JNICALL *CallStaticBooleanMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticBooleanMethod) - - // jbyte (JNICALL *CallStaticByteMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jbyte (JNICALL *CallStaticByteMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jbyte (JNICALL *CallStaticByteMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticByteMethod) - - // jchar (JNICALL *CallStaticCharMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jchar (JNICALL *CallStaticCharMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jchar (JNICALL *CallStaticCharMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticCharMethod) - - // jshort (JNICALL *CallStaticShortMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jshort (JNICALL *CallStaticShortMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jshort (JNICALL *CallStaticShortMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticShortMethod) - - // jint (JNICALL *CallStaticIntMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jint (JNICALL *CallStaticIntMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jint (JNICALL *CallStaticIntMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticIntMethod) - - // jlong (JNICALL *CallStaticLongMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jlong (JNICALL *CallStaticLongMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jlong (JNICALL *CallStaticLongMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticLongMethod) - - // jfloat (JNICALL *CallStaticFloatMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jfloat (JNICALL *CallStaticFloatMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jfloat (JNICALL *CallStaticFloatMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticFloatMethod) - - // jdouble (JNICALL *CallStaticDoubleMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jdouble (JNICALL *CallStaticDoubleMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jdouble (JNICALL *CallStaticDoubleMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticDoubleMethod) - - // void (JNICALL *CallStaticVoidMethod) (JNIEnv *env, jclass cls, jmethodID methodID, ...); - // void (JNICALL *CallStaticVoidMethodV) (JNIEnv *env, jclass cls, jmethodID methodID, va_list args); - // void (JNICALL *CallStaticVoidMethodA) (JNIEnv *env, jclass cls, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallStaticVoidMethod) - - // jfieldID (JNICALL *GetStaticFieldID) (JNIEnv *env, jclass clazz, const char *name, const char *sig); - &GetStaticFieldID, - - // jobject (JNICALL *GetStaticObjectField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jboolean (JNICALL *GetStaticBooleanField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jbyte (JNICALL *GetStaticByteField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jchar (JNICALL *GetStaticCharField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jshort (JNICALL *GetStaticShortField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jint (JNICALL *GetStaticIntField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jlong (JNICALL *GetStaticLongField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jfloat (JNICALL *GetStaticFloatField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jdouble (JNICALL *GetStaticDoubleField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - &GetStaticObjectField, &GetStaticBooleanField, &GetStaticByteField, &GetStaticCharField, &GetStaticShortField, - &GetStaticIntField, &GetStaticLongField, &GetStaticFloatField, &GetStaticDoubleField, - - // void (JNICALL *SetStaticObjectField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value); - // void (JNICALL *SetStaticBooleanField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jboolean value); - // void (JNICALL *SetStaticByteField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jbyte value); - // void (JNICALL *SetStaticCharField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value); - // void (JNICALL *SetStaticShortField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value); - // void (JNICALL *SetStaticIntField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jint value); - // void (JNICALL *SetStaticLongField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value); - // void (JNICALL *SetStaticFloatField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value); - // void (JNICALL *SetStaticDoubleField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value); - &SetStaticObjectField, &SetStaticBooleanField, &SetStaticByteField, &SetStaticCharField, &SetStaticShortField, - &SetStaticIntField, &SetStaticLongField, &SetStaticFloatField, &SetStaticDoubleField, - - // jstring (JNICALL *NewString) (JNIEnv *env, const jchar *unicode, jsize len); - // jsize (JNICALL *GetStringLength) (JNIEnv *env, jstring str); - // const jchar *(JNICALL *GetStringChars) (JNIEnv *env, jstring str, jboolean *isCopy); - // void (JNICALL *ReleaseStringChars) (JNIEnv *env, jstring str, const jchar *chars); - &NewString, &GetStringLength, &GetStringChars, &ReleaseStringChars, - - // jstring (JNICALL *NewStringUTF) (JNIEnv *env, const char *utf); - // jsize (JNICALL *GetStringUTFLength) (JNIEnv *env, jstring str); - // const char* (JNICALL *GetStringUTFChars) (JNIEnv *env, jstring str, jboolean *isCopy); - // void (JNICALL *ReleaseStringUTFChars) (JNIEnv *env, jstring str, const char* chars); - &NewStringUTF, &GetStringUTFLength, &GetStringUTFChars, &ReleaseStringUTFChars, - - // jsize (JNICALL *GetArrayLength) (JNIEnv *env, jarray array); - &GetArrayLength, - - // jobjectArray (JNICALL *NewObjectArray) (JNIEnv *env, jsize len, jclass clazz, jobject init); - // jobject (JNICALL *GetObjectArrayElement) (JNIEnv *env, jobjectArray array, jsize index); - // void (JNICALL *SetObjectArrayElement) (JNIEnv *env, jobjectArray array, jsize index, jobject val); - &NewObjectArray, &GetObjectArrayElement, &SetObjectArrayElement, - - // jbooleanArray (JNICALL *NewBooleanArray) (JNIEnv *env, jsize len); - // jbyteArray (JNICALL *NewByteArray) (JNIEnv *env, jsize len); - // jcharArray (JNICALL *NewCharArray) (JNIEnv *env, jsize len); - // jshortArray (JNICALL *NewShortArray) (JNIEnv *env, jsize len); - // jintArray (JNICALL *NewIntArray) (JNIEnv *env, jsize len); - // jlongArray (JNICALL *NewLongArray) (JNIEnv *env, jsize len); - // jfloatArray (JNICALL *NewFloatArray) (JNIEnv *env, jsize len); - // jdoubleArray (JNICALL *NewDoubleArray) (JNIEnv *env, jsize len); - &NewBooleanArray, &NewByteArray, &NewCharArray, &NewShortArray, - &NewIntArray, &NewLongArray, &NewFloatArray, &NewDoubleArray, - - // jboolean * (JNICALL *GetBooleanArrayElements) (JNIEnv *env, jbooleanArray array, jboolean *isCopy); - // jbyte * (JNICALL *GetByteArrayElements) (JNIEnv *env, jbyteArray array, jboolean *isCopy); - // jchar * (JNICALL *GetCharArrayElements) (JNIEnv *env, jcharArray array, jboolean *isCopy); - // jshort * (JNICALL *GetShortArrayElements) (JNIEnv *env, jshortArray array, jboolean *isCopy); - // jint * (JNICALL *GetIntArrayElements) (JNIEnv *env, jintArray array, jboolean *isCopy); - // jlong * (JNICALL *GetLongArrayElements) (JNIEnv *env, jlongArray array, jboolean *isCopy); - // jfloat * (JNICALL *GetFloatArrayElements) (JNIEnv *env, jfloatArray array, jboolean *isCopy); - // jdouble * (JNICALL *GetDoubleArrayElements) (JNIEnv *env, jdoubleArray array, jboolean *isCopy); - &GetBooleanArrayElements, &GetByteArrayElements, &GetCharArrayElements, &GetShortArrayElements, - &GetIntArrayElements, &GetLongArrayElements, &GetFloatArrayElements, &GetDoubleArrayElements, - - // void (JNICALL *ReleaseBooleanArrayElements)(JNIEnv *env, jbooleanArray array, jboolean *elems, jint mode); - // void (JNICALL *ReleaseByteArrayElements) (JNIEnv *env, jbyteArray array, jbyte *elems, jint mode); - // void (JNICALL *ReleaseCharArrayElements) (JNIEnv *env, jcharArray array, jchar *elems, jint mode); - // void (JNICALL *ReleaseShortArrayElements) (JNIEnv *env, jshortArray array, jshort *elems, jint mode); - // void (JNICALL *ReleaseIntArrayElements) (JNIEnv *env, jintArray array, jint *elems, jint mode); - // void (JNICALL *ReleaseLongArrayElements) (JNIEnv *env, jlongArray array, jlong *elems, jint mode); - // void (JNICALL *ReleaseFloatArrayElements) (JNIEnv *env, jfloatArray array, jfloat *elems, jint mode); - // void (JNICALL *ReleaseDoubleArrayElements) (JNIEnv *env, jdoubleArray array, jdouble *elems, jint mode); - &ReleaseBooleanArrayElements, &ReleaseByteArrayElements, &ReleaseCharArrayElements, &ReleaseShortArrayElements, - &ReleaseIntArrayElements, &ReleaseLongArrayElements, &ReleaseFloatArrayElements, &ReleaseDoubleArrayElements, - - // void (JNICALL *GetBooleanArrayRegion) (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); - // void (JNICALL *GetByteArrayRegion) (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); - // void (JNICALL *GetCharArrayRegion) (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); - // void (JNICALL *GetShortArrayRegion) (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); - // void (JNICALL *GetIntArrayRegion) (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); - // void (JNICALL *GetLongArrayRegion) (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); - // void (JNICALL *GetFloatArrayRegion) (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); - // void (JNICALL *GetDoubleArrayRegion) (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); - &GetBooleanArrayRegion, &GetByteArrayRegion, &GetCharArrayRegion, &GetShortArrayRegion, - &GetIntArrayRegion, &GetLongArrayRegion, &GetFloatArrayRegion, &GetDoubleArrayRegion, - - // void (JNICALL *SetBooleanArrayRegion) (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); - // void (JNICALL *SetByteArrayRegion) (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); - // void (JNICALL *SetCharArrayRegion) (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); - // void (JNICALL *SetShortArrayRegion) (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); - // void (JNICALL *SetIntArrayRegion) (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); - // void (JNICALL *SetLongArrayRegion) (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); - // void (JNICALL *SetFloatArrayRegion) (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); - // void (JNICALL *SetDoubleArrayRegion) (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); - &SetBooleanArrayRegion, &SetByteArrayRegion, &SetCharArrayRegion, &SetShortArrayRegion, - &SetIntArrayRegion, &SetLongArrayRegion, &SetFloatArrayRegion, &SetDoubleArrayRegion, - - // jint (JNICALL *RegisterNatives) (JNIEnv *env, jclass clazz, const JNINativeMethod *methods, jint nMethods); - // jint (JNICALL *UnregisterNatives) (JNIEnv *env, jclass clazz); - &RegisterNatives, &UnregisterNatives, - - // jint (JNICALL *MonitorEnter) (JNIEnv *env, jobject obj); - // jint (JNICALL *MonitorExit) (JNIEnv *env, jobject obj); - &MonitorEnter, &MonitorExit, - - // jint (JNICALL *GetJavaVM) (JNIEnv *env, JavaVM **vm); - &GetJavaVM -}; - -nsDataHashtable* ProxyJNIEnv::theIDTable = NULL; - -ProxyJNIEnv::ProxyJNIEnv(nsIJVMPlugin* jvmPlugin, nsISecureEnv* secureEnv) - : mSecureEnv(secureEnv), mContext(NULL), mInProxyFindClass(JNI_FALSE) -{ - this->functions = &theFuncs; - if (theIDTable == NULL) { - theIDTable = new nsDataHashtable; - if (theIDTable) { - if (!theIDTable->Init(16)) { - delete theIDTable; - theIDTable = NULL; - NS_WARNING("theIDTable initialization FAILED"); - } - } - else { - NS_WARNING("theIDTable allocation FAILED"); - } - } - - // Ask the JVM for a new nsISecureEnv, if none provided. - if (secureEnv == NULL) { - nsresult rv = jvmPlugin->CreateSecureEnv(this, &mSecureEnv); -#ifdef DEBUG - if (NS_FAILED(rv)) - NS_WARNING("CreateSecureEnv FAILED"); - else - NS_WARNING("CreateSecureEnv OK"); -#endif - } -} - -ProxyJNIEnv::~ProxyJNIEnv() -{ - this->functions = NULL; - - if (mSecureEnv != NULL) - mSecureEnv->Release(); -} - -JNIEnv* CreateProxyJNI(nsIJVMPlugin* jvmPlugin, nsISecureEnv* inSecureEnv) -{ - ProxyJNIEnv* proxyEnv = new ProxyJNIEnv(jvmPlugin, inSecureEnv); - if (proxyEnv->getSecureEnv() == NULL) { - delete proxyEnv; - return NULL; - } - return proxyEnv; -} - -void DeleteProxyJNI(JNIEnv* env) -{ - ProxyJNIEnv* proxyEnv = (ProxyJNIEnv*)env; - if (proxyEnv != NULL) - delete proxyEnv; -} - -nsISecureEnv* GetSecureEnv(JNIEnv* env) -{ - ProxyJNIEnv* proxyEnv = (ProxyJNIEnv*)env; - return proxyEnv->getSecureEnv(); -} - -PR_IMPLEMENT(void) SetSecurityContext(JNIEnv* env, nsISecurityContext *context) { - ProxyJNIEnv* proxyEnv = (ProxyJNIEnv*)env; - proxyEnv->SetSecurityContext(context); -} - -PR_IMPLEMENT(nsresult) GetSecurityContext(JNIEnv* env, nsISecurityContext **context) { - ProxyJNIEnv* proxyEnv = (ProxyJNIEnv*)env; - return proxyEnv->GetSecurityContext(context); -} diff --git a/modules/oji/src/classes/netscape/oji/ProxyClassLoaderFactory.java b/modules/oji/src/classes/netscape/oji/ProxyClassLoaderFactory.java deleted file mode 100644 index 7559c8d34f7..00000000000 --- a/modules/oji/src/classes/netscape/oji/ProxyClassLoaderFactory.java +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- - * - * ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is part of the mozilla.org LDAP XPCOM SDK. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Xiaobin Lu - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -package netscape.oji; -import java.net.URLClassLoader; -import java.net.URL; -import java.net.MalformedURLException; - -public abstract class ProxyClassLoaderFactory { - - public static ClassLoader createClassLoader(final String documentURL) - throws MalformedURLException { - URL[] documentURLArray = new URL[1]; - int lastIndx = documentURL.lastIndexOf("/"); - String urlPath = documentURL.substring(0, lastIndx+1); - try { - documentURLArray[0] = new URL(urlPath); - } - catch (MalformedURLException e) { - System.out.println("MalformedURLException was caught"); - return null; - } - return new URLClassLoader(documentURLArray); - } -} diff --git a/modules/oji/src/export.mac b/modules/oji/src/export.mac deleted file mode 100644 index 9add49d9a72..00000000000 --- a/modules/oji/src/export.mac +++ /dev/null @@ -1,7 +0,0 @@ -# -# This is a list of files to be copied to the mozilla:dist directory -# - -nsjvm.h -nsscd.h -jvmmgr.h diff --git a/modules/oji/src/jvmmgr.cpp b/modules/oji/src/jvmmgr.cpp deleted file mode 100644 index f9934784ae9..00000000000 --- a/modules/oji/src/jvmmgr.cpp +++ /dev/null @@ -1,382 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "prlog.h" -#include "nsJVMManager.h" -#include "nsIServiceManager.h" -#include "nsIJVMPrefsWindow.h" -#include "ProxyJNI.h" -#include "lcglue.h" -#include "nsCSecurityContext.h" -#include "nsIJSContextStack.h" - -#define NS_JVMMANAGER_CONTRACTID "@mozilla.org/oji/jvm-mgr;1" -static NS_DEFINE_IID(kIJVMConsoleIID, NS_IJVMCONSOLE_IID); -static NS_DEFINE_IID(kIJVMPrefsWindowIID, NS_IJVMPREFSWINDOW_IID); -static NS_DEFINE_IID(kISymantecDebuggerIID, NS_ISYMANTECDEBUGGER_IID); - -PR_BEGIN_EXTERN_C - -#ifdef PRE_SERVICE_MANAGER -extern nsPluginManager* thePluginManager; -#endif - -PR_IMPLEMENT(void) -JVM_ReleaseJVMMgr(nsJVMManager* mgr) -{ - mgr->Release(); -} - -static nsIJVMPlugin* -GetRunningJVM(void) -{ - nsIJVMPlugin* jvm = NULL; - nsresult rv; - nsCOMPtr managerService = do_GetService(NS_JVMMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv)) return jvm; - nsJVMManager* jvmMgr = (nsJVMManager *)managerService.get(); - if (jvmMgr) { - nsJVMStatus status = jvmMgr->GetJVMStatus(); - if (status == nsJVMStatus_Enabled) - status = jvmMgr->StartupJVM(); - if (status == nsJVMStatus_Running) { - jvm = jvmMgr->GetJVMPlugin(); - } - } - return jvm; -} - -PR_IMPLEMENT(nsJVMStatus) -JVM_StartupJVM(void) -{ - GetRunningJVM(); - return JVM_GetJVMStatus(); -} - -PR_IMPLEMENT(nsJVMStatus) -JVM_ShutdownJVM(void) -{ - nsJVMStatus status = nsJVMStatus_Failed; - nsresult rv; - nsCOMPtr managerService = do_GetService(NS_JVMMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv)) return status; - nsJVMManager* mgr = (nsJVMManager *)managerService.get(); - if (mgr) { - status = mgr->ShutdownJVM(); - } - return status; -} - - -PR_IMPLEMENT(nsJVMStatus) -JVM_GetJVMStatus(void) -{ - nsresult rv; - nsJVMStatus status = nsJVMStatus_Disabled; - nsCOMPtr managerService = do_GetService(NS_JVMMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv)) return status; - nsJVMManager* mgr = (nsJVMManager *)managerService.get(); - if (mgr) { - status = mgr->GetJVMStatus(); - } - return status; -} - -PR_IMPLEMENT(PRBool) -JVM_AddToClassPath(const char* dirPath) -{ - nsresult err = NS_ERROR_FAILURE; - nsCOMPtr managerService = do_GetService(NS_JVMMANAGER_CONTRACTID, &err); - if (NS_FAILED(err)) return PR_FALSE; - nsJVMManager* mgr = (nsJVMManager *)managerService.get(); - if (mgr) { - err = mgr->AddToClassPath(dirPath); - } - return err == NS_OK; -} - -//////////////////////////////////////////////////////////////////////////////// - -// This will get the JVMConsole if one is available. You have to Release it -// when you're done with it. -static nsIJVMConsole* -GetConsole(void) -{ - // PENDING(edburns): workaround for bug 76677, make sure the JVM is - // started. - JNIEnv* env = JVM_GetJNIEnv(); - if (!env) - return nsnull; - - nsIJVMConsole* console = nsnull; - nsIJVMPlugin* jvm = GetRunningJVM(); - if (jvm) - jvm->QueryInterface(kIJVMConsoleIID, (void**)&console); - return console; -} - -PR_IMPLEMENT(void) -JVM_ShowConsole(void) -{ - nsIJVMConsole* console = GetConsole(); - if (console) { - console->Show(); - console->Release(); - } -} - -PR_IMPLEMENT(void) -JVM_HideConsole(void) -{ - nsJVMStatus status = JVM_GetJVMStatus(); - if (status == nsJVMStatus_Running) { - nsIJVMConsole* console = GetConsole(); - if (console) { - console->Hide(); - console->Release(); - } - } -} - -PR_IMPLEMENT(PRBool) -JVM_IsConsoleVisible(void) -{ - PRBool result = PR_FALSE; - nsJVMStatus status = JVM_GetJVMStatus(); - if (status == nsJVMStatus_Running) { - nsIJVMConsole* console = GetConsole(); - if (console) { - nsresult err = console->IsVisible(&result); - PR_ASSERT(err != NS_OK ? result == PR_FALSE : PR_TRUE); - console->Release(); - } - } - return result; -} - -PR_IMPLEMENT(void) -JVM_PrintToConsole(const char* msg) -{ - nsJVMStatus status = JVM_GetJVMStatus(); - if (status != nsJVMStatus_Running) - return; - nsIJVMConsole* console = GetConsole(); - if (console) { - console->Print(msg); - console->Release(); - } -} - -//////////////////////////////////////////////////////////////////////////////// - -// This will get the JVMPrefsWindow if one is available. You have to Release it -// when you're done with it. -static nsIJVMPrefsWindow* -GetPrefsWindow(void) -{ - nsIJVMPrefsWindow* prefsWin = NULL; - nsIJVMPlugin* jvm = GetRunningJVM(); - if (jvm) { - jvm->QueryInterface(kIJVMPrefsWindowIID, (void**)&prefsWin); - // jvm->Release(); // GetRunningJVM no longer calls AddRef - } - return prefsWin; -} - -PR_IMPLEMENT(void) -JVM_ShowPrefsWindow(void) -{ - nsIJVMPrefsWindow* prefsWin = GetPrefsWindow(); - if (prefsWin) { - prefsWin->Show(); - prefsWin->Release(); - } -} - -PR_IMPLEMENT(void) -JVM_HidePrefsWindow(void) -{ - nsJVMStatus status = JVM_GetJVMStatus(); - if (status == nsJVMStatus_Running) { - nsIJVMPrefsWindow* prefsWin = GetPrefsWindow(); - if (prefsWin) { - prefsWin->Hide(); - prefsWin->Release(); - } - } -} - -PR_IMPLEMENT(PRBool) -JVM_IsPrefsWindowVisible(void) -{ - PRBool result = PR_FALSE; - nsJVMStatus status = JVM_GetJVMStatus(); - if (status == nsJVMStatus_Running) { - nsIJVMPrefsWindow* prefsWin = GetPrefsWindow(); - if (prefsWin) { - nsresult err = prefsWin->IsVisible(&result); - PR_ASSERT(err != NS_OK ? result == PR_FALSE : PR_TRUE); - prefsWin->Release(); - } - } - return result; -} - -//////////////////////////////////////////////////////////////////////////////// - -PR_IMPLEMENT(void) -JVM_StartDebugger(void) -{ - nsIJVMPlugin* jvm = GetRunningJVM(); - if (jvm) { - nsISymantecDebugger* debugger; - if (jvm->QueryInterface(kISymantecDebuggerIID, (void**)&debugger) == NS_OK) { - // XXX should we make sure the vm is started first? - debugger->StartDebugger(nsSymantecDebugPort_SharedMemory); - debugger->Release(); - } - // jvm->Release(); // GetRunningJVM no longer calls AddRef - } -} - - -PR_IMPLEMENT(JNIEnv*) -JVM_GetJNIEnv(void) -{ - /* get proxy env for current thread. */ - JVMContext* context = GetJVMContext(); - JNIEnv* env = context->proxyEnv; - if (env != NULL) - return env; - - // Create a Proxy JNI to associate with this NSPR thread. - nsIJVMPlugin* jvmPlugin = GetRunningJVM(); - if (jvmPlugin != NULL) - env = CreateProxyJNI(jvmPlugin); - - /* Associate the JNIEnv with the current thread. */ - context->proxyEnv = env; - - return env; -} - -PR_IMPLEMENT(void) -JVM_ReleaseJNIEnv(JNIEnv* env) -{ - /** - * this is now done when the NSPR thread is shutdown. JNIEnvs are always tied to the - * lifetime of threads. - */ -} - -PR_IMPLEMENT(nsresult) -JVM_SpendTime(PRUint32 timeMillis) -{ -#ifdef XP_MAC - nsresult result = NS_ERROR_NOT_INITIALIZED; - nsIJVMPlugin* jvm = GetRunningJVM(); - if (jvm != NULL) - result = jvm->SpendTime(timeMillis); - return result; -#else - return NS_ERROR_NOT_IMPLEMENTED; -#endif -} - -PR_IMPLEMENT(PRBool) -JVM_MaybeStartupLiveConnect() -{ - PRBool result = PR_FALSE; - nsresult rv; - nsCOMPtr managerService = do_GetService(NS_JVMMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv)) return result; - nsJVMManager* mgr = (nsJVMManager *)managerService.get(); - if (mgr) { - result = mgr->MaybeStartupLiveConnect(); - } - return result; -} - - -PR_IMPLEMENT(PRBool) -JVM_MaybeShutdownLiveConnect(void) -{ - PRBool result = PR_FALSE; - nsresult rv; - nsCOMPtr managerService = do_GetService(NS_JVMMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv)) return result; - nsJVMManager* mgr = (nsJVMManager *)managerService.get(); - if (mgr) { - result = mgr->MaybeShutdownLiveConnect(); - } - return result; -} - -PR_IMPLEMENT(PRBool) -JVM_IsLiveConnectEnabled(void) -{ - PRBool result = PR_FALSE; - nsresult rv; - nsCOMPtr managerService = do_GetService(NS_JVMMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv)) return result; - nsJVMManager* mgr = (nsJVMManager *)managerService.get(); - if (mgr) { - result = mgr->IsLiveConnectEnabled(); - } - return result; -} - - -PR_IMPLEMENT(nsISecurityContext*) -JVM_GetJSSecurityContext() -{ - JSContext *cx = nsnull; - nsCOMPtr stack = do_GetService("@mozilla.org/js/xpc/ContextStack;1"); - if (stack) stack->Peek(&cx); - - nsCSecurityContext *securityContext = new nsCSecurityContext(cx); - if (securityContext == nsnull) { - return nsnull; - } - - NS_ADDREF(securityContext); - return securityContext; -} - -PR_END_EXTERN_C - -//////////////////////////////////////////////////////////////////////////////// diff --git a/modules/oji/src/jvmmgr.h b/modules/oji/src/jvmmgr.h deleted file mode 100644 index b8f390b8748..00000000000 --- a/modules/oji/src/jvmmgr.h +++ /dev/null @@ -1,144 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef jvmmgr_h___ -#define jvmmgr_h___ - -#include "prtypes.h" -#include "jni.h" -#include "jsdbgapi.h" -#include "nsError.h" - -#include "nsISecurityContext.h" - -struct nsJVMManager; - -typedef enum nsJVMStatus { - nsJVMStatus_Enabled, /* but not Running */ - nsJVMStatus_Disabled, /* explicitly disabled */ - nsJVMStatus_Running, /* enabled and started */ - nsJVMStatus_Failed /* enabled but failed to start */ -} nsJVMStatus; - - -/******************************************************************************* - * Interface for C Clients - ******************************************************************************/ - -PR_BEGIN_EXTERN_C - -PR_EXTERN(void) -JVM_ReleaseJVMMgr(struct nsJVMManager* mgr); - -PR_EXTERN(nsJVMStatus) -JVM_StartupJVM(void); - -PR_EXTERN(nsJVMStatus) -JVM_ShutdownJVM(void); - -PR_EXTERN(nsJVMStatus) -JVM_GetJVMStatus(void); - -PR_EXTERN(PRBool) -JVM_AddToClassPath(const char* dirPath); - -PR_EXTERN(void) -JVM_ShowConsole(void); - -PR_EXTERN(void) -JVM_HideConsole(void); - -PR_EXTERN(PRBool) -JVM_IsConsoleVisible(void); - -PR_EXTERN(void) -JVM_PrintToConsole(const char* msg); - -PR_EXTERN(void) -JVM_ShowPrefsWindow(void); - -PR_EXTERN(void) -JVM_HidePrefsWindow(void); - -PR_EXTERN(PRBool) -JVM_IsPrefsWindowVisible(void); - -PR_EXTERN(void) -JVM_StartDebugger(void); - -PR_EXTERN(JNIEnv*) -JVM_GetJNIEnv(void); - -PR_IMPLEMENT(void) -JVM_ReleaseJNIEnv(JNIEnv *pJNIEnv); - -PR_EXTERN(nsresult) -JVM_SpendTime(PRUint32 timeMillis); - -PR_EXTERN(PRBool) -JVM_MaybeStartupLiveConnect(void); - -PR_EXTERN(PRBool) -JVM_MaybeShutdownLiveConnect(void); - -PR_EXTERN(PRBool) -JVM_IsLiveConnectEnabled(void); - -PR_EXTERN(nsJVMStatus) -JVM_ShutdownJVM(void); - -PR_EXTERN(PRBool) -JVM_NSISecurityContextImplies(JSStackFrame *pCurrentFrame, const char* target, const char* action); - -PR_EXTERN(JSPrincipals*) -JVM_GetJavaPrincipalsFromStack(JSStackFrame *pCurrentFrame); - -PR_EXTERN(void *) -JVM_GetJavaPrincipalsFromStackAsNSVector(JSStackFrame *pCurrentFrame); - -PR_EXTERN(JSStackFrame**) -JVM_GetStartJSFrameFromParallelStack(void); - -PR_EXTERN(JSStackFrame*) -JVM_GetEndJSFrameFromParallelStack(JSStackFrame *pCurrentFrame); - -PR_EXTERN(nsISecurityContext*) -JVM_GetJSSecurityContext(); - -PR_END_EXTERN_C - -#endif /* jvmmgr_h___ */ diff --git a/modules/oji/src/lcglue.cpp b/modules/oji/src/lcglue.cpp deleted file mode 100644 index 4a28cad48a1..00000000000 --- a/modules/oji/src/lcglue.cpp +++ /dev/null @@ -1,427 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Pierre Phaneuf - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "prthread.h" -#include "nsJVMManager.h" -#include "nsIPluginInstancePeer2.h" -#include "ProxyJNI.h" -#include "lcglue.h" -#include "nscore.h" -#include "nsIScriptContext.h" -#include "nsISecurityContext.h" -#include "nsCSecurityContext.h" -#include "nsCRT.h" -#include "nsIServiceManager.h" -#include "nsIScriptSecurityManager.h" -#include "nsNetUtil.h" -#include "nsDOMJSUtils.h" - -static NS_DEFINE_CID(kJVMManagerCID, NS_JVMMANAGER_CID); - -extern "C" int XP_PROGRESS_STARTING_JAVA; -extern "C" int XP_PROGRESS_STARTING_JAVA_DONE; -extern "C" int XP_JAVA_NO_CLASSES; -extern "C" int XP_JAVA_GENERAL_FAILURE; -extern "C" int XP_JAVA_STARTUP_FAILED; -extern "C" int XP_JAVA_DEBUGGER_FAILED; - -/** - * Template based Thread Local Storage. - */ -template -class ThreadLocalStorage { -public: - ThreadLocalStorage(PRThreadPrivateDTOR dtor) : mIndex(0), mValid(PR_FALSE) - { - mValid = (PR_NewThreadPrivateIndex(&mIndex, dtor) == PR_SUCCESS); - } - - void set(T value) - { - if (mValid) PR_SetThreadPrivate(mIndex, value); - } - - T get() - { - return (T) (mValid ? PR_GetThreadPrivate(mIndex) : 0); - } - -private: - PRUintn mIndex; - PRBool mValid; -}; - - -static void detach_JVMContext(void* storage) -{ - JVMContext* context = reinterpret_cast(storage); - - JNIEnv* proxyEnv = context->proxyEnv; - if (proxyEnv != NULL) { - DeleteProxyJNI(proxyEnv); - context->proxyEnv = NULL; - } - - delete context; -} - -JVMContext* GetJVMContext() -{ - /* Use NSPR thread private data to manage the per-thread JNIEnv* association. */ - static ThreadLocalStorage localContext((PRThreadPrivateDTOR)&detach_JVMContext); - JVMContext* context = localContext.get(); - if (context == NULL) { - context = new JVMContext; - context->proxyEnv = NULL; - context->jsj_env = NULL; - localContext.set(context); - } - return context; -} - -//////////////////////////////////////////////////////////////////////////////// -// LiveConnect callbacks -//////////////////////////////////////////////////////////////////////////////// - -JS_BEGIN_EXTERN_C - -#include "jscntxt.h" - -static JSContext* -map_jsj_thread_to_js_context_impl(JSJavaThreadState *jsj_env, void* java_applet_obj, JNIEnv *env, char **errp) -{ - // Guess what? This design is totally invalid under Gecko, because there isn't a 1 to 1 mapping - // between NSPR threads and JSContexts. We have to ask the plugin instance peer what JSContext - // it lives in to make any sense of all this. - JSContext* context = NULL; - if (java_applet_obj != NULL) { - nsIPluginInstance* pluginInstance = reinterpret_cast(java_applet_obj); - nsIPluginInstancePeer* pluginPeer = NULL; - if (pluginInstance->GetPeer(&pluginPeer) == NS_OK) { - nsIPluginInstancePeer2* pluginPeer2 = NULL; - if (pluginPeer->QueryInterface(NS_GET_IID(nsIPluginInstancePeer2), (void**) &pluginPeer2) == NS_OK) { - pluginPeer2->GetJSContext(&context); - NS_RELEASE(pluginPeer2); - } - NS_RELEASE(pluginPeer); - } - } - return context; -} - -/* -** This callback is called to map a JSContext to a JSJavaThreadState which -** is a wrapper around JNIEnv. Hence this callback essentially maps a JSContext -** to a java thread. JSJ_AttachCurrentThreadToJava just calls AttachCurrentThread -** on the java vm. -*/ -static JSJavaThreadState* -map_js_context_to_jsj_thread_impl(JSContext *cx, char **errp) -{ - *errp = NULL; - - // FIXME: how do we ever break the association between the jsj_env and the - // JVMContext? This needs to be figured out. Otherwise, we'll end up with the - // same dangling JSContext problem we are trying to weed out. - - JVMContext* context = GetJVMContext(); - JSJavaThreadState* jsj_env = context->jsj_env; - if (jsj_env != NULL) - return jsj_env; - - JSJavaVM* js_jvm = NULL; - nsresult rv; - nsCOMPtr managerService = do_GetService(kJVMManagerCID, &rv); - if (NS_FAILED(rv)) return NULL; - nsJVMManager* pJVMMgr = (nsJVMManager*) managerService.get(); - if (pJVMMgr != NULL) { - js_jvm = pJVMMgr->GetJSJavaVM(); - if (js_jvm == NULL) { - *errp = strdup("Failed to attach to a Java VM."); - return NULL; - } - } - - jsj_env = JSJ_AttachCurrentThreadToJava(js_jvm, NULL, NULL); - context->jsj_env = jsj_env; - - return jsj_env; -} - -/* -** This callback is called in JSObject.getWindow implementation to get - -** a java wrapper JSObject class for a applet only once. -** Note that once a mapping between applet -> javascript JSObject -> Java wrapper JSObject -** is made, all subsequent method calls via JSObject use the internal field -** to get to the javascript JSObject. -*/ - -static JSObject* -map_java_object_to_js_object_impl(JNIEnv *env, void *pluginInstancePtr, char* *errp) -{ - JSObject *window = NULL; - PRBool mayscript = PR_FALSE; - PRBool jvmMochaPrefsEnabled = PR_TRUE; - nsresult err = NS_OK; - - *errp = NULL; - - if (pluginInstancePtr == NULL) { - env->ThrowNew(env->FindClass("java/lang/NullPointerException"), "plugin instance is NULL"); - return NULL; - } - - //TODO: Check if Mocha is enabled. To get to any mocha api, we should use service - // manager and get to the appropriate service. - // jvmMochaPrefsEnabled = LM_GetMochaEnabled(); - if (!jvmMochaPrefsEnabled) { - *errp = strdup("JSObject.getWindow() failed: java preference is disabled"); - return NULL; - } - - /* - * Check for the mayscript tag. - */ - nsIPluginInstance* pluginInstance = reinterpret_cast(pluginInstancePtr); - nsIPluginInstancePeer* pluginPeer; - if (pluginInstance->GetPeer(&pluginPeer) == NS_OK) { - nsIJVMPluginTagInfo* tagInfo; - if (pluginPeer->QueryInterface(NS_GET_IID(nsIJVMPluginTagInfo), (void**) &tagInfo) == NS_OK) { - err = tagInfo->GetMayScript(&mayscript); - // PR_ASSERT(err != NS_OK ? mayscript == PR_FALSE : PR_TRUE); - NS_RELEASE(tagInfo); - } - if ( !mayscript ) { - *errp = strdup("JSObject.getWindow() requires mayscript attribute on this Applet"); - } else { - nsIPluginInstancePeer2* pluginPeer2 = nsnull; - if (pluginPeer->QueryInterface(NS_GET_IID(nsIPluginInstancePeer2), - (void**) &pluginPeer2) == NS_OK) { - err = pluginPeer2->GetJSWindow(&window); - NS_RELEASE(pluginPeer2); - } - } - NS_RELEASE(pluginPeer); - } - - //TODO: Get to the window object using DOM. - // window = getDOMWindow().getScriptOwner().getJSObject(). - return window; -} - -static JSPrincipals* -get_JSPrincipals_from_java_caller_impl(JNIEnv *pJNIEnv, JSContext *pJSContext, void **ppNSIPrincipalArrayIN, int numPrincipals, void *pNSISecurityContext) -{ - nsresult rv; - nsCOMPtr secMan = - do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv)) - return NULL; - - nsCOMPtr principal; - rv = secMan->GetPrincipalFromContext(pJSContext, - getter_AddRefs(principal)); - if (NS_FAILED(rv)) - return NULL; - - JSPrincipals* jsprincipals = NULL; - principal->GetJSPrincipals(pJSContext, &jsprincipals); - return jsprincipals; -} - -static jobject -get_java_wrapper_impl(JNIEnv *pJNIEnv, lcjsobject a_jsobject) -{ - nsresult err = NS_OK; - jobject pJSObjectWrapper = NULL; - nsCOMPtr managerService = do_GetService(kJVMManagerCID, &err); - if (NS_FAILED(err)) return NULL; - nsJVMManager* pJVMMgr = (nsJVMManager *)managerService.get(); - if (pJVMMgr != NULL) { - nsIJVMPlugin* pJVMPI = pJVMMgr->GetJVMPlugin(); - if (pJVMPI != NULL) { - err = pJVMPI->GetJavaWrapper(pJNIEnv, a_jsobject, &pJSObjectWrapper); - } - } - if ( err != NS_OK ) - { - return NULL; - } - return pJSObjectWrapper; -} - -static lcjsobject -unwrap_java_wrapper_impl(JNIEnv *pJNIEnv, jobject java_wrapper) -{ - lcjsobject obj = 0; - nsresult err = NS_OK; - nsCOMPtr managerService = do_GetService(kJVMManagerCID, &err); - if (NS_FAILED(err)) return 0; - nsJVMManager* pJVMMgr = (nsJVMManager *)managerService.get(); - if (pJVMMgr != NULL) { - nsIJVMPlugin* pJVMPI = pJVMMgr->GetJVMPlugin(); - if (pJVMPI != NULL) { - err = pJVMPI->UnwrapJavaWrapper(pJNIEnv, java_wrapper, &obj); - } - } - if ( err != NS_OK ) - { - return 0; - } - return obj; -} - -static JSBool -enter_js_from_java_impl(JNIEnv *jEnv, char **errp, - void **pNSIPrincipaArray, int numPrincipals, - void *pNSISecurityContext, - void *java_applet_obj) -{ - return PR_TRUE; -} - -static void -exit_js_impl(JNIEnv *jEnv, JSContext *cx) -{ - // The main idea is to execute terminate function if have any; - if (cx) - { - nsIScriptContext *scriptContext = GetScriptContextFromJSContext(cx); - - if (scriptContext) - { - scriptContext->ScriptEvaluated(PR_TRUE); - } - } - return; -} - -static PRBool -create_java_vm_impl(SystemJavaVM* *jvm, JNIEnv* *initialEnv, void* initargs) -{ - // const char* classpath = (const char*)initargs; - nsCOMPtr serv = do_GetService(kJVMManagerCID); - if (!serv) - return PR_FALSE; - *initialEnv = JVM_GetJNIEnv(); - if (!*initialEnv) - return PR_FALSE; - // serv will be released when this function returns, but that's OK because - // the XPCOM service manager will keep it alive. - *jvm = reinterpret_cast(serv.get()); - return PR_TRUE; -} - -static PRBool -destroy_java_vm_impl(SystemJavaVM* jvm, JNIEnv* initialEnv) -{ - JVM_ReleaseJNIEnv(initialEnv); - // need to release jvm - return PR_TRUE; -} - -static JNIEnv* -attach_current_thread_impl(SystemJavaVM* jvm) -{ - return JVM_GetJNIEnv(); -} - -static PRBool -detach_current_thread_impl(SystemJavaVM* jvm, JNIEnv* env) -{ - JVM_ReleaseJNIEnv(env); - return PR_TRUE; -} - -static SystemJavaVM* -get_java_vm_impl(JNIEnv* env) -{ - // only one SystemJavaVM for the whole browser, so it doesn't depend on env - nsresult rv; - nsCOMPtr managerService = do_GetService(kJVMManagerCID, &rv); - if (NS_FAILED(rv)) return NULL; - SystemJavaVM* jvm = reinterpret_cast(managerService.get()); - return jvm; -} - -JS_END_EXTERN_C - -static JSJCallbacks jsj_callbacks = { - map_jsj_thread_to_js_context_impl, - map_js_context_to_jsj_thread_impl, - map_java_object_to_js_object_impl, - get_JSPrincipals_from_java_caller_impl, - enter_js_from_java_impl, - exit_js_impl, - NULL, // error_print - get_java_wrapper_impl, - unwrap_java_wrapper_impl, - create_java_vm_impl, - destroy_java_vm_impl, - attach_current_thread_impl, - detach_current_thread_impl, - get_java_vm_impl -}; - -void -JVM_InitLCGlue(void) -{ - JSJ_Init(&jsj_callbacks); -} - -//////////////////////////////////////////////////////////////////////////////// - -/* -TODO:Tom Pixley. -APIs required from Tom Pixley. -o LM_LockJS(errp); Grab the mocha lock before doing any liveconect stuff. - This is because layers above JS engine including liveconnect - DLL itself are not thread safe. -o LM_UnlockJS() -o LM_GetMochaEnabled() Check to see if Mocha is enabled. -o LM_GetCrippledContext(). Get to a pre-created crippled context. All spontaneous - Java calls map into one crippled context. -o ET_InitMoja(0) != LM_MOJA_OK: This tells if moja initialization went ok. -o LM_GetJSPrincipalsFromJavaCaller : Wrap a nsIPrincipal array object to get back a JSPrincipals data struct. -o LM_CanAccessTargetStr This code is used to figure out if access is allowed. It is used during security - stack walking. The tricky thing is that we need to set the start frame into - TLS before calling this code. - Look into nsCSecurityContext::Implies -*/ - diff --git a/modules/oji/src/lcglue.h b/modules/oji/src/lcglue.h deleted file mode 100644 index 3300e859608..00000000000 --- a/modules/oji/src/lcglue.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef lcglue_h___ -#define lcglue_h___ - -#include "prtypes.h" -#include "jni.h" -#include "jsdbgapi.h" -#include "nsError.h" - -#include "nsIJVMThreadManager.h" -#include "nsISecurityContext.h" - -/** - * JVMContext is maintained as thread local storage. The current thread's - * context is accessed by calling GetJVMContext(). - */ -struct JVMContext { - JNIEnv *proxyEnv; /* thread local proxy JNI */ - JSJavaThreadState *jsj_env; /* thread local JavaScript execution env. */ -}; - -JVMContext* GetJVMContext(); -void JVM_InitLCGlue(void); // in lcglue.cpp - -#endif /* lcglue_h___ */ diff --git a/modules/oji/src/nsCJVMManagerFactory.cpp b/modules/oji/src/nsCJVMManagerFactory.cpp deleted file mode 100644 index 896e0eacb35..00000000000 --- a/modules/oji/src/nsCJVMManagerFactory.cpp +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Pierre Phaneuf - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "nsIModule.h" -#include "nsIGenericFactory.h" -#include "nsJVMManager.h" -#include "nsJVMConfigManager.h" - -#ifdef XP_UNIX -#include "nsJVMConfigManagerUnix.h" -#endif - -/* - * Note: In revision 1.17 of this file (and earlier) there was a - * commented out implementation of nsCJVMManagerFactory, a hand-crafted - * implementation of nsIFactory. - */ -#ifdef XP_UNIX -NS_GENERIC_FACTORY_CONSTRUCTOR(nsJVMConfigManagerUnix) -#endif -NS_GENERIC_AGGREGATED_CONSTRUCTOR(nsJVMManager) - -// The list of components we register -static const nsModuleComponentInfo components[] = -{ - { "JVM Manager Service", - NS_JVMMANAGER_CID, - "@mozilla.org/oji/jvm-mgr;1", - nsJVMManagerConstructor - }, -#ifdef XP_UNIX - { "JVM Config Manager", - NS_JVMCONFIGMANAGER_CID, - "@mozilla.org/oji/jvm-config-mgr;1", - nsJVMConfigManagerUnixConstructor - }, -#endif -}; - -NS_IMPL_NSGETMODULE(nsCJVMManagerModule, components) diff --git a/modules/oji/src/nsCNullSecurityContext.cpp b/modules/oji/src/nsCNullSecurityContext.cpp deleted file mode 100644 index 49e763b9b12..00000000000 --- a/modules/oji/src/nsCNullSecurityContext.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- - * - * ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is part of the mozilla.org LDAP XPCOM SDK. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Xiaobin Lu - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "nsCNullSecurityContext.h" -#include "nsString.h" - -NS_IMPL_ISUPPORTS1(nsCNullSecurityContext, nsISecurityContext) - -NS_IMETHODIMP nsCNullSecurityContext::Implies(const char* target, const char* action, PRBool* bActionAllowed) -{ - /* Avoid security check, returns true always */ - *bActionAllowed = PR_TRUE; - return NS_OK; -} - -NS_IMETHODIMP nsCNullSecurityContext::GetOrigin(char* buf, int len) -{ - if (buf == NULL) - return NS_ERROR_NULL_POINTER; - - const char origin[] = "file:///"; - PRInt32 originLen = (PRInt32) (sizeof(origin) - 1); - if (len <= originLen) { - return NS_ERROR_NULL_POINTER; - } - // Copy origin - memcpy(buf, origin, originLen); - return NS_OK; -} - -NS_IMETHODIMP nsCNullSecurityContext::GetCertificateID(char* buf, int len) -{ - return NS_ERROR_NOT_IMPLEMENTED; -} diff --git a/modules/oji/src/nsCNullSecurityContext.h b/modules/oji/src/nsCNullSecurityContext.h deleted file mode 100644 index 31eaf470cf9..00000000000 --- a/modules/oji/src/nsCNullSecurityContext.h +++ /dev/null @@ -1,100 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- - * - * ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is part of the mozilla.org LDAP XPCOM SDK. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 2001 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Xiaobin Lu - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ -#ifndef nsCNullSecurityContext_h___ -#define nsCNullSecurityContext_h___ - -#include "nsISecurityContext.h" - -class nsCNullSecurityContext : public nsISecurityContext -{ -public: - - //////////////////////////////////////////////////////////////////////////// - // from nsISupports - - NS_DECL_ISUPPORTS - - //////////////////////////////////////////////////////////////////////// - // from nsISecurityContext: - - /** - * Get the security context to be used in LiveConnect. - * This is used for JavaScript <--> Java. - * - * @param target -- Possible target. - * @param action -- Possible action on the target. - * @return -- NS_OK if the target and action is permitted - * -- NS_FALSE otherwise. - */ - NS_IMETHOD Implies(const char* target, const char* action, - PRBool* bActionAllowed); - - /** - * Get the origin associated with the context. - * - * @param buf -- Result buffer (managed by the caller.) - * @param len -- Buffer length. - * @return -- NS_OK if the codebase string was obtained. - * -- NS_FALSE otherwise. - */ - NS_IMETHOD GetOrigin(char* buf, int len); - - /** - * Get the certificate associated with the context. - * - * @param buf -- Result buffer (managed by the caller.) - * @param len -- Buffer length. - * @return -- NS_OK if the codebase string was obtained. - * -- NS_FALSE otherwise. - */ - NS_IMETHOD GetCertificateID(char* buf, int len); - - - ////////////////////////////////////////////////////////////////////// - // from nsISecureJNI: - - nsCNullSecurityContext() { } -}; - -#endif // CSecurityContext_h___ - - - - - diff --git a/modules/oji/src/nsCSecurityContext.cpp b/modules/oji/src/nsCSecurityContext.cpp deleted file mode 100644 index aa151599331..00000000000 --- a/modules/oji/src/nsCSecurityContext.cpp +++ /dev/null @@ -1,257 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ -/* - * - * It contains the implementation providing nsISecurityCOntext XP-COM interface. - * This file snapshots a JS frame before entering into java. - * - */ - - -#include -#include -#include "prtypes.h" -#include "jscntxt.h" -#include "jsdbgapi.h" -#include "nsCSecurityContext.h" -#include "nsIScriptContext.h" -#include "jvmmgr.h" -#include "jsjava.h" - -// For GetOrigin() - -#include "nsIScriptSecurityManager.h" -#include "nsIServiceManager.h" -#include "nsCRT.h" - -#include "nsTraceRefcnt.h" - -static NS_DEFINE_IID(kISecurityContextIID, NS_ISECURITYCONTEXT_IID); -static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); - - -//////////////////////////////////////////////////////////////////////////// -// nsISupports - -NS_IMPL_ISUPPORTS1(nsCSecurityContext, nsISecurityContext) - -//////////////////////////////////////////////////////////////////////////// -// nsISecurityContext - -NS_METHOD -nsCSecurityContext::Implies(const char* target, const char* action, PRBool *bAllowedAccess) -{ - if(!bAllowedAccess) { - return NS_ERROR_FAILURE; - } - - if(!nsCRT::strcmp(target,"UniversalBrowserRead")) { - // XXX we lie to the applet and say we have UniversalBrowserRead - // even if we don't so that we can bypass the Java plugin's broken - // origin checks. Note that this only affects the plugin's perception - // of our script's capabilities, and has no bearing on the script's - // real capabilities. This code should be changed to assign - // |m_HasUniversalBrowserReadCapability| into the out parameter - // once Java's origin checking code is fixed. - // See bug 146458 for details. - if (JSJ_IsJSCallApplet()) { - *bAllowedAccess = PR_TRUE; - } - else { - *bAllowedAccess = m_HasUniversalBrowserReadCapability; - } - } else if(!nsCRT::strcmp(target,"UniversalJavaPermission")) { - *bAllowedAccess = m_HasUniversalJavaCapability; - } else { - *bAllowedAccess = PR_FALSE; - } - - return NS_OK; -} - - -NS_METHOD -nsCSecurityContext::GetOrigin(char* buf, int buflen) -{ - if (!m_pPrincipal) { - // Get the Script Security Manager. - nsresult rv = NS_OK; - nsCOMPtr secMan = - do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv) || !secMan) { - return NS_ERROR_FAILURE; - } - - secMan->GetSubjectPrincipal(getter_AddRefs(m_pPrincipal)); - if (!m_pPrincipal) { - return NS_ERROR_FAILURE; - } - } - - nsXPIDLCString origin; - m_pPrincipal->GetOrigin(getter_Copies(origin)); - - PRInt32 originlen = origin.Length(); - if (origin.IsEmpty() || originlen > buflen - 1) { - return NS_ERROR_FAILURE; - } - - // Copy the string into to user supplied buffer. Is there a better - // way to do this? - - memcpy(buf, origin, originlen); - buf[originlen] = nsnull; // Gotta terminate it. - - return NS_OK; -} - -NS_METHOD -nsCSecurityContext::GetCertificateID(char* buf, int buflen) -{ - nsCOMPtr principal; - - // Get the Script Security Manager. - - nsresult rv = NS_OK; - nsCOMPtr secMan = - do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv) || !secMan) return NS_ERROR_FAILURE; - - secMan->GetSubjectPrincipal(getter_AddRefs(principal)); - if (!principal) { - return NS_ERROR_FAILURE; - } - - nsCAutoString certificate; - principal->GetFingerprint(certificate); - - PRInt32 certlen = certificate.Length(); - if (buflen <= certlen) { - return NS_ERROR_FAILURE; - } - - memcpy(buf, certificate.get(), certlen); - buf[certlen] = nsnull; - - return NS_OK; -} - -//////////////////////////////////////////////////////////////////////////// -// from nsCSecurityContext: -extern PRUintn tlsIndex3_g; - -nsCSecurityContext::nsCSecurityContext(JSContext* cx) - : m_pJStoJavaFrame(NULL), m_pJSCX(cx), - m_pPrincipal(NULL), - m_HasUniversalJavaCapability(PR_FALSE), - m_HasUniversalBrowserReadCapability(PR_FALSE) -{ - MOZ_COUNT_CTOR(nsCSecurityContext); - - // Get the Script Security Manager. - - nsresult rv = NS_OK; - nsCOMPtr secMan = - do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv) || !secMan) return; - - - nsCOMPtr principal; - if (NS_FAILED(secMan->GetSubjectPrincipal(getter_AddRefs(principal)))) - // return; - ; // Don't return here because the security manager returns - // NS_ERROR_FAILURE when there is no subject principal. In - // that case we are not done. - - nsCOMPtr sysprincipal; - if (NS_FAILED(secMan->GetSystemPrincipal(getter_AddRefs(sysprincipal)))) - return; - - // Do early evaluation of "UniversalJavaPermission" capability. - - PRBool equals; - if (!principal || - NS_SUCCEEDED(principal->Equals(sysprincipal, &equals)) && equals) { - // We have native code or the system principal: just allow general access - m_HasUniversalBrowserReadCapability = PR_TRUE; - m_HasUniversalJavaCapability = PR_TRUE; - } - else { - // Otherwise, check with the js security manager. - secMan->IsCapabilityEnabled("UniversalBrowserRead",&m_HasUniversalBrowserReadCapability); - secMan->IsCapabilityEnabled("UniversalJavaPermission",&m_HasUniversalJavaCapability); - } -} - -nsCSecurityContext::nsCSecurityContext(nsIPrincipal *principal) - : m_pJStoJavaFrame(NULL), m_pJSCX(NULL), - m_pPrincipal(principal), - m_HasUniversalJavaCapability(PR_FALSE), - m_HasUniversalBrowserReadCapability(PR_FALSE) -{ - MOZ_COUNT_CTOR(nsCSecurityContext); - - // Get the Script Security Manager. - - nsresult rv = NS_OK; - nsCOMPtr secMan = - do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv) || !secMan) return; - - nsCOMPtr sysprincipal; - if (NS_FAILED(secMan->GetSystemPrincipal(getter_AddRefs(sysprincipal)))) - return; - - // Do early evaluation of "UniversalJavaPermission" capability. - - if (!m_pPrincipal || m_pPrincipal == sysprincipal) { - // We have native code or the system principal: just allow general access - m_HasUniversalBrowserReadCapability = PR_TRUE; - m_HasUniversalJavaCapability = PR_TRUE; - } - else { - // Otherwise, check with the js security manager. - secMan->IsCapabilityEnabled("UniversalBrowserRead",&m_HasUniversalBrowserReadCapability); - secMan->IsCapabilityEnabled("UniversalJavaPermission",&m_HasUniversalJavaCapability); - } -} - -nsCSecurityContext::~nsCSecurityContext() -{ - MOZ_COUNT_DTOR(nsCSecurityContext); -} - diff --git a/modules/oji/src/nsCSecurityContext.h b/modules/oji/src/nsCSecurityContext.h deleted file mode 100644 index 99c13b58753..00000000000 --- a/modules/oji/src/nsCSecurityContext.h +++ /dev/null @@ -1,117 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/* - * - * It contains the class definition to implement nsISecurityContext XP-COM interface. - * - */ - - -#ifndef nsCSecurityContext_h___ -#define nsCSecurityContext_h___ - -#include "jscntxt.h" -#include "jsdbgapi.h" -#include "nsISecurityContext.h" -#include "nsIPrincipal.h" -#include "nsCOMPtr.h" - -struct JSContext; - -/** - * nsCSecurityContext implements nsISecurityContext interface for navigator. - * This is used by a JVM to implement netscape.javascript.JSObject functionality. - */ -class nsCSecurityContext :public nsISecurityContext { -public: - //////////////////////////////////////////////////////////////////////////// - // from nsISupports - - NS_DECL_ISUPPORTS - - //////////////////////////////////////////////////////////////////////////// - // from nsISecurityContext: - - /** - * Get the security context to be used in LiveConnect. - * This is used for JavaScript <--> Java. - * - * @param target -- Possible target. - * @param action -- Possible action on the target. - * @return -- NS_OK if the target and action is permitted on the security context. - * -- NS_FALSE otherwise. - */ - NS_IMETHOD Implies(const char* target, const char* action, PRBool *bAllowedAccess); - - /** - * Get the code base of the subject (caller). - * - * @param buf -- Result buffer. - * @param len -- Buffer length. - * @return -- NS_OK if the codebase string was obtained. - * -- NS_FALSE otherwise. - */ - NS_IMETHOD GetOrigin(char* buf, int len); - - /** - * Get the certificate thumbprint of the subject (caller). - * - * @param buf -- Result buffer. - * @param len -- Buffer length. - * @return -- NS_OK if the codebase string was obtained. - * -- NS_FALSE otherwise. - */ - NS_IMETHOD GetCertificateID(char* buf, int len); - - //////////////////////////////////////////////////////////////////////////// - // from nsCSecurityContext: - - nsCSecurityContext(JSContext* cx); - nsCSecurityContext(nsIPrincipal* principal); - virtual ~nsCSecurityContext(void); - -protected: - JSStackFrame *m_pJStoJavaFrame; - JSContext *m_pJSCX; -private: - nsCOMPtr m_pPrincipal; - PRBool m_HasUniversalJavaCapability; - PRBool m_HasUniversalBrowserReadCapability; -}; - -#endif // nsCSecurityContext_h___ diff --git a/modules/oji/src/nsJNI.cpp b/modules/oji/src/nsJNI.cpp deleted file mode 100644 index 25fd260e910..00000000000 --- a/modules/oji/src/nsJNI.cpp +++ /dev/null @@ -1,1478 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -/* - * Proxy JNI implementation. - */ - -#include "jni.h" -#include "nsISecureJNI2.h" -#include "nsHashtable.h" -#include "nsVoidArray.h" -#include "plstr.h" - -// Method Signature Processing. - -static jni_type get_jni_type(char sig) -{ - switch (sig) { - case 'L': - case '[': - return jobject_type; - case 'Z': - return jboolean_type; - case 'B': - return jbyte_type; - case 'C': - return jchar_type; - case 'S': - return jshort_type; - case 'I': - return jint_type; - case 'J': - return jlong_type; - case 'F': - return jfloat_type; - case 'D': - return jdouble_type; - case 'V': - return jvoid_type; - } - return jvoid_type; -} - -static PRBool get_method_type(const char* sig, PRUint32& arg_count, jni_type*& arg_types, jni_type& return_type) -{ - arg_count = 0; - if (sig[0] == '(') { - nsVoidArray vec; - ++sig; - while (*sig != ')' && *sig) { - char arg_sig = *sig++; - jni_type arg_type = get_jni_type(arg_sig); - if (arg_type == jobject_type) { - // could be an array or an object. - while (*sig == '[') ++sig; - if (*sig == 'L') { - // skip over "className;" - ++sig; - while (*sig != ';') ++sig; - } - // skip over scalar or ';'. - ++sig; - } - vec.AppendElement((void*)arg_type); - } - arg_count = vec.Count(); - arg_types = new jni_type[arg_count]; - for (int index = arg_count - 1; index >= 0; --index) - arg_types[index] = jni_type(vec.ElementAt(index)); - if (*sig == ')') { - char return_sig = *++sig; - return_type = get_jni_type(return_sig); - } - } - return PR_FALSE; -} - -class JNIHashKey : public nsHashKey { -public: - JNIHashKey(void* key) : mKey(key) {} - - virtual PRUint32 HashValue(void) const { return PRUint32(mKey); } - virtual PRBool Equals(const nsHashKey *aKey) const { return mKey == ((JNIHashKey*)aKey)->mKey; } - virtual nsHashKey *Clone(void) const { return new JNIHashKey(mKey); } - -private: - void* mKey; -}; - -struct JNIMember { - char* mName; - char* mSignature; - - JNIMember(const char* name, const char* sig); - ~JNIMember(); -}; - -JNIMember::JNIMember(const char* name, const char* sig) - : mName(NULL), mSignature(NULL) -{ - mName = PL_strdup(name); - mSignature = PL_strdup(sig); -} - -JNIMember::~JNIMember() -{ - PL_strfree(mName); - PL_strfree(mSignature); -} - -struct JNIField : JNIMember { - jfieldID mFieldID; - jni_type mFieldType; - - JNIField(const char* name, const char* sig, jfieldID fieldID); -}; - -JNIField::JNIField(const char* name, const char* sig, jfieldID fieldID) - : JNIMember(name, sig), mFieldID(fieldID), mFieldType(get_jni_type(*sig)) -{ -} - -struct JNIMethod : JNIMember { - jmethodID mMethodID; - PRUint32 mArgCount; - jni_type* mArgTypes; - jni_type mReturnType; - - JNIMethod(const char* name, const char* sig, jmethodID methodID); - ~JNIMethod(); - - jvalue* marshallArgs(va_list args); -}; - -JNIMethod::JNIMethod(const char* name, const char* sig, jmethodID methodID) - : JNIMember(name, sig), mMethodID(methodID), mArgCount(0), mArgTypes(NULL), mReturnType(jvoid_type) -{ - get_method_type(sig, mArgCount, mArgTypes, mReturnType); -} - -JNIMethod::~JNIMethod() -{ - if (mArgTypes != NULL) - delete[] mArgTypes; -} - -/** - * Copies an argument list into a jvalue array. - */ -jvalue* JNIMethod::marshallArgs(va_list args) -{ - PRUint32 argCount = mArgCount; - jni_type* argTypes = mArgTypes; - jvalue* jargs = new jvalue[argCount]; - if (jargs != NULL) { - for (int i = 0; i < argCount; i++) { - switch (argTypes[i]) { - case jobject_type: - jargs[i].l = va_arg(args, jobject); - break; - case jboolean_type: - jargs[i].z = va_arg(args, jboolean); - break; - case jbyte_type: - jargs[i].b = va_arg(args, jbyte); - break; - case jchar_type: - jargs[i].b = va_arg(args, jbyte); - break; - case jshort_type: - jargs[i].s = va_arg(args, jshort); - break; - case jint_type: - jargs[i].i = va_arg(args, jint); - break; - case jlong_type: - jargs[i].j = va_arg(args, jlong); - break; - case jfloat_type: - jargs[i].f = va_arg(args, jfloat); - break; - case jdouble_type: - jargs[i].d = va_arg(args, jdouble); - break; - } - } - } - return jargs; -} - -/** - * Marshalls a va_list into a jvalue array, and destructor automatically - * deletes when the args go out of scope. - */ -class MarshalledArgs { -public: - MarshalledArgs(JNIMethod* forMethod, va_list args) : mArgs(forMethod->marshallArgs(args)) {} - ~MarshalledArgs() { delete[] mArgs; } - - operator jvalue* () { return mArgs; } - -private: - jvalue* mArgs; -}; - -class nsJNIEnv : public JNIEnv { -private: - static JNINativeInterface_ theFuncs; - static nsHashtable* theIDTable; - nsISecureJNI2* mSecureEnv; - nsISecurityContext* mContext; - jobject mJavaThread; - - static nsJNIEnv& nsJNIEnvRef(JNIEnv* env) { return *(nsJNIEnv*)env; } - - nsISecureJNI2* operator->() { return mSecureEnv; } - nsISecurityContext* getContext() { return mContext; } - - static jint JNICALL GetVersion(JNIEnv* env) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jint version = 0; - nsresult result = secureEnv->GetVersion(&version); - return version; - } - - static jclass JNICALL DefineClass(JNIEnv *env, const char *name, jobject loader, const jbyte *buf, jsize len) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jclass outClass = NULL; - nsresult result = secureEnv->DefineClass(name, loader, buf, len, &outClass); - return outClass; - } - - static jclass JNICALL FindClass(JNIEnv *env, const char *name) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jclass outClass = NULL; - nsresult result = secureEnv->FindClass(name, &outClass); - return outClass; - } - - static jclass JNICALL GetSuperclass(JNIEnv *env, jclass sub) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jclass outSuper = NULL; - nsresult result = secureEnv->GetSuperclass(sub, &outSuper); - return outSuper; - } - - static jboolean JNICALL IsAssignableFrom(JNIEnv *env, jclass sub, jclass sup) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jboolean outIsAssignable = FALSE; - nsresult result = secureEnv->IsAssignableFrom(sub, sup, &outIsAssignable); - return outIsAssignable; - } - - static jint Throw(JNIEnv *env, jthrowable obj) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jint outStatus = FALSE; - nsresult result = secureEnv->Throw(obj, &outStatus); - return outStatus; - } - - static jint JNICALL ThrowNew(JNIEnv *env, jclass clazz, const char *msg) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jint outStatus = FALSE; - nsresult result = secureEnv->ThrowNew(clazz, msg, &outStatus); - return outStatus; - } - - static jthrowable JNICALL ExceptionOccurred(JNIEnv *env) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jthrowable outThrowable = NULL; - nsresult result = secureEnv->ExceptionOccurred(&outThrowable); - return outThrowable; - } - - static void JNICALL ExceptionDescribe(JNIEnv *env) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->ExceptionDescribe(); - } - - static void JNICALL ExceptionClear(JNIEnv *env) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->ExceptionClear(); - } - - static void JNICALL FatalError(JNIEnv *env, const char *msg) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->FatalError(msg); - } - - static jobject JNICALL NewGlobalRef(JNIEnv *env, jobject lobj) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jobject outGlobalRef = NULL; - nsresult result = secureEnv->NewGlobalRef(lobj, &outGlobalRef); - return outGlobalRef; - } - - static void JNICALL DeleteGlobalRef(JNIEnv *env, jobject gref) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->DeleteGlobalRef(gref); - } - - static void JNICALL DeleteLocalRef(JNIEnv *env, jobject obj) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->DeleteLocalRef(obj); - } - - static jboolean JNICALL IsSameObject(JNIEnv *env, jobject obj1, jobject obj2) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jboolean outIsSameObject = FALSE; - nsresult result = secureEnv->IsSameObject(obj1, obj2, &outIsSameObject); - return outIsSameObject; - } - - static jobject JNICALL AllocObject(JNIEnv *env, jclass clazz) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jobject outObject = NULL; - nsresult result = secureEnv->AllocObject(clazz, &outObject); - return outObject; - } - - static jobject JNICALL NewObject(JNIEnv *env, jclass clazz, jmethodID methodID, ...) - { - va_list args; va_start(args, methodID); - jobject outObject = NewObjectV(env, clazz, methodID, args); - va_end(args); - return outObject; - } - - static jobject JNICALL NewObjectV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args) - { - jobject outObject = NULL; - - // convert the va_list into an array of jvalues. - JNIMethod* method = (JNIMethod*)methodID; - MarshalledArgs jargs(method, args); - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->NewObject(clazz, method->mMethodID, jargs, &outObject, secureEnv.getContext()); - - return outObject; - } - - static jobject JNICALL NewObjectA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args) - { - jobject outObject = NULL; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - JNIMethod* method = (JNIMethod*)methodID; - nsresult result = secureEnv->NewObject(clazz, method->mMethodID, args, &outObject, secureEnv.getContext()); - return outObject; - } - - static jclass JNICALL GetObjectClass(JNIEnv *env, jobject obj) - { - jclass outClass = NULL; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->GetObjectClass(obj, &outClass); - return outClass; - } - - static jboolean JNICALL IsInstanceOf(JNIEnv *env, jobject obj, jclass clazz) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jboolean outIsInstanceOf = FALSE; - nsresult result = secureEnv->IsInstanceOf(obj, clazz, &outIsInstanceOf); - return outIsInstanceOf; - } - - static jmethodID JNICALL GetMethodID(JNIEnv *env, jclass clazz, const char *name, const char *sig) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jmethodID outMethodID = NULL; - nsresult result = secureEnv->GetMethodID(clazz, name, sig, &outMethodID); - if (result == NS_OK) { - JNIHashKey key(outMethodID); - JNIMethod* method = (JNIMethod*) theIDTable->Get(&key); - if (method == NULL) { - method = new JNIMethod(name, sig, outMethodID); - theIDTable->Put(&key, method); - } - outMethodID = jmethodID(method); - } - return outMethodID; - } - - /** - * Bottleneck methods called by method families below. - */ - - // Virtual Invokers. - - static jvalue InvokeMethod(JNIEnv *env, jobject obj, JNIMethod* method, jvalue* args) - { - jvalue outValue = { NULL }; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->CallMethod(method->mReturnType, obj, method->mMethodID, args, &outValue, secureEnv.getContext()); - return outValue; - } - - static jvalue InvokeMethod(JNIEnv *env, jobject obj, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - return InvokeMethod(env, obj, method, jargs); - } - - static void InvokeVoidMethod(JNIEnv *env, jobject obj, JNIMethod* method, jvalue* args) - { - jvalue unusedValue; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->CallMethod(jvoid_type, obj, method->mMethodID, args, &unusedValue, secureEnv.getContext()); - } - - static void InvokeVoidMethod(JNIEnv *env, jobject obj, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - InvokeVoidMethod(env, obj, method, jargs); - } - -#define IMPLEMENT_METHOD_FAMILY(methodName, returnType, jvalueField) \ - static returnType JNICALL methodName(JNIEnv *env, jobject obj, jmethodID methodID, ...) \ - { \ - va_list args; va_start(args, methodID); \ - returnType result = InvokeMethod(env, obj, (JNIMethod*)methodID, args).jvalueField; \ - va_end(args); \ - return result; \ - } \ - \ - static returnType JNICALL methodName##V(JNIEnv *env, jobject obj, jmethodID methodID, va_list args) \ - { \ - return InvokeMethod(env, obj, (JNIMethod*)methodID, args).jvalueField; \ - } \ - \ - static returnType JNICALL methodName##A(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args) \ - { \ - return InvokeMethod(env, obj, (JNIMethod*)methodID, args).jvalueField; \ - } \ - - // Pattern on which IMPLEMENT_METHOD_FAMILY is based. - /* - static jobject JNICALL CallObjectMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...) - { - va_list args; va_start(args, methodID); - jobject outObject = InvokeMethod(env, obj, (JNIMethod*)methodID, args).l; - va_end(args); - return outObject; - } - - static jobject JNICALL CallObjectMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list args) - { - return InvokeMethod(env, obj, (JNIMethod*)methodID, args).l; - } - - static jobject JNICALL CallObjectMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args) - { - return InvokeMethod(env, obj, (JNIMethod*)methodID, args).l; - } - */ - - IMPLEMENT_METHOD_FAMILY(CallObjectMethod, jobject, l) - IMPLEMENT_METHOD_FAMILY(CallBooleanMethod, jboolean, z) - IMPLEMENT_METHOD_FAMILY(CallByteMethod, jbyte, b) - IMPLEMENT_METHOD_FAMILY(CallCharMethod, jchar, c) - IMPLEMENT_METHOD_FAMILY(CallShortMethod, jshort, s) - IMPLEMENT_METHOD_FAMILY(CallIntMethod, jint, i) - IMPLEMENT_METHOD_FAMILY(CallLongMethod, jlong, j) - IMPLEMENT_METHOD_FAMILY(CallFloatMethod, jfloat, f) - IMPLEMENT_METHOD_FAMILY(CallDoubleMethod, jdouble, d) - -#undef IMPLEMENT_METHOD_FAMILY - - static void JNICALL CallVoidMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...) - { - va_list args; va_start(args, methodID); - InvokeVoidMethod(env, obj, (JNIMethod*)methodID, args); - va_end(args); - } - - static void JNICALL CallVoidMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list args) - { - InvokeVoidMethod(env, obj, (JNIMethod*)methodID, args); - } - - static void JNICALL CallVoidMethodA(JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args) - { - InvokeVoidMethod(env, obj, (JNIMethod*)methodID, args); - } - - // Non-virtual Invokers. - - static jvalue InvokeNonVirtualMethod(JNIEnv *env, jobject obj, jclass clazz, JNIMethod* method, jvalue* args) - { - jvalue outValue = { NULL }; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->CallNonvirtualMethod(method->mReturnType, obj, clazz, method->mMethodID, args, &outValue, secureEnv.getContext()); - return outValue; - } - - static jvalue InvokeNonVirtualMethod(JNIEnv *env, jobject obj, jclass clazz, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - return InvokeNonVirtualMethod(env, obj, clazz, method, jargs); - } - - static void InvokeNonVirtualVoidMethod(JNIEnv *env, jobject obj, jclass clazz, JNIMethod* method, jvalue* args) - { - jvalue unusedValue; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->CallNonvirtualMethod(jvoid_type, obj, clazz, method->mMethodID, args, &unusedValue, secureEnv.getContext()); - } - - static void InvokeNonVirtualVoidMethod(JNIEnv *env, jobject obj, jclass clazz, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - InvokeNonVirtualVoidMethod(env, obj, clazz, method, jargs); - } - -#define IMPLEMENT_METHOD_FAMILY(methodName, returnType, jvalueField) \ - static returnType JNICALL methodName(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...) \ - { \ - va_list args; va_start(args, methodID); \ - returnType result = InvokeNonVirtualMethod(env, obj, clazz, (JNIMethod*)methodID, args).jvalueField; \ - va_end(args); \ - return result; \ - } \ - \ - static returnType JNICALL methodName##V(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args) \ - { \ - return InvokeNonVirtualMethod(env, obj, clazz, (JNIMethod*)methodID, args).jvalueField; \ - } \ - \ - static returnType JNICALL methodName##A(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args) \ - { \ - return InvokeNonVirtualMethod(env, obj, clazz, (JNIMethod*)methodID, args).jvalueField; \ - } \ - - IMPLEMENT_METHOD_FAMILY(CallNonvirtualObjectMethod, jobject, l) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualBooleanMethod, jboolean, z) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualByteMethod, jbyte, b) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualCharMethod, jchar, c) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualShortMethod, jshort, s) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualIntMethod, jint, i) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualLongMethod, jlong, j) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualFloatMethod, jfloat, f) - IMPLEMENT_METHOD_FAMILY(CallNonvirtualDoubleMethod, jdouble, d) - -#undef IMPLEMENT_METHOD_FAMILY - - static void JNICALL CallNonvirtualVoidMethod(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...) - { - va_list args; va_start(args, methodID); - InvokeNonVirtualVoidMethod(env, obj, clazz, (JNIMethod*)methodID, args); - va_end(args); - } - - static void JNICALL CallNonvirtualVoidMethodV(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args) - { - InvokeNonVirtualVoidMethod(env, obj, clazz, (JNIMethod*)methodID, args); - } - - static void JNICALL CallNonvirtualVoidMethodA(JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args) - { - InvokeNonVirtualVoidMethod(env, obj, clazz, (JNIMethod*)methodID, args); - } - - // Instance Fields - - static jfieldID JNICALL GetFieldID(JNIEnv *env, jclass clazz, const char *name, const char *sig) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jfieldID outFieldID = NULL; - nsresult result = secureEnv->GetFieldID(clazz, name, sig, &outFieldID); - if (result == NS_OK) { - JNIHashKey key(outFieldID); - JNIField* field = (JNIField*) theIDTable->Get(&key); - if (field == NULL) { - field = new JNIField(name, sig, outFieldID); - theIDTable->Put(&key, field); - } - outFieldID = jfieldID(field); - } - return outFieldID; - } - - static jvalue GetField(JNIEnv* env, jobject obj, JNIField* field) - { - jvalue outValue = { NULL }; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->GetField(field->mFieldType, obj, field->mFieldID, &outValue, secureEnv.getContext()); - return outValue; - } - -#define IMPLEMENT_GET_FIELD(methodName, returnType, jvalueField) \ - static returnType JNICALL methodName(JNIEnv *env, jobject obj, jfieldID fieldID) \ - { \ - return GetField(env, obj, (JNIField*)fieldID).jvalueField; \ - } \ - - IMPLEMENT_GET_FIELD(GetObjectField, jobject, l) - IMPLEMENT_GET_FIELD(GetBooleanField, jboolean, z) - IMPLEMENT_GET_FIELD(GetByteField, jbyte, b) - IMPLEMENT_GET_FIELD(GetCharField, jchar, c) - IMPLEMENT_GET_FIELD(GetShortField, jshort, s) - IMPLEMENT_GET_FIELD(GetIntField, jint, i) - IMPLEMENT_GET_FIELD(GetLongField, jlong, j) - IMPLEMENT_GET_FIELD(GetFloatField, jfloat, f) - IMPLEMENT_GET_FIELD(GetDoubleField, jdouble, d) - -#undef IMPLEMENT_GET_FIELD - - static void SetField(JNIEnv* env, jobject obj, JNIField* field, jvalue value) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->SetField(field->mFieldType, obj, field->mFieldID, value, secureEnv.getContext()); - } - -#define IMPLEMENT_SET_FIELD(methodName, fieldType, jvalueField) \ - static void JNICALL methodName(JNIEnv *env, jobject obj, jfieldID fieldID, fieldType value) \ - { \ - jvalue fieldValue; \ - fieldValue.jvalueField = value; \ - SetField(env, obj, (JNIField*)fieldID, fieldValue); \ - } \ - - IMPLEMENT_SET_FIELD(SetObjectField, jobject, l) - IMPLEMENT_SET_FIELD(SetBooleanField, jboolean, z) - IMPLEMENT_SET_FIELD(SetByteField, jbyte, b) - IMPLEMENT_SET_FIELD(SetCharField, jchar, c) - IMPLEMENT_SET_FIELD(SetShortField, jshort, s) - IMPLEMENT_SET_FIELD(SetIntField, jint, i) - IMPLEMENT_SET_FIELD(SetLongField, jlong, j) - IMPLEMENT_SET_FIELD(SetFloatField, jfloat, f) - IMPLEMENT_SET_FIELD(SetDoubleField, jdouble, d) - -#undef IMPLEMENT_SET_FIELD - - // Static Methods - - static jmethodID JNICALL GetStaticMethodID(JNIEnv *env, jclass clazz, const char *name, const char *sig) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jmethodID outMethodID = NULL; - nsresult result = secureEnv->GetStaticMethodID(clazz, name, sig, &outMethodID); - if (result == NS_OK) { - JNIHashKey key(outMethodID); - JNIMethod* method = (JNIMethod*) theIDTable->Get(&key); - if (method == NULL) { - method = new JNIMethod(name, sig, outMethodID); - theIDTable->Put(&key, method); - } - outMethodID = jmethodID(method); - } - return outMethodID; - } - - // jobject (JNICALL *CallStaticObjectMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - - // Static Invokers. - - static jvalue InvokeStaticMethod(JNIEnv *env, jclass clazz, JNIMethod* method, jvalue* args) - { - jvalue outValue = { NULL }; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->CallStaticMethod(method->mReturnType, clazz, method->mMethodID, args, &outValue, secureEnv.getContext()); - return outValue; - } - - static jvalue InvokeStaticMethod(JNIEnv *env, jclass clazz, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - return InvokeStaticMethod(env, clazz, method, jargs); - } - - static void InvokeStaticVoidMethod(JNIEnv *env, jclass clazz, JNIMethod* method, jvalue* args) - { - jvalue unusedValue; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->CallStaticMethod(jvoid_type, clazz, method->mMethodID, args, &unusedValue, secureEnv.getContext()); - } - - static void InvokeStaticVoidMethod(JNIEnv *env, jclass clazz, JNIMethod* method, va_list args) - { - // convert the va_list into an array of jvalues. - MarshalledArgs jargs(method, args); - InvokeStaticVoidMethod(env, clazz, method, jargs); - } - -#define IMPLEMENT_METHOD_FAMILY(methodName, returnType, jvalueField) \ - static returnType JNICALL methodName(JNIEnv *env, jclass clazz, jmethodID methodID, ...) \ - { \ - va_list args; va_start(args, methodID); \ - returnType result = InvokeStaticMethod(env, clazz, (JNIMethod*)methodID, args).jvalueField; \ - va_end(args); \ - return result; \ - } \ - \ - static returnType JNICALL methodName##V(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args) \ - { \ - return InvokeStaticMethod(env, clazz, (JNIMethod*)methodID, args).jvalueField; \ - } \ - \ - static returnType JNICALL methodName##A(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args) \ - { \ - return InvokeStaticMethod(env, clazz, (JNIMethod*)methodID, args).jvalueField; \ - } \ - - IMPLEMENT_METHOD_FAMILY(CallStaticObjectMethod, jobject, l) - IMPLEMENT_METHOD_FAMILY(CallStaticBooleanMethod, jboolean, z) - IMPLEMENT_METHOD_FAMILY(CallStaticByteMethod, jbyte, b) - IMPLEMENT_METHOD_FAMILY(CallStaticCharMethod, jchar, c) - IMPLEMENT_METHOD_FAMILY(CallStaticShortMethod, jshort, s) - IMPLEMENT_METHOD_FAMILY(CallStaticIntMethod, jint, i) - IMPLEMENT_METHOD_FAMILY(CallStaticLongMethod, jlong, j) - IMPLEMENT_METHOD_FAMILY(CallStaticFloatMethod, jfloat, f) - IMPLEMENT_METHOD_FAMILY(CallStaticDoubleMethod, jdouble, d) - -#undef IMPLEMENT_METHOD_FAMILY - - static void JNICALL CallStaticVoidMethod(JNIEnv *env, jclass clazz, jmethodID methodID, ...) - { - va_list args; va_start(args, methodID); - InvokeStaticVoidMethod(env, clazz, (JNIMethod*)methodID, args); - va_end(args); - } - - static void JNICALL CallStaticVoidMethodV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args) - { - InvokeStaticVoidMethod(env, clazz, (JNIMethod*)methodID, args); - } - - static void JNICALL CallStaticVoidMethodA(JNIEnv *env, jclass clazz, jmethodID methodID, jvalue * args) - { - InvokeStaticVoidMethod(env, clazz, (JNIMethod*)methodID, args); - } - - // Static Fields - - static jfieldID JNICALL GetStaticFieldID(JNIEnv *env, jclass clazz, const char *name, const char *sig) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - jfieldID outFieldID = NULL; - nsresult result = secureEnv->GetStaticFieldID(clazz, name, sig, &outFieldID); - if (result == NS_OK) { - JNIHashKey key(outFieldID); - JNIField* field = (JNIField*) theIDTable->Get(&key); - if (field == NULL) { - field = new JNIField(name, sig, outFieldID); - theIDTable->Put(&key, field); - } - outFieldID = jfieldID(field); - } - return outFieldID; - } - - static jvalue GetStaticField(JNIEnv* env, jclass clazz, JNIField* field) - { - jvalue outValue = { NULL }; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->GetStaticField(field->mFieldType, clazz, field->mFieldID, &outValue, secureEnv.getContext()); - return outValue; - } - -#define IMPLEMENT_GET_FIELD(methodName, returnType, jvalueField) \ - static returnType JNICALL methodName(JNIEnv *env, jclass clazz, jfieldID fieldID) \ - { \ - return GetStaticField(env, clazz, (JNIField*)fieldID).jvalueField; \ - } \ - - IMPLEMENT_GET_FIELD(GetStaticObjectField, jobject, l) - IMPLEMENT_GET_FIELD(GetStaticBooleanField, jboolean, z) - IMPLEMENT_GET_FIELD(GetStaticByteField, jbyte, b) - IMPLEMENT_GET_FIELD(GetStaticCharField, jchar, c) - IMPLEMENT_GET_FIELD(GetStaticShortField, jshort, s) - IMPLEMENT_GET_FIELD(GetStaticIntField, jint, i) - IMPLEMENT_GET_FIELD(GetStaticLongField, jlong, j) - IMPLEMENT_GET_FIELD(GetStaticFloatField, jfloat, f) - IMPLEMENT_GET_FIELD(GetStaticDoubleField, jdouble, d) - -#undef IMPLEMENT_GET_FIELD - - static void SetStaticField(JNIEnv* env, jclass clazz, JNIField* field, jvalue value) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->SetStaticField(field->mFieldType, clazz, field->mFieldID, value, secureEnv.getContext()); - } - -#define IMPLEMENT_SET_FIELD(methodName, fieldType, jvalueField) \ - static void JNICALL methodName(JNIEnv *env, jclass clazz, jfieldID fieldID, fieldType value) \ - { \ - jvalue fieldValue; \ - fieldValue.jvalueField = value; \ - SetStaticField(env, clazz, (JNIField*)fieldID, fieldValue); \ - } \ - - IMPLEMENT_SET_FIELD(SetStaticObjectField, jobject, l) - IMPLEMENT_SET_FIELD(SetStaticBooleanField, jboolean, z) - IMPLEMENT_SET_FIELD(SetStaticByteField, jbyte, b) - IMPLEMENT_SET_FIELD(SetStaticCharField, jchar, c) - IMPLEMENT_SET_FIELD(SetStaticShortField, jshort, s) - IMPLEMENT_SET_FIELD(SetStaticIntField, jint, i) - IMPLEMENT_SET_FIELD(SetStaticLongField, jlong, j) - IMPLEMENT_SET_FIELD(SetStaticFloatField, jfloat, f) - IMPLEMENT_SET_FIELD(SetStaticDoubleField, jdouble, d) - -#undef IMPLEMENT_SET_FIELD - - static jstring JNICALL NewString(JNIEnv *env, const jchar *unicode, jsize len) - { - jstring outString; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->NewString(unicode, len, &outString); - return outString; - } - - static jsize JNICALL GetStringLength(JNIEnv *env, jstring str) - { - jsize outLength; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->GetStringLength(str, &outLength); - return outLength; - } - - static const jchar* JNICALL GetStringChars(JNIEnv *env, jstring str, jboolean *isCopy) - { - jchar* outChars = NULL; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->GetStringChars(str, isCopy, &outChars); - return outChars; - } - - static void JNICALL ReleaseStringChars(JNIEnv *env, jstring str, const jchar *chars) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->ReleaseStringChars(str, chars); - } - - static jstring JNICALL NewStringUTF(JNIEnv *env, const char *utf) - { - jstring outString; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->NewStringUTF(utf, &outString); - return outString; - } - - static jsize JNICALL GetStringUTFLength(JNIEnv *env, jstring str) - { - jsize outLength; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->GetStringUTFLength(str, &outLength); - return outLength; - } - - static const char* JNICALL GetStringUTFChars(JNIEnv *env, jstring str, jboolean *isCopy) - { - const char* outChars = NULL; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->GetStringUTFChars(str, isCopy, &outChars); - return outChars; - } - - static void JNICALL ReleaseStringUTFChars(JNIEnv *env, jstring str, const char* chars) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->ReleaseStringUTFChars(str, chars); - } - - static jsize JNICALL GetArrayLength(JNIEnv *env, jarray array) - { - jsize outLength; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->GetArrayLength(array, &outLength); - return outLength; - } - - static jobjectArray JNICALL NewObjectArray(JNIEnv *env, jsize len, jclass clazz, jobject initVal) - { - jobjectArray outArray = NULL; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->NewObjectArray(len, clazz, initVal, &outArray); - return outArray; - } - - static jobject JNICALL GetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index) - { - jobject outObject = NULL; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->GetObjectArrayElement(array, index, &outObject); - return outObject; - } - - static void JNICALL SetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index, jobject val) - { - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->SetObjectArrayElement(array, index, val); - } - -#define IMPLEMENT_NEW_ARRAY(methodName, type) \ - static type##Array JNICALL methodName(JNIEnv *env, jsize len) \ - { \ - type##Array outArray = NULL; \ - nsJNIEnv& secureEnv = nsJNIEnvRef(env); \ - nsresult result = secureEnv->NewArray(type##_type, len, (jarray*)&outArray); \ - return outArray; \ - } \ - - IMPLEMENT_NEW_ARRAY(NewBooleanArray, jboolean) - IMPLEMENT_NEW_ARRAY(NewByteArray, jbyte) - IMPLEMENT_NEW_ARRAY(NewCharArray, jchar) - IMPLEMENT_NEW_ARRAY(NewShortArray, jshort) - IMPLEMENT_NEW_ARRAY(NewIntArray, jint) - IMPLEMENT_NEW_ARRAY(NewLongArray, jlong) - IMPLEMENT_NEW_ARRAY(NewFloatArray, jfloat) - IMPLEMENT_NEW_ARRAY(NewDoubleArray, jdouble) - -#undef IMPLEMENT_NEW_ARRAY - -#define IMPLEMENT_GET_ARRAY_ELEMENTS(methodName, type) \ - static type* JNICALL methodName(JNIEnv *env, type##Array array, jboolean *isCopy) \ - { \ - type* outElements = NULL; \ - nsJNIEnv& secureEnv = nsJNIEnvRef(env); \ - nsresult result = secureEnv->GetArrayElements(type##_type, array, isCopy, &outElements); \ - return outElements; \ - } \ - - IMPLEMENT_GET_ARRAY_ELEMENTS(GetBooleanArrayElements, jboolean) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetByteArrayElements, jbyte) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetCharArrayElements, jchar) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetShortArrayElements, jshort) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetIntArrayElements, jint) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetLongArrayElements, jlong) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetFloatArrayElements, jfloat) - IMPLEMENT_GET_ARRAY_ELEMENTS(GetDoubleArrayElements, jdouble) - -#undef IMPLEMENT_GET_ARRAY_ELEMENTS - -#define IMPLEMENT_RELEASE_ARRAY_ELEMENTS(methodName, type) \ - static void JNICALL methodName(JNIEnv *env, type##Array array, type* elems, jint mode) \ - { \ - nsJNIEnv& secureEnv = nsJNIEnvRef(env); \ - nsresult result = secureEnv->ReleaseArrayElements(type##_type, array, elems, mode); \ - } \ - - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseBooleanArrayElements, jboolean) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseByteArrayElements, jbyte) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseCharArrayElements, jchar) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseShortArrayElements, jshort) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseIntArrayElements, jint) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseLongArrayElements, jlong) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseFloatArrayElements, jfloat) - IMPLEMENT_RELEASE_ARRAY_ELEMENTS(ReleaseDoubleArrayElements, jdouble) - -#undef IMPLEMENT_RELEASE_ARRAY_ELEMENTS - -#define IMPLEMENT_GET_ARRAY_REGION(methodName, type) \ - static void JNICALL methodName(JNIEnv *env, type##Array array, jsize start, jsize len, type* buf) \ - { \ - nsJNIEnv& secureEnv = nsJNIEnvRef(env); \ - nsresult result = secureEnv->GetArrayRegion(type##_type, array, start, len, buf); \ - } \ - - IMPLEMENT_GET_ARRAY_REGION(GetBooleanArrayRegion, jboolean) - IMPLEMENT_GET_ARRAY_REGION(GetByteArrayRegion, jbyte) - IMPLEMENT_GET_ARRAY_REGION(GetCharArrayRegion, jchar) - IMPLEMENT_GET_ARRAY_REGION(GetShortArrayRegion, jshort) - IMPLEMENT_GET_ARRAY_REGION(GetIntArrayRegion, jint) - IMPLEMENT_GET_ARRAY_REGION(GetLongArrayRegion, jlong) - IMPLEMENT_GET_ARRAY_REGION(GetFloatArrayRegion, jfloat) - IMPLEMENT_GET_ARRAY_REGION(GetDoubleArrayRegion, jdouble) - -#undef IMPLEMENT_GET_ARRAY_REGION - -#define IMPLEMENT_SET_ARRAY_REGION(methodName, type) \ - static void JNICALL methodName(JNIEnv *env, type##Array array, jsize start, jsize len, type* buf) \ - { \ - nsJNIEnv& secureEnv = nsJNIEnvRef(env); \ - nsresult result = secureEnv->SetArrayRegion(type##_type, array, start, len, buf); \ - } \ - - IMPLEMENT_SET_ARRAY_REGION(SetBooleanArrayRegion, jboolean) - IMPLEMENT_SET_ARRAY_REGION(SetByteArrayRegion, jbyte) - IMPLEMENT_SET_ARRAY_REGION(SetCharArrayRegion, jchar) - IMPLEMENT_SET_ARRAY_REGION(SetShortArrayRegion, jshort) - IMPLEMENT_SET_ARRAY_REGION(SetIntArrayRegion, jint) - IMPLEMENT_SET_ARRAY_REGION(SetLongArrayRegion, jlong) - IMPLEMENT_SET_ARRAY_REGION(SetFloatArrayRegion, jfloat) - IMPLEMENT_SET_ARRAY_REGION(SetDoubleArrayRegion, jdouble) - -#undef IMPLEMENT_SET_ARRAY_REGION - - static jint JNICALL RegisterNatives(JNIEnv *env, jclass clazz, const JNINativeMethod *methods, jint nMethods) - { - jint outStatus = 0; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->RegisterNatives(clazz, methods, nMethods, &outStatus); - return outStatus; - } - - static jint JNICALL UnregisterNatives(JNIEnv *env, jclass clazz) - { - jint outStatus = 0; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->UnregisterNatives(clazz, &outStatus); - return outStatus; - } - - static jint JNICALL MonitorEnter(JNIEnv *env, jobject obj) - { - jint outStatus = 0; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->MonitorEnter(obj, &outStatus); - return outStatus; - } - - static jint JNICALL JNICALL MonitorExit(JNIEnv *env, jobject obj) - { - jint outStatus = 0; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->MonitorExit(obj, &outStatus); - return outStatus; - } - - static jint JNICALL GetJavaVM(JNIEnv *env, JavaVM **vm) - { - jint outStatus = 0; - nsJNIEnv& secureEnv = nsJNIEnvRef(env); - nsresult result = secureEnv->GetJavaVM(vm, &outStatus); - return outStatus; - } - -public: - nsJNIEnv(nsISecureJNI2* secureEnv); - ~nsJNIEnv(); -}; - -JNINativeInterface_ nsJNIEnv::theFuncs = { - NULL, // void *reserved0; - NULL, // void *reserved1; - NULL, // void *reserved2; - - NULL, // void *reserved3; - - // jint (JNICALL *GetVersion)(JNIEnv *env); - &GetVersion, - - // jclass (JNICALL *DefineClass) (JNIEnv *env, const char *name, jobject loader, const jbyte *buf, jsize len); - &DefineClass, - - // jclass (JNICALL *FindClass) (JNIEnv *env, const char *name); - &FindClass, - - NULL, // void *reserved4; - NULL, // void *reserved5; - NULL, // void *reserved6; - - // jclass (JNICALL *GetSuperclass) (JNIEnv *env, jclass sub); - &GetSuperclass, - - // jboolean (JNICALL *IsAssignableFrom) (JNIEnv *env, jclass sub, jclass sup); - &IsAssignableFrom, - - NULL, // void *reserved7; - - // jint (JNICALL *Throw) (JNIEnv *env, jthrowable obj); - &Throw, - - // jint (JNICALL *ThrowNew) (JNIEnv *env, jclass clazz, const char *msg); - &ThrowNew, - - // jthrowable (JNICALL *ExceptionOccurred) (JNIEnv *env); - &ExceptionOccurred, - - // void (JNICALL *ExceptionDescribe) (JNIEnv *env); - &ExceptionDescribe, - - // void (JNICALL *ExceptionClear) (JNIEnv *env); - &ExceptionClear, - - // void (JNICALL *FatalError) (JNIEnv *env, const char *msg); - &FatalError, - - NULL, // void *reserved8; - NULL, // void *reserved9; - - // jobject (JNICALL *NewGlobalRef) (JNIEnv *env, jobject lobj); - &NewGlobalRef, - - // void (JNICALL *DeleteGlobalRef) (JNIEnv *env, jobject gref); - &DeleteGlobalRef, - - // void (JNICALL *DeleteLocalRef) (JNIEnv *env, jobject obj); - &DeleteLocalRef, - - // jboolean (JNICALL *IsSameObject) (JNIEnv *env, jobject obj1, jobject obj2); - &IsSameObject, - - NULL, // void *reserved10; - NULL, // void *reserved11; - - // jobject (JNICALL *AllocObject) (JNIEnv *env, jclass clazz); - &AllocObject, - -#define REFERENCE_METHOD_FAMILY(methodName) &methodName, &methodName##V, &methodName##A, - - // jobject (JNICALL *NewObject) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jobject (JNICALL *NewObjectV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jobject (JNICALL *NewObjectA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(NewObject) - - // jclass (JNICALL *GetObjectClass) (JNIEnv *env, jobject obj); - &GetObjectClass, - - // jboolean (JNICALL *IsInstanceOf) (JNIEnv *env, jobject obj, jclass clazz); - &IsInstanceOf, - - // jmethodID (JNICALL *GetMethodID)(JNIEnv *env, jclass clazz, const char *name, const char *sig); - &GetMethodID, - - // jobject (JNICALL *CallObjectMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jobject (JNICALL *CallObjectMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jobject (JNICALL *CallObjectMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallObjectMethod) - - // jboolean (JNICALL *CallBooleanMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jboolean (JNICALL *CallBooleanMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jboolean (JNICALL *CallBooleanMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallBooleanMethod) - - // jbyte (JNICALL *CallByteMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jbyte (JNICALL *CallByteMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jbyte (JNICALL *CallByteMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallByteMethod) - - // jchar (JNICALL *CallCharMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jchar (JNICALL *CallCharMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jchar (JNICALL *CallCharMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallCharMethod) - - // jshort (JNICALL *CallShortMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jshort (JNICALL *CallShortMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jshort (JNICALL *CallShortMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallShortMethod) - - // jint (JNICALL *CallIntMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jint (JNICALL *CallIntMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jint (JNICALL *CallIntMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallIntMethod) - - // jlong (JNICALL *CallLongMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jlong (JNICALL *CallLongMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jlong (JNICALL *CallLongMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallLongMethod) - - // jfloat (JNICALL *CallFloatMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jfloat (JNICALL *CallFloatMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jfloat (JNICALL *CallFloatMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallFloatMethod) - - // jdouble (JNICALL *CallDoubleMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // jdouble (JNICALL *CallDoubleMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // jdouble (JNICALL *CallDoubleMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallDoubleMethod) - - // void (JNICALL *CallVoidMethod) (JNIEnv *env, jobject obj, jmethodID methodID, ...); - // void (JNICALL *CallVoidMethodV) (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); - // void (JNICALL *CallVoidMethodA) (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallVoidMethod) - - // jobject (JNICALL *CallNonvirtualObjectMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jobject (JNICALL *CallNonvirtualObjectMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jobject (JNICALL *CallNonvirtualObjectMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallNonvirtualObjectMethod) - - // jboolean (JNICALL *CallNonvirtualBooleanMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jboolean (JNICALL *CallNonvirtualBooleanMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jboolean (JNICALL *CallNonvirtualBooleanMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallNonvirtualBooleanMethod) - - // jbyte (JNICALL *CallNonvirtualByteMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jbyte (JNICALL *CallNonvirtualByteMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jbyte (JNICALL *CallNonvirtualByteMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualByteMethod) - - // jchar (JNICALL *CallNonvirtualCharMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jchar (JNICALL *CallNonvirtualCharMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jchar (JNICALL *CallNonvirtualCharMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualCharMethod) - - // jshort (JNICALL *CallNonvirtualShortMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jshort (JNICALL *CallNonvirtualShortMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jshort (JNICALL *CallNonvirtualShortMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualShortMethod) - - // jint (JNICALL *CallNonvirtualIntMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jint (JNICALL *CallNonvirtualIntMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jint (JNICALL *CallNonvirtualIntMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualIntMethod) - - // jlong (JNICALL *CallNonvirtualLongMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jlong (JNICALL *CallNonvirtualLongMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jlong (JNICALL *CallNonvirtualLongMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualLongMethod) - - // jfloat (JNICALL *CallNonvirtualFloatMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jfloat (JNICALL *CallNonvirtualFloatMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jfloat (JNICALL *CallNonvirtualFloatMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualFloatMethod) - - // jdouble (JNICALL *CallNonvirtualDoubleMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // jdouble (JNICALL *CallNonvirtualDoubleMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // jdouble (JNICALL *CallNonvirtualDoubleMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallNonvirtualDoubleMethod) - - // void (JNICALL *CallNonvirtualVoidMethod) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); - // void (JNICALL *CallNonvirtualVoidMethodV) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, va_list args); - // void (JNICALL *CallNonvirtualVoidMethodA) (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallNonvirtualVoidMethod) - - // jfieldID (JNICALL *GetFieldID) (JNIEnv *env, jclass clazz, const char *name, const char *sig); - &GetFieldID, - - // jobject (JNICALL *GetObjectField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jboolean (JNICALL *GetBooleanField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jbyte (JNICALL *GetByteField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jchar (JNICALL *GetCharField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jshort (JNICALL *GetShortField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jint (JNICALL *GetIntField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jlong (JNICALL *GetLongField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jfloat (JNICALL *GetFloatField) (JNIEnv *env, jobject obj, jfieldID fieldID); - // jdouble (JNICALL *GetDoubleField) (JNIEnv *env, jobject obj, jfieldID fieldID); - &GetObjectField, &GetBooleanField, &GetByteField, &GetCharField, &GetShortField, &GetIntField, &GetLongField, - &GetFloatField, &GetDoubleField, - - // void (JNICALL *SetObjectField) (JNIEnv *env, jobject obj, jfieldID fieldID, jobject val); - // void (JNICALL *SetBooleanField) (JNIEnv *env, jobject obj, jfieldID fieldID, jboolean val); - // void (JNICALL *SetByteField) (JNIEnv *env, jobject obj, jfieldID fieldID, jbyte val); - // void (JNICALL *SetCharField) (JNIEnv *env, jobject obj, jfieldID fieldID, jchar val); - // void (JNICALL *SetShortField) (JNIEnv *env, jobject obj, jfieldID fieldID, jshort val); - // void (JNICALL *SetIntField) (JNIEnv *env, jobject obj, jfieldID fieldID, jint val); - // void (JNICALL *SetLongField) (JNIEnv *env, jobject obj, jfieldID fieldID, jlong val); - // void (JNICALL *SetFloatField) (JNIEnv *env, jobject obj, jfieldID fieldID, jfloat val); - // void (JNICALL *SetDoubleField) (JNIEnv *env, jobject obj, jfieldID fieldID, jdouble val); - &SetObjectField, &SetBooleanField, &SetByteField, &SetCharField, &SetShortField, &SetIntField, &SetLongField, - &SetFloatField, &SetDoubleField, - - // jmethodID (JNICALL *GetStaticMethodID) (JNIEnv *env, jclass clazz, const char *name, const char *sig); - &GetStaticMethodID, - - // jobject (JNICALL *CallStaticObjectMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jobject (JNICALL *CallStaticObjectMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jobject (JNICALL *CallStaticObjectMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticObjectMethod) - - // jboolean (JNICALL *CallStaticBooleanMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jboolean (JNICALL *CallStaticBooleanMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jboolean (JNICALL *CallStaticBooleanMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticBooleanMethod) - - // jbyte (JNICALL *CallStaticByteMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jbyte (JNICALL *CallStaticByteMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jbyte (JNICALL *CallStaticByteMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticByteMethod) - - // jchar (JNICALL *CallStaticCharMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jchar (JNICALL *CallStaticCharMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jchar (JNICALL *CallStaticCharMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticCharMethod) - - // jshort (JNICALL *CallStaticShortMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jshort (JNICALL *CallStaticShortMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jshort (JNICALL *CallStaticShortMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticShortMethod) - - // jint (JNICALL *CallStaticIntMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jint (JNICALL *CallStaticIntMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jint (JNICALL *CallStaticIntMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticIntMethod) - - // jlong (JNICALL *CallStaticLongMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jlong (JNICALL *CallStaticLongMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jlong (JNICALL *CallStaticLongMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticLongMethod) - - // jfloat (JNICALL *CallStaticFloatMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jfloat (JNICALL *CallStaticFloatMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jfloat (JNICALL *CallStaticFloatMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticFloatMethod) - - // jdouble (JNICALL *CallStaticDoubleMethod) (JNIEnv *env, jclass clazz, jmethodID methodID, ...); - // jdouble (JNICALL *CallStaticDoubleMethodV) (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); - // jdouble (JNICALL *CallStaticDoubleMethodA) (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); - REFERENCE_METHOD_FAMILY(CallStaticDoubleMethod) - - // void (JNICALL *CallStaticVoidMethod) (JNIEnv *env, jclass cls, jmethodID methodID, ...); - // void (JNICALL *CallStaticVoidMethodV) (JNIEnv *env, jclass cls, jmethodID methodID, va_list args); - // void (JNICALL *CallStaticVoidMethodA) (JNIEnv *env, jclass cls, jmethodID methodID, jvalue * args); - REFERENCE_METHOD_FAMILY(CallStaticVoidMethod) - - // jfieldID (JNICALL *GetStaticFieldID) (JNIEnv *env, jclass clazz, const char *name, const char *sig); - &GetStaticFieldID, - - // jobject (JNICALL *GetStaticObjectField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jboolean (JNICALL *GetStaticBooleanField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jbyte (JNICALL *GetStaticByteField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jchar (JNICALL *GetStaticCharField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jshort (JNICALL *GetStaticShortField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jint (JNICALL *GetStaticIntField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jlong (JNICALL *GetStaticLongField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jfloat (JNICALL *GetStaticFloatField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - // jdouble (JNICALL *GetStaticDoubleField) (JNIEnv *env, jclass clazz, jfieldID fieldID); - &GetStaticObjectField, &GetStaticBooleanField, &GetStaticByteField, &GetStaticCharField, &GetStaticShortField, - &GetStaticIntField, &GetStaticLongField, &GetStaticFloatField, &GetStaticDoubleField, - - // void (JNICALL *SetStaticObjectField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value); - // void (JNICALL *SetStaticBooleanField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jboolean value); - // void (JNICALL *SetStaticByteField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jbyte value); - // void (JNICALL *SetStaticCharField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value); - // void (JNICALL *SetStaticShortField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value); - // void (JNICALL *SetStaticIntField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jint value); - // void (JNICALL *SetStaticLongField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value); - // void (JNICALL *SetStaticFloatField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value); - // void (JNICALL *SetStaticDoubleField) (JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value); - &SetStaticObjectField, &SetStaticBooleanField, &SetStaticByteField, &SetStaticCharField, &SetStaticShortField, - &SetStaticIntField, &SetStaticLongField, &SetStaticFloatField, &SetStaticDoubleField, - - // jstring (JNICALL *NewString) (JNIEnv *env, const jchar *unicode, jsize len); - // jsize (JNICALL *GetStringLength) (JNIEnv *env, jstring str); - // const jchar *(JNICALL *GetStringChars) (JNIEnv *env, jstring str, jboolean *isCopy); - // void (JNICALL *ReleaseStringChars) (JNIEnv *env, jstring str, const jchar *chars); - &NewString, &GetStringLength, &GetStringChars, &ReleaseStringChars, - - // jstring (JNICALL *NewStringUTF) (JNIEnv *env, const char *utf); - // jsize (JNICALL *GetStringUTFLength) (JNIEnv *env, jstring str); - // const char* (JNICALL *GetStringUTFChars) (JNIEnv *env, jstring str, jboolean *isCopy); - // void (JNICALL *ReleaseStringUTFChars) (JNIEnv *env, jstring str, const char* chars); - &NewStringUTF, &GetStringUTFLength, &GetStringUTFChars, &ReleaseStringUTFChars, - - // jsize (JNICALL *GetArrayLength) (JNIEnv *env, jarray array); - &GetArrayLength, - - // jobjectArray (JNICALL *NewObjectArray) (JNIEnv *env, jsize len, jclass clazz, jobject init); - // jobject (JNICALL *GetObjectArrayElement) (JNIEnv *env, jobjectArray array, jsize index); - // void (JNICALL *SetObjectArrayElement) (JNIEnv *env, jobjectArray array, jsize index, jobject val); - &NewObjectArray, &GetObjectArrayElement, &SetObjectArrayElement, - - // jbooleanArray (JNICALL *NewBooleanArray) (JNIEnv *env, jsize len); - // jbyteArray (JNICALL *NewByteArray) (JNIEnv *env, jsize len); - // jcharArray (JNICALL *NewCharArray) (JNIEnv *env, jsize len); - // jshortArray (JNICALL *NewShortArray) (JNIEnv *env, jsize len); - // jintArray (JNICALL *NewIntArray) (JNIEnv *env, jsize len); - // jlongArray (JNICALL *NewLongArray) (JNIEnv *env, jsize len); - // jfloatArray (JNICALL *NewFloatArray) (JNIEnv *env, jsize len); - // jdoubleArray (JNICALL *NewDoubleArray) (JNIEnv *env, jsize len); - &NewBooleanArray, &NewByteArray, &NewCharArray, &NewShortArray, - &NewIntArray, &NewLongArray, &NewFloatArray, &NewDoubleArray, - - // jboolean * (JNICALL *GetBooleanArrayElements) (JNIEnv *env, jbooleanArray array, jboolean *isCopy); - // jbyte * (JNICALL *GetByteArrayElements) (JNIEnv *env, jbyteArray array, jboolean *isCopy); - // jchar * (JNICALL *GetCharArrayElements) (JNIEnv *env, jcharArray array, jboolean *isCopy); - // jshort * (JNICALL *GetShortArrayElements) (JNIEnv *env, jshortArray array, jboolean *isCopy); - // jint * (JNICALL *GetIntArrayElements) (JNIEnv *env, jintArray array, jboolean *isCopy); - // jlong * (JNICALL *GetLongArrayElements) (JNIEnv *env, jlongArray array, jboolean *isCopy); - // jfloat * (JNICALL *GetFloatArrayElements) (JNIEnv *env, jfloatArray array, jboolean *isCopy); - // jdouble * (JNICALL *GetDoubleArrayElements) (JNIEnv *env, jdoubleArray array, jboolean *isCopy); - &GetBooleanArrayElements, &GetByteArrayElements, &GetCharArrayElements, &GetShortArrayElements, - &GetIntArrayElements, &GetLongArrayElements, &GetFloatArrayElements, &GetDoubleArrayElements, - - // void (JNICALL *ReleaseBooleanArrayElements)(JNIEnv *env, jbooleanArray array, jboolean *elems, jint mode); - // void (JNICALL *ReleaseByteArrayElements) (JNIEnv *env, jbyteArray array, jbyte *elems, jint mode); - // void (JNICALL *ReleaseCharArrayElements) (JNIEnv *env, jcharArray array, jchar *elems, jint mode); - // void (JNICALL *ReleaseShortArrayElements) (JNIEnv *env, jshortArray array, jshort *elems, jint mode); - // void (JNICALL *ReleaseIntArrayElements) (JNIEnv *env, jintArray array, jint *elems, jint mode); - // void (JNICALL *ReleaseLongArrayElements) (JNIEnv *env, jlongArray array, jlong *elems, jint mode); - // void (JNICALL *ReleaseFloatArrayElements) (JNIEnv *env, jfloatArray array, jfloat *elems, jint mode); - // void (JNICALL *ReleaseDoubleArrayElements) (JNIEnv *env, jdoubleArray array, jdouble *elems, jint mode); - &ReleaseBooleanArrayElements, &ReleaseByteArrayElements, &ReleaseCharArrayElements, &ReleaseShortArrayElements, - &ReleaseIntArrayElements, &ReleaseLongArrayElements, &ReleaseFloatArrayElements, &ReleaseDoubleArrayElements, - - // void (JNICALL *GetBooleanArrayRegion) (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); - // void (JNICALL *GetByteArrayRegion) (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); - // void (JNICALL *GetCharArrayRegion) (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); - // void (JNICALL *GetShortArrayRegion) (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); - // void (JNICALL *GetIntArrayRegion) (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); - // void (JNICALL *GetLongArrayRegion) (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); - // void (JNICALL *GetFloatArrayRegion) (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); - // void (JNICALL *GetDoubleArrayRegion) (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); - &GetBooleanArrayRegion, &GetByteArrayRegion, &GetCharArrayRegion, &GetShortArrayRegion, - &GetIntArrayRegion, &GetLongArrayRegion, &GetFloatArrayRegion, &GetDoubleArrayRegion, - - // void (JNICALL *SetBooleanArrayRegion) (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); - // void (JNICALL *SetByteArrayRegion) (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); - // void (JNICALL *SetCharArrayRegion) (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); - // void (JNICALL *SetShortArrayRegion) (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); - // void (JNICALL *SetIntArrayRegion) (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); - // void (JNICALL *SetLongArrayRegion) (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); - // void (JNICALL *SetFloatArrayRegion) (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); - // void (JNICALL *SetDoubleArrayRegion) (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); - &SetBooleanArrayRegion, &SetByteArrayRegion, &SetCharArrayRegion, &SetShortArrayRegion, - &SetIntArrayRegion, &SetLongArrayRegion, &SetFloatArrayRegion, &SetDoubleArrayRegion, - - // jint (JNICALL *RegisterNatives) (JNIEnv *env, jclass clazz, const JNINativeMethod *methods, jint nMethods); - // jint (JNICALL *UnregisterNatives) (JNIEnv *env, jclass clazz); - &RegisterNatives, &UnregisterNatives, - - // jint (JNICALL *MonitorEnter) (JNIEnv *env, jobject obj); - // jint (JNICALL *MonitorExit) (JNIEnv *env, jobject obj); - &MonitorEnter, &MonitorExit, - - // jint (JNICALL *GetJavaVM) (JNIEnv *env, JavaVM **vm); - &GetJavaVM -}; - -nsHashtable* nsJNIEnv::theIDTable = NULL; - -nsJNIEnv::nsJNIEnv(nsISecureJNI2* secureEnv) - : mSecureEnv(secureEnv), mContext(NULL), mJavaThread(NULL) -{ - this->functions = &theFuncs; - if (theIDTable == NULL) - theIDTable = new nsHashtable(); -} - -nsJNIEnv::~nsJNIEnv() -{ - this->functions = NULL; -} diff --git a/modules/oji/src/nsJVMConfigManager.cpp b/modules/oji/src/nsJVMConfigManager.cpp deleted file mode 100644 index a0b490f4954..00000000000 --- a/modules/oji/src/nsJVMConfigManager.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is Sun Microsystems. - * Portions created by the Initial Developer are Copyright (C) 2003 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Pete Zha (original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "nsJVMConfigManager.h" - -NS_IMPL_ISUPPORTS1(nsJVMConfig, nsIJVMConfig) - -nsJVMConfig::nsJVMConfig(const nsAString& aVersion, const nsAString& aType, - const nsAString& aOS, const nsAString& aArch, - nsIFile* aPath, nsIFile* aMozillaPluginPath, - const nsAString& aDescription) : -mVersion(aVersion), -mType(aType), -mOS(aOS), -mArch(aArch), -mPath(aPath), -mMozillaPluginPath(aMozillaPluginPath), -mDescription(aDescription) -{ -} - -nsJVMConfig::~nsJVMConfig() -{ -} - -/* readonly attribute AString version; */ -NS_IMETHODIMP -nsJVMConfig::GetVersion(nsAString & aVersion) -{ - aVersion = mVersion; - return NS_OK; -} - -/* readonly attribute AString type; */ -NS_IMETHODIMP -nsJVMConfig::GetType(nsAString & aType) -{ - aType = mType; - return NS_OK; -} - -/* readonly attribute AString os; */ -NS_IMETHODIMP -nsJVMConfig::GetOS(nsAString & aOS) -{ - aOS = mOS; - return NS_OK; -} - -/* readonly attribute AString arch; */ -NS_IMETHODIMP -nsJVMConfig::GetArch(nsAString & aArch) -{ - aArch = mArch; - return NS_OK; -} - -NS_IMETHODIMP -nsJVMConfig::GetPath(nsIFile** aPath) -{ - NS_ENSURE_ARG_POINTER(aPath); - - *aPath = mPath; - NS_IF_ADDREF(*aPath); - return NS_OK; -} - -NS_IMETHODIMP -nsJVMConfig::GetMozillaPluginPath(nsIFile** aMozillaPluginPath) -{ - NS_ENSURE_ARG_POINTER(aMozillaPluginPath); - - *aMozillaPluginPath = mMozillaPluginPath; - NS_IF_ADDREF(*aMozillaPluginPath); - return NS_OK; -} - -/* readonly attribute AString description; */ -NS_IMETHODIMP -nsJVMConfig::GetDescription(nsAString & aDescription) -{ - aDescription = mDescription; - return NS_OK; -} - diff --git a/modules/oji/src/nsJVMConfigManager.h b/modules/oji/src/nsJVMConfigManager.h deleted file mode 100644 index ecdac3f9927..00000000000 --- a/modules/oji/src/nsJVMConfigManager.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is Sun Microsystems. - * Portions created by the Initial Developer are Copyright (C) 2003 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Pete Zha (original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef nsJVMConfigManager_h___ -#define nsJVMConfigManager_h___ - -#include "nsIJVMConfigManager.h" -#include "nsString.h" -#include "nsIFile.h" - -class nsJVMConfig : public nsIJVMConfig -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIJVMCONFIG - - nsJVMConfig(const nsAString& aVersion, const nsAString& aType, - const nsAString& aOS, const nsAString& aArch, - nsIFile* aPath, nsIFile* aMozillaPluginPath, - const nsAString& aDescription); - - virtual ~nsJVMConfig(); - /* additional members */ -protected: - nsString mVersion; - nsString mType; - nsString mOS; - nsString mArch; - nsCOMPtr mPath; - nsCOMPtr mMozillaPluginPath; - nsString mDescription; -}; - -#endif // nsJVMConfigManager_h___ diff --git a/modules/oji/src/nsJVMConfigManagerUnix.cpp b/modules/oji/src/nsJVMConfigManagerUnix.cpp deleted file mode 100644 index 587e691dfb4..00000000000 --- a/modules/oji/src/nsJVMConfigManagerUnix.cpp +++ /dev/null @@ -1,664 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is Sun Microsystems. - * Portions created by the Initial Developer are Copyright (C) 2003 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Pete Zha (original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include -#include "nsJVMConfigManagerUnix.h" -#include "nsAppDirectoryServiceDefs.h" -#include "nsDirectoryServiceDefs.h" -#include "nsIPrefService.h" -#include "nsIPrefBranch.h" -#include "nsReadableUtils.h" -#include "nsIMutableArray.h" -#include "prprf.h" -#include "nsNetCID.h" -#include "nsIHttpProtocolHandler.h" -#include "nsIVariant.h" -#include "nsISimpleEnumerator.h" -#include /* OSF/1 requires this before grp.h, so put it first */ -#include - -#define NS_COMPILER_GNUC3 defined(__GXX_ABI_VERSION) && \ - (__GXX_ABI_VERSION >= 102) /* G++ V3 ABI */ - -// Implementation of nsJVMConfigManagerUnix -NS_IMPL_ISUPPORTS1(nsJVMConfigManagerUnix, nsIJVMConfigManager) - -nsJVMConfigManagerUnix::nsJVMConfigManagerUnix() -{ - InitJVMConfigList(); -} - -static PRBool -FreeJVMConfig(nsHashKey *aKey, void *aData, void* aClosure) -{ - nsJVMConfig* config = static_cast(aData); - - NS_IF_RELEASE(config); - - return PR_TRUE; -} - -static PRBool -AppendJVMConfig(nsHashKey *aKey, void *aData, void* aClosure) -{ - nsJVMConfig* config = static_cast(aData); - nsIMutableArray *array = static_cast(aClosure); - NS_ENSURE_TRUE(config && array, PR_FALSE); - - array->AppendElement(config, PR_FALSE); - return PR_TRUE; -} - -nsJVMConfigManagerUnix::~nsJVMConfigManagerUnix() -{ - ClearJVMConfigList(); -} - -void -nsJVMConfigManagerUnix::ClearJVMConfigList() -{ - if (mJVMConfigList.Count() > 0) { - mJVMConfigList.Reset(FreeJVMConfig); - } -} - -NS_IMETHODIMP -nsJVMConfigManagerUnix::GetJVMConfigList(nsIArray **_retval) -{ - NS_ENSURE_ARG_POINTER(_retval); - - ClearJVMConfigList(); - InitJVMConfigList(); - - nsCOMPtr array = - do_CreateInstance(NS_ARRAY_CONTRACTID); - NS_ENSURE_STATE(array); - - if (mJVMConfigList.Count() > 0) { - mJVMConfigList.Enumerate(AppendJVMConfig, - static_cast(array)); - *_retval = static_cast(array); - NS_IF_ADDREF(*_retval); - } else - *_retval = nsnull; - - return NS_OK; -} - -NS_IMETHODIMP -nsJVMConfigManagerUnix::InitJVMConfigList() -{ - nsCOMPtr prefs(do_GetService(NS_PREFSERVICE_CONTRACTID)); - NS_ENSURE_TRUE(prefs, NS_ERROR_FAILURE); - - nsCOMPtr globalFile; - prefs->GetComplexValue("java.global_java_version_file", - NS_GET_IID(nsILocalFile), - getter_AddRefs(globalFile)); - - nsCOMPtr privateFile; - prefs->GetComplexValue("java.private_java_version_file", - NS_GET_IID(nsILocalFile), - getter_AddRefs(privateFile)); - - nsCOMPtr globalStream; - nsresult rv = GetLineInputStream(globalFile, getter_AddRefs(globalStream)); - NS_ENSURE_TRUE(NS_SUCCEEDED(rv) || rv == NS_ERROR_FILE_NOT_FOUND, rv); - - nsCOMPtr privateStream; - rv = GetLineInputStream(privateFile, getter_AddRefs(privateStream)); - NS_ENSURE_TRUE(NS_SUCCEEDED(rv) || rv == NS_ERROR_FILE_NOT_FOUND, rv); - - rv = InitJVMConfigList(globalStream, privateStream); - NS_ENSURE_SUCCESS(rv, rv); - - // Search for a Java installation in the default install location. - return SearchDefault(); -} - -NS_IMETHODIMP -nsJVMConfigManagerUnix::SetCurrentJVMConfig(nsIJVMConfig* aJVMConfig) -{ - NS_ENSURE_ARG_POINTER(aJVMConfig); - - nsCOMPtr srcFile; - nsresult rv = aJVMConfig->GetMozillaPluginPath(getter_AddRefs(srcFile)); - NS_ENSURE_SUCCESS(rv, rv); - - nsCOMPtr pluginDir; - rv = NS_GetSpecialDirectory(NS_APP_PLUGINS_DIR, getter_AddRefs(pluginDir)); - NS_ENSURE_SUCCESS(rv, rv); - - PRBool hasPermission = PR_FALSE; - pluginDir->IsWritable(&hasPermission); - if (!hasPermission) { - return NS_ERROR_FAILURE; - } - - nsAutoString fileName; - srcFile->GetLeafName(fileName); - nsCOMPtr destFile(do_QueryInterface(pluginDir)); - if (TestExists(destFile, fileName)) - destFile->Remove(PR_FALSE); - - nsCAutoString srcFileName; - rv = srcFile->GetNativePath(srcFileName); - NS_ENSURE_SUCCESS(rv, rv); - - nsCAutoString destFileName; - destFile->GetNativePath(destFileName); - NS_ENSURE_SUCCESS(rv, rv); - - PRInt16 result = 0; - result = symlink(srcFileName.get(), destFileName.get()); - - return result >= 0 ? NS_OK : NS_ERROR_FAILURE; -} - -nsresult -nsJVMConfigManagerUnix::InitJVMConfigList(nsILineInputStream* aGlobal, - nsILineInputStream* aPrivate) -{ - nsresult rv = NS_OK; - - if (aGlobal) { - rv = ParseStream(aGlobal); - NS_ENSURE_SUCCESS(rv, rv); - } - - if (aPrivate) { - rv = ParseStream(aPrivate); - NS_ENSURE_SUCCESS(rv, rv); - } - - return NS_OK; -} - -nsresult -nsJVMConfigManagerUnix::GetLineInputStream(nsIFile* aFile, - nsILineInputStream** _retval) -{ - NS_ENSURE_ARG_POINTER(_retval); - - nsresult rv = NS_OK; - - nsCOMPtr file(do_QueryInterface(aFile, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - nsCOMPtr - fileStream(do_CreateInstance(NS_LOCALFILEINPUTSTREAM_CONTRACTID, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - rv = fileStream->Init(file, -1, -1, PR_FALSE); - NS_ENSURE_SUCCESS(rv, rv); - - nsCOMPtr lineStream(do_QueryInterface(fileStream, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - *_retval = lineStream; - NS_IF_ADDREF(*_retval); - - return NS_OK; -} - -nsresult -nsJVMConfigManagerUnix::ParseStream(nsILineInputStream* aStream) -{ - NS_ENSURE_ARG_POINTER(aStream); - - PRBool notEOF = PR_TRUE; - - nsAutoString lineBuffer; - do { - nsAutoString line; - nsCAutoString cLine; - nsresult rv = aStream->ReadLine(cLine, ¬EOF); - NS_ENSURE_SUCCESS(rv, rv); - CopyASCIItoUTF16(cLine, line); - - PRInt32 slashOffset, equalsOffset; - slashOffset = line.FindChar('\\'); - equalsOffset = line.FindChar('='); - - // Since one java installation contains several key/value pair - // and they are separeted by '\'. We need to join them together - // to a single line and then parse it. - if (slashOffset != kNotFound && equalsOffset != kNotFound) { - // This means the line not finished, we need to append it to buffer - lineBuffer.Append(Substring(line, 0, slashOffset)); - } else if (slashOffset == kNotFound && equalsOffset != kNotFound) { - // This should the last one of a line. Append it to line - // and then we can Parse it and get necessary information - lineBuffer.Append(line); - ParseLine(lineBuffer); - } else { - // Start of a new line - lineBuffer.Truncate(); - } - } while (notEOF); - - return NS_OK; -} - -nsresult -nsJVMConfigManagerUnix::ParseLine(nsAString& aLine) -{ -#if (NS_COMPILER_GNUC3) - nsAutoString compiler; - GetValueFromLine(aLine, "compiler", compiler); - - NS_ENSURE_TRUE(compiler.Find("gcc32") != kNotFound, NS_OK); -#endif - - nsAutoString version; - GetValueFromLine(aLine, "version", version); - - nsAutoString type; - GetValueFromLine(aLine, "type", type); - - nsAutoString os; - GetValueFromLine(aLine, "os", os); - - nsAutoString arch; - GetValueFromLine(aLine, "arch", arch); - - nsAutoString pathStr; - GetValueFromLine(aLine, "path", pathStr); - - nsAutoString mozillaPluginPath; - GetMozillaPluginPath(aLine, mozillaPluginPath); - - NS_ENSURE_TRUE(!mozillaPluginPath.IsEmpty(), NS_OK); - - nsAutoString description; - GetValueFromLine(aLine, "description", description); - description.Trim("\""); - - // Test whether the plugin file is existing. - nsresult rv = NS_OK; - nsCOMPtr - testPath(do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - nsAutoString testPathStr(pathStr); - if (type.EqualsLiteral("jdk")) - testPathStr.AppendLiteral("/jre"); - - testPathStr.Append(mozillaPluginPath); - testPath->InitWithPath(testPathStr); - - // If the file doesn't exists, we just return NS_OK - PRBool exists; - testPath->Exists(&exists); - NS_ENSURE_TRUE(exists, NS_OK); - - nsCOMPtr mozPluginPath(do_QueryInterface(testPath, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - nsCOMPtr - path(do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv)); - path->InitWithPath(pathStr); - - // We use java home as the key because one home - // will contain only one java installation. - // This could make sure we don't duplicate the config info in the list - nsStringKey key(pathStr); - nsJVMConfig* config = static_cast - (mJVMConfigList.Get(&key)); - - // Only create it and add the config to list if it doesn't exist. - if (!config) { - config = new nsJVMConfig(version, type, os, arch, path, - mozPluginPath, description); - NS_ENSURE_TRUE(config, NS_ERROR_OUT_OF_MEMORY); - mJVMConfigList.Put(&key, static_cast(config)); - NS_ADDREF(config); - } - - return NS_OK; -} - -nsresult -nsJVMConfigManagerUnix::GetMozillaPluginPath(nsAString& aLine, - nsAString& _retval) -{ - nsCAutoString agentVersion; - nsresult rv = GetAgentVersion(agentVersion); - NS_ENSURE_SUCCESS(rv, rv); - - // Get mozilla plugin path from key - // mozilla.plugin.path - // should like this: "1.2", "1.3" - nsCAutoString key("mozilla"); - key.Append(agentVersion); - key.Append(".plugin.path"); - - GetValueFromLine(aLine, key.get(), _retval); - - if (!_retval.IsEmpty()) return NS_OK; - - nsAutoString versionStr; - rv = GetNSVersion(versionStr); - NS_ENSURE_SUCCESS(rv, rv); - - key.AssignWithConversion(versionStr); - key.Append(".plugin.path"); - - GetValueFromLine(aLine, key.get(), _retval); - - // Fall back to use ns610.plugin.path if _retval is still empty. - if (_retval.IsEmpty()) - GetValueFromLine(aLine, "ns610.plugin.path", _retval); - - return NS_OK; -} - -nsresult -nsJVMConfigManagerUnix::GetAgentVersion(nsCAutoString& _retval) -{ - nsresult rv = NS_OK; - - nsCOMPtr http = do_GetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &rv); - NS_ENSURE_SUCCESS(rv, rv); - - nsCAutoString userAgent; - rv = http->GetUserAgent(userAgent); - NS_ENSURE_SUCCESS(rv, rv); - PRInt32 rvOffset = userAgent.Find("rv:"); - - if (rvOffset != kNotFound) - _retval.Assign(Substring(userAgent, rvOffset + 3, 3)); - - return NS_OK; -} - -nsresult -nsJVMConfigManagerUnix::GetAgentVersion(float* _retval) -{ - NS_ENSURE_ARG_POINTER(_retval); - nsresult rv = NS_OK; - - nsCAutoString agentVersion; - GetAgentVersion(agentVersion); - nsCOMPtr p = - do_CreateInstance(NS_VARIANT_CONTRACTID, &rv); - NS_ENSURE_SUCCESS(rv, rv); - - rv = p->SetAsACString(agentVersion); - NS_ENSURE_SUCCESS(rv, rv); - - return p->GetAsFloat(_retval); -} - -PRBool -nsJVMConfigManagerUnix::GetValueFromLine(nsAString& aLine, const char* aKey, - nsAString& _retval) -{ - _retval.Truncate(); - - nsAutoString line(aLine); - // Find the offset of the given key in the line - PRInt32 keyOffset = line.Find(aKey); - - // make sure the key exists in the line. - NS_ENSURE_TRUE(keyOffset != kNotFound, PR_FALSE); - - // Find '=' right after the key - PRInt32 equalsOffset = aLine.FindChar('=', keyOffset); - NS_ENSURE_TRUE(equalsOffset != kNotFound, PR_FALSE); - - // Find '|' which is the terminal of a pair of key/value - PRInt32 lineOffset = aLine.FindChar('|', equalsOffset); - lineOffset = lineOffset != kNotFound ? lineOffset : aLine.Length(); - - // OK, we separate the value from the line between '=' and '|' - nsAutoString value(Substring(aLine, - equalsOffset + 1, - lineOffset - equalsOffset -1)); - - // Removing the leading/trailing spaces - value.Trim(" "); - _retval = value; - return PR_TRUE; -} - -nsresult -nsJVMConfigManagerUnix::GetNSVersion(nsAString& _retval) -{ - float version; - nsresult rv = GetAgentVersion(&version); - NS_ENSURE_SUCCESS(rv, rv); - - // Check mozilla's version - // ns7 is for mozilla1.3 or later - // ns610 is for earlier version of mozilla. - if (version >= 1.3) { - _retval.AssignLiteral("ns7"); - } else { - _retval.AssignLiteral("ns610"); - } - - return NS_OK; -} - -nsresult -nsJVMConfigManagerUnix::SearchDefault() -{ -#ifdef SPARC - const char* defaultLocationName = "java.default_java_location_solaris"; -#else - const char* defaultLocationName = "java.default_java_location_others"; -#endif - - nsCOMPtr prefs(do_GetService(NS_PREFSERVICE_CONTRACTID)); - NS_ENSURE_TRUE(prefs, NS_ERROR_FAILURE); - - nsXPIDLCString defaultLocationXPIDLValue; - prefs->GetCharPref(defaultLocationName, - getter_Copies(defaultLocationXPIDLValue)); - - NS_ConvertUTF8toUTF16 defaultLocation(defaultLocationXPIDLValue); - -#ifdef SPARC - // On Solaris, the default location is the java home - return AddDirectory(defaultLocation); -#else - // On Linux and other platform, - // the default location can contain multiple java installations - return SearchDirectory(defaultLocation); -#endif -} - -nsresult -nsJVMConfigManagerUnix::SearchDirectory(nsAString& aDirName) -{ - nsresult rv = NS_OK; - - nsCOMPtr - localDir(do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - rv = localDir->InitWithPath(aDirName); - NS_ENSURE_SUCCESS(rv, rv); - - nsCOMPtr dir(do_QueryInterface(localDir, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - nsCOMPtr entries; - rv = dir->GetDirectoryEntries(getter_AddRefs(entries)); - NS_ENSURE_SUCCESS(rv, rv); - - PRBool hasMoreElements; - entries->HasMoreElements(&hasMoreElements); - while (hasMoreElements) { - nsCOMPtr next; - rv = entries->GetNext(getter_AddRefs(next)); - NS_ENSURE_SUCCESS(rv, rv); - - nsCOMPtr entry(do_QueryInterface(next, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - AddDirectory(entry); - entries->HasMoreElements(&hasMoreElements); - } - - return NS_OK; -} - -nsresult -nsJVMConfigManagerUnix::AddDirectory(nsIFile* aHomeDir) -{ - NS_ENSURE_ARG_POINTER(aHomeDir); - nsAutoString homeDirName; - aHomeDir->GetPath(homeDirName); - return AddDirectory(homeDirName); -} - -nsresult -nsJVMConfigManagerUnix::AddDirectory(nsAString& aHomeDirName) -{ - nsresult rv = NS_OK; - - nsAutoString type; - nsAutoString mozillaPluginPath; - - nsCOMPtr - testPath(do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - testPath->InitWithPath(aHomeDirName); - testPath->Append(NS_LITERAL_STRING("jre")); - - PRBool exists; - testPath->Exists(&exists); - if (exists) { - type.AssignLiteral("jdk"); - } else { - type.AssignLiteral("jre"); - testPath->InitWithPath(aHomeDirName); - } - - testPath->Append(NS_LITERAL_STRING("plugin")); - - // Get Arch. "sparc" or "i386" - nsAutoString arch; - NS_ENSURE_TRUE(TestArch(testPath, arch), NS_OK); - - // Get NS Version. "ns610" or "ns7" - nsAutoString nsVersion; - NS_ENSURE_TRUE(TestNSVersion(testPath, nsVersion), NS_OK); - - nsCOMPtr prefs(do_GetService(NS_PREFSERVICE_CONTRACTID)); - NS_ENSURE_TRUE(prefs, NS_ERROR_FAILURE); - - nsCAutoString javaLibName("java.java_plugin_library_name"); - nsXPIDLCString javaLibNameXPIDLValue; - prefs->GetCharPref(javaLibName.get(), - getter_Copies(javaLibNameXPIDLValue)); - - char* temp = PR_GetLibraryName(nsnull, javaLibNameXPIDLValue.get()); - nsCAutoString pluginFileName(temp); - testPath->AppendNative(pluginFileName); - PR_FreeLibraryName(temp); - - // If the plugin file doesn't exist, we just return NS_OK - testPath->Exists(&exists); - NS_ENSURE_TRUE(exists, NS_OK); - - nsCOMPtr mozPluginPath(do_QueryInterface(testPath, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - nsCOMPtr - path(do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv)); - NS_ENSURE_SUCCESS(rv, rv); - path->InitWithPath(aHomeDirName); - - nsAutoString version; - path->GetLeafName(version); - - nsStringKey key(aHomeDirName); - nsJVMConfig* config = static_cast - (mJVMConfigList.Get(&key)); - if (!config) { - config = new nsJVMConfig(version, type, EmptyString(), arch, path, - mozPluginPath, EmptyString()); - NS_ENSURE_TRUE(config, NS_ERROR_OUT_OF_MEMORY); - mJVMConfigList.Put(&key, static_cast(config)); - NS_ADDREF(config); - } - - return NS_OK; -} - -PRBool -nsJVMConfigManagerUnix::TestArch(nsILocalFile* aPluginPath, nsAString& aArch) -{ -#ifdef SPARC - aArch.AssignLiteral("sparc"); -#else - aArch.AssignLiteral("i386"); -#endif - return TestExists(aPluginPath, aArch); -} - -PRBool -nsJVMConfigManagerUnix::TestNSVersion(nsILocalFile* aArchPath, - nsAString& aNSVersion) -{ - nsAutoString versionStr; - nsresult rv = GetNSVersion(versionStr); - NS_ENSURE_SUCCESS(rv, PR_FALSE); - - aNSVersion.Assign(versionStr); -#if (NS_COMPILER_GNUC3) - aNSVersion.AppendLiteral("-gcc32"); -#endif - return TestExists(aArchPath, aNSVersion); -} - -PRBool -nsJVMConfigManagerUnix::TestExists(nsILocalFile* aBaseDir, nsAString& aSubName) -{ - NS_ENSURE_ARG_POINTER(aBaseDir); - - aBaseDir->Append(aSubName); - PRBool exists; - aBaseDir->Exists(&exists); - - return exists; -} - diff --git a/modules/oji/src/nsJVMConfigManagerUnix.h b/modules/oji/src/nsJVMConfigManagerUnix.h deleted file mode 100644 index 3086ed5cc89..00000000000 --- a/modules/oji/src/nsJVMConfigManagerUnix.h +++ /dev/null @@ -1,147 +0,0 @@ -/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is Sun Microsystems. - * Portions created by the Initial Developer are Copyright (C) 2003 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * Pete Zha (original author) - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef nsJVMConfigManagerUnix_h___ -#define nsJVMConfigManagerUnix_h___ - -#include "nsJVMConfigManager.h" -#include "nsString.h" -#include "nsILineInputStream.h" -#include "nsHashtable.h" -#include "nsIFile.h" -#include "nsILocalFile.h" -#include "nsIFileStreams.h" - -class nsJVMConfigManagerUnix : public nsIJVMConfigManager -{ -public: - NS_DECL_ISUPPORTS - NS_DECL_NSIJVMCONFIGMANAGER - - nsJVMConfigManagerUnix(); - virtual ~nsJVMConfigManagerUnix(); - -protected: - nsresult InitJVMConfigList(); - - void ClearJVMConfigList(); - - nsresult InitJVMConfigList(nsILineInputStream* aGlobal, - nsILineInputStream* aPrivate); - - /** - * Parse a stream for information about Java installation(s). - */ - nsresult ParseStream(nsILineInputStream* aStream); - - /** - * Parse a line for information about a Java installation, and ensure its - * JVMConfig is in our JVMConfigList." - * A line looks like this: - * "version=1.4.2 | type=jre | os=linux | arch=i386 | ......" - */ - - nsresult ParseLine(nsAString& aLine); - - /** - * Search for Java installations in the default location. - */ - nsresult SearchDefault(); - - /** - * Search a specific directory to see if there are Java installations. - */ - nsresult SearchDirectory(nsAString& aDirName); - - /** - * Add a directory to the Java configuration list if - * it contains a java installation. - */ - nsresult AddDirectory(nsIFile* aHomeDir); - - nsresult AddDirectory(nsAString& aHomeDirName); - - /** - * Get a value by specific key from the line. A line should look like this: - * key=value | key2=value2 | key3=value3 - * Please see the proposal in bug 185000 for more detail about the format. - */ - static PRBool GetValueFromLine(nsAString& aLine, const char* aKey, - nsAString& _retval); - - static nsresult GetLineInputStream(nsIFile* aFile, - nsILineInputStream** _retval); - - /** - * Get value of mozilla.plugin.path from a line - */ - static nsresult GetMozillaPluginPath(nsAString& aLine, nsAString& _retval); - - /** - * Get agent version by string - */ - static nsresult GetAgentVersion(nsCAutoString& _retval); - - /** - * Get agent version by float - */ - static nsresult GetAgentVersion(float* _retval); - - static nsresult GetNSVersion(nsAString& _retval); - - /** - * Check for existing arch directory. - */ - static PRBool TestArch(nsILocalFile* aPluginPath, nsAString& aArch); - - /** - * Check for existing NS version directory. - */ - static PRBool TestNSVersion(nsILocalFile* aArchPath, nsAString& aNSVersion); - - /** - * Test if a specific node in the base directory exists. - */ - static PRBool TestExists(nsILocalFile* aBaseDir, nsAString& aSubName); - - /** - * The table to store the config list. - */ - nsHashtable mJVMConfigList; -}; - -#endif // nsJVMConfigManagerUnix_h___ diff --git a/modules/oji/src/nsJVMManager.cpp b/modules/oji/src/nsJVMManager.cpp deleted file mode 100644 index 8f862a9bef1..00000000000 --- a/modules/oji/src/nsJVMManager.cpp +++ /dev/null @@ -1,1090 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* vim:set ts=4 sw=4 sts=4 ci et: */ -/* - * ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** - * - * - * This Original Code has been modified by IBM Corporation. - * Modifications made by IBM described herein are - * Copyright (c) International Business Machines - * Corporation, 2000 - * - * Modifications to Mozilla code or documentation - * identified per MPL Section 3.3 - * - * Date Modified by Description of modification - * 03/27/2000 IBM Corp. Added PR_CALLBACK for Optlink - * use in OS2 - */ - -//////////////////////////////////////////////////////////////////////////////// -// Plugin Manager Methods to support the JVM Plugin API -//////////////////////////////////////////////////////////////////////////////// - -#include "nscore.h" -#include "nsJVMManager.h" -#include "nspr.h" -#include "ProxyJNI.h" -#include "nsIPluginHost.h" -#include "nsIServiceManager.h" -#include "nsIThreadManager.h" -#include "nsIThread.h" -#include "nsXPCOMCIDInternal.h" -#include "nsAutoLock.h" -#include "nsAutoPtr.h" - -// All these interfaces are necessary just to get the damn -// nsIWebBrowserChrome to send the "Starting Java" message to the status -// bar. -#include "nsIWindowWatcher.h" -#include "nsPIDOMWindow.h" -#include "nsPresContext.h" -#include "nsIDocShell.h" -#include "nsIDocShellTreeItem.h" -#include "nsIDocShellTreeOwner.h" -#include "nsIWebBrowserChrome.h" -#include "nsIInterfaceRequestor.h" -#include "nsIInterfaceRequestorUtils.h" - -#include "nsIStringBundle.h" - -#include "nsIObserver.h" -#include "nsIObserverService.h" -#include "lcglue.h" - -#include "nspr.h" -#include "plstr.h" -#include "nsCOMPtr.h" -#include "nsIPrincipal.h" -#include "nsIScriptSecurityManager.h" -#include "nsISignatureVerifier.h" -#include "nsSupportsPrimitives.h" - - -extern "C" int XP_PROGRESS_STARTING_JAVA; -extern "C" int XP_PROGRESS_STARTING_JAVA_DONE; -extern "C" int XP_JAVA_NO_CLASSES; -extern "C" int XP_JAVA_GENERAL_FAILURE; -extern "C" int XP_JAVA_STARTUP_FAILED; -extern "C" int XP_JAVA_DEBUGGER_FAILED; - -static NS_DEFINE_CID(kJVMManagerCID, NS_JVMMANAGER_CID); - -static NS_DEFINE_CID(kPluginManagerCID, NS_PLUGINMANAGER_CID); - -// FIXME -- need prototypes for these functions!!! XXX -#ifdef XP_MAC -extern "C" { -OSErr ConvertUnixPathToMacPath(const char *, char **); -void startAsyncCursors(void); -void stopAsyncCursors(void); -} -#endif // XP_MAC - -static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID); -static NS_DEFINE_IID(kIJVMManagerIID, NS_IJVMMANAGER_IID); -static NS_DEFINE_IID(kIJVMThreadManagerIID, NS_IJVMTHREADMANAGER_IID); -static NS_DEFINE_IID(kILiveConnectManagerIID, NS_ILIVECONNECTMANAGER_IID); -static NS_DEFINE_IID(kIJVMPluginIID, NS_IJVMPLUGIN_IID); - -#define PLUGIN_REGIONAL_URL "chrome://global-region/locale/region.properties" - -//////////////////////////////////////////////////////////////////////////////// - -NS_IMPL_AGGREGATED(nsJVMManager) - -extern "C" { -static nsIJVMPlugin* GetRunningJVM(void); -static nsIJVMPlugin* -GetRunningJVM() -{ - nsIJVMPlugin* jvm = NULL; - nsresult rv; - nsCOMPtr managerService = do_GetService(kJVMManagerCID, &rv); - if (NS_FAILED(rv)) return jvm; - nsJVMManager* jvmMgr = (nsJVMManager *)managerService.get(); - if (jvmMgr) { - nsJVMStatus status = jvmMgr->GetJVMStatus(); - if (status == nsJVMStatus_Enabled) - status = jvmMgr->StartupJVM(); - if (status == nsJVMStatus_Running) { - jvm = jvmMgr->GetJVMPlugin(); - } - } - return jvm; -} -} - -NS_METHOD -nsJVMManager::CreateProxyJNI(nsISecureEnv* inSecureEnv, JNIEnv** outProxyEnv) -{ - JVMContext* context = GetJVMContext(); - if (context->proxyEnv != NULL) { - *outProxyEnv = context->proxyEnv; - return NS_OK; - } - nsIJVMPlugin* jvmPlugin = GetRunningJVM(); - if (jvmPlugin != NULL) { - *outProxyEnv = context->proxyEnv = ::CreateProxyJNI(jvmPlugin, inSecureEnv); - return NS_OK; - } - return NS_ERROR_FAILURE; -} - -NS_METHOD -nsJVMManager::GetProxyJNI(JNIEnv** outProxyEnv) -{ - // Get proxy JNI, if not created yet, create it. - *outProxyEnv = JVM_GetJNIEnv(); - return NS_OK; -} - -NS_METHOD -nsJVMManager::GetJavaEnabled(PRBool* outEnabled) -{ - nsJVMStatus status = GetJVMStatus(); - *outEnabled = (status == nsJVMStatus_Enabled || status == nsJVMStatus_Running); - return NS_OK; -} - -NS_METHOD -nsJVMManager::ShowJavaConsole(void) -{ - nsresult rv; - nsCOMPtr chrome; - nsAutoString msg; - - if (!fStartupMessagePosted) { - PRUnichar *messageUni; - nsCOMPtr strings(do_GetService(NS_STRINGBUNDLE_CONTRACTID)); - nsCOMPtr regionalBundle; - - rv = this->GetChrome(getter_AddRefs(chrome)); - if (NS_SUCCEEDED(rv) && chrome && strings) { - rv = strings->CreateBundle(PLUGIN_REGIONAL_URL, - getter_AddRefs(regionalBundle)); - if (NS_SUCCEEDED(rv) && regionalBundle) { - // pluginStartupMessage is something like "Starting - // plugin for type" - rv = regionalBundle->GetStringFromName(NS_LITERAL_STRING("pluginStartupMessage").get(), - &messageUni); - if (NS_SUCCEEDED(rv) && messageUni) { - msg = messageUni; - nsMemory::Free((void *)messageUni); - - msg.Append(PRUnichar(' ')); - msg.AppendLiteral("application/x-java-vm"); - chrome->SetStatus(nsIWebBrowserChrome::STATUS_SCRIPT, - msg.get()); - } - } - } - } // !fStartupMessagePosted - - JVM_ShowConsole(); - // clear the startup message, if one was posted - if (!fStartupMessagePosted && chrome) { - msg.Truncate(); - chrome->SetStatus(nsIWebBrowserChrome::STATUS_SCRIPT, - msg.get()); - fStartupMessagePosted = PR_TRUE; - } - - return NS_OK; -} - -// nsIJVMThreadManager: - -NS_METHOD -nsJVMManager::GetCurrentThread(PRThread* *threadID) -{ - *threadID = PR_GetCurrentThread(); - return NS_OK; -} - -NS_METHOD -nsJVMManager::Sleep(PRUint32 milli) -{ - PRIntervalTime ticks = (milli > 0 ? PR_MillisecondsToInterval(milli) : PR_INTERVAL_NO_WAIT); - return (PR_Sleep(ticks) == PR_SUCCESS ? NS_OK : NS_ERROR_FAILURE); -} - -NS_METHOD -nsJVMManager::EnterMonitor(void* address) -{ - return (PR_CEnterMonitor(address) != NULL ? NS_OK : NS_ERROR_FAILURE); -} - -NS_METHOD -nsJVMManager::ExitMonitor(void* address) -{ - return (PR_CExitMonitor(address) == PR_SUCCESS ? NS_OK : NS_ERROR_FAILURE); -} - -NS_METHOD -nsJVMManager::Wait(void* address, PRUint32 milli) -{ - PRIntervalTime timeout = (milli > 0 ? PR_MillisecondsToInterval(milli) : PR_INTERVAL_NO_TIMEOUT); - return (PR_CWait(address, timeout) == PR_SUCCESS ? NS_OK : NS_ERROR_FAILURE); -} - -NS_METHOD -nsJVMManager::Notify(void* address) -{ - return (PR_CNotify(address) == PR_SUCCESS ? NS_OK : NS_ERROR_FAILURE); -} - -NS_METHOD -nsJVMManager::NotifyAll(void* address) -{ - return (PR_CNotifyAll(address) == PR_SUCCESS ? NS_OK : NS_ERROR_FAILURE); -} - -static void thread_starter(void* arg) -{ - nsIRunnable* runnable = (nsIRunnable*) arg; - if (runnable != NULL) { - runnable->Run(); - } -} - -NS_METHOD -nsJVMManager::CreateThread(PRThread **outThread, nsIRunnable* runnable) -{ - PRThread* thread = PR_CreateThread(PR_USER_THREAD, &thread_starter, (void*) runnable, - PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_JOINABLE_THREAD, 0); - *outThread = thread; - return (thread != NULL ? NS_OK : NS_ERROR_FAILURE); -} - -class nsJVMSyncEvent : public nsIRunnable -{ -public: - NS_DECL_ISUPPORTS - - nsJVMSyncEvent() : mMonitor(nsnull), mRealEvent(nsnull) { - } - - ~nsJVMSyncEvent() { - nsAutoMonitor::DestroyMonitor(mMonitor); - } - - nsresult Init(nsIRunnable *realEvent) { - mMonitor = nsAutoMonitor::NewMonitor("nsJVMSyncEvent"); - if (!mMonitor) - return NS_ERROR_OUT_OF_MEMORY; - - mRealEvent = realEvent; - return NS_OK; - } - - void Wait() { - nsAutoMonitor mon(mMonitor); - while (mRealEvent) - mon.Wait(); - } - - NS_IMETHOD Run() { - mRealEvent->Run(); - - nsAutoMonitor mon(mMonitor); - mRealEvent = nsnull; - mon.Notify(); - return NS_OK; - } - - PRMonitor *mMonitor; - nsIRunnable *mRealEvent; // non-owning reference -}; -NS_IMPL_THREADSAFE_ISUPPORTS1(nsJVMSyncEvent, nsIRunnable) - -NS_METHOD -nsJVMManager::PostEvent(PRThread* prthread, nsIRunnable* runnable, PRBool async) -{ - nsresult rv; - nsCOMPtr mgr = - do_GetService(NS_THREADMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv)) return rv; - - // Maintain backwards compatibility with earlier versions of Mozilla that - // supported special pointer constants for the current and main threads. - nsCOMPtr thread; - if (prthread == (PRThread *) 0) { - rv = mgr->GetCurrentThread(getter_AddRefs(thread)); - } else if (prthread == (PRThread *) 1) { - rv = mgr->GetMainThread(getter_AddRefs(thread)); - } else { - rv = mgr->GetThreadFromPRThread(prthread, getter_AddRefs(thread)); - } - if (NS_FAILED(rv)) return rv; - - NS_ENSURE_STATE(thread); - - nsRefPtr syncEv; - if (!async) { - // Maybe we can just invoke the runnable directly... - PRBool isCur; - if (NS_SUCCEEDED(thread->IsOnCurrentThread(&isCur)) && isCur) { - runnable->Run(); - return NS_OK; - } - - // Otherwise, use a wrapper event to wait for the actual event to run. - syncEv = new nsJVMSyncEvent(); - if (!syncEv) - return NS_ERROR_OUT_OF_MEMORY; - rv = syncEv->Init(runnable); - if (NS_FAILED(rv)) return rv; - - runnable = syncEv; - } - - rv = thread->Dispatch(runnable, NS_DISPATCH_NORMAL); - if (NS_FAILED(rv)) return rv; - - if (!async) - syncEv->Wait(); - - return NS_OK; -} - -nsJVMManager::nsJVMManager(nsISupports* outer) - : fJVM(NULL), fStatus(nsJVMStatus_Disabled), - fDebugManager(NULL), fJSJavaVM(NULL), - fClassPathAdditions(new nsVoidArray()), fClassPathAdditionsString(NULL), - fStartupMessagePosted(PR_FALSE) -{ - NS_INIT_AGGREGATED(outer); - - nsCOMPtr host = do_GetService(kPluginManagerCID); - if (host) { - if (NS_SUCCEEDED(host->IsPluginEnabledForType(NS_JVM_MIME_TYPE))) { - SetJVMEnabled(PR_TRUE); - } - } - - nsCOMPtr - obsService(do_GetService("@mozilla.org/observer-service;1")); - if (obsService) { - obsService->AddObserver(this, NS_XPCOM_CATEGORY_ENTRY_ADDED_OBSERVER_ID, PR_FALSE); - obsService->AddObserver(this, NS_XPCOM_CATEGORY_ENTRY_REMOVED_OBSERVER_ID, PR_FALSE); - } -} - -nsJVMManager::~nsJVMManager() -{ - nsCOMPtr - obsService(do_GetService("@mozilla.org/observer-service;1")); - if (obsService) { - obsService->RemoveObserver(this, NS_XPCOM_CATEGORY_ENTRY_ADDED_OBSERVER_ID); - obsService->RemoveObserver(this, NS_XPCOM_CATEGORY_ENTRY_REMOVED_OBSERVER_ID); - } - - int count = fClassPathAdditions->Count(); - for (int i = 0; i < count; i++) { - PR_Free((*fClassPathAdditions)[i]); - } - delete fClassPathAdditions; - if (fClassPathAdditionsString) - PR_Free(fClassPathAdditionsString); - if (fJVM) { - /*nsrefcnt c =*/ fJVM->Release(); // Release for QueryInterface in GetJVM - // XXX unload plugin if c == 1 ? (should this be done inside Release?) - } -} - -nsresult -nsJVMManager::AggregatedQueryInterface(const nsIID& aIID, void** aInstancePtr) -{ - if (aIID.Equals(kIJVMManagerIID)) { - *aInstancePtr = this; - NS_ADDREF_THIS(); - return NS_OK; - } - if (aIID.Equals(kIJVMThreadManagerIID)) { - *aInstancePtr = (void*) static_cast(this); - NS_ADDREF_THIS(); - return NS_OK; - } - if (aIID.Equals(kILiveConnectManagerIID)) { - *aInstancePtr = (void*) static_cast(this); - NS_ADDREF_THIS(); - return NS_OK; - } - if (aIID.Equals(kISupportsIID)) { - *aInstancePtr = InnerObject(); - NS_ADDREF((nsISupports*)*aInstancePtr); - return NS_OK; - } - if (aIID.Equals(NS_GET_IID(nsIObserver))) { - *aInstancePtr = (void*) static_cast(this); - NS_ADDREF_THIS(); - return NS_OK; - } -#if defined(XP_WIN) || defined(XP_OS2) - // Aggregates... - if (fDebugManager == NULL) { - nsresult rslt = - nsSymantecDebugManager::Create((nsIJVMManager *)this, kISupportsIID, - (void**)&fDebugManager, this); - if (rslt != NS_OK) return rslt; - } - return fDebugManager->QueryInterface(aIID, aInstancePtr); -#else - return NS_NOINTERFACE; -#endif -} - -//////////////////////////////////////////////////////////////////////////////// - -NS_METHOD -nsJVMManager::InitLiveConnectClasses(JSContext* context, JSObject* globalObject) -{ - return (JSJ_InitJSContext(context, globalObject, NULL) ? NS_OK : NS_ERROR_FAILURE); -} - -//////////////////////////////////////////////////////////////////////////////// - -NS_METHOD -nsJVMManager::WrapJavaObject(JSContext* context, jobject javaObject, JSObject* *outJSObject) -{ - if (NULL == outJSObject) { - return NS_ERROR_NULL_POINTER; - } - jsval val; - if (JSJ_ConvertJavaObjectToJSValue(context, javaObject, &val)) { - *outJSObject = JSVAL_TO_OBJECT(val); - return NS_OK; - } - return NS_ERROR_FAILURE; -} - -//////////////////////////////////////////////////////////////////////////////// - -NS_METHOD -nsJVMManager::GetClasspathAdditions(const char* *result) -{ - if (fClassPathAdditionsString != NULL) - PR_Free(fClassPathAdditionsString); - int count = fClassPathAdditions->Count(); - char* classpathAdditions = NULL; - for (int i = 0; i < count; i++) { - const char* path = (const char*)(*fClassPathAdditions)[i]; - char* oldPath = classpathAdditions; - if (oldPath) { - char sep = PR_GetPathSeparator(); - classpathAdditions = PR_smprintf("%s%c%s", oldPath, sep, path); - PR_Free(oldPath); - } - else - classpathAdditions = PL_strdup(path); - } - fClassPathAdditionsString = classpathAdditions; - *result = classpathAdditions; // XXX need to convert to PRUnichar* - return classpathAdditions ? NS_OK : NS_ERROR_OUT_OF_MEMORY; -} - -//////////////////////////////////////////////////////////////////////////////// - -#if 0 -static const char* -ConvertToPlatformPathList(const char* cp) -{ - const char* c = strdup(cp); - if (c == NULL) - return NULL; -#ifdef XP_MAC - { - const char* path; - const char* strtok_path; - - char* result = (char*) malloc(1); - if (result == NULL) - return NULL; - result[0] = '\0'; - path = c; - strtok_path = path; - while ((path = XP_STRTOK(strtok_path, PR_PATH_SEPARATOR_STR))) - { - const char* macPath; - OSErr err = ConvertUnixPathToMacPath(path, &macPath); - char* r = PR_smprintf("%s\r%s", result, macPath); - - strtok_path = NULL; - - if (r == NULL) - return result; /* return what we could come up with */ - free(result); - result = r; - } - free(c); - return result; - } -#else - return c; -#endif -} - -void -nsJVMManager::ReportJVMError(nsresult err) -{ - MWContext* cx = XP_FindSomeContext(); - char *s = NULL; - switch (err) { - case NS_JVM_ERROR_NO_CLASSES: { - s = PR_smprintf(XP_GetString(XP_JAVA_NO_CLASSES)); - break; - } - - case NS_JVM_ERROR_JAVA_ERROR: { - nsIJVMPlugin* plugin = GetJVMPlugin(); - PR_ASSERT(plugin != NULL); - if (plugin == NULL) break; - JNIEnv* env; - plugin->GetJNIEnv(&env); - const char* msg = GetJavaErrorString(env); - plugin->ReleaseJNIEnv(env); -#ifdef DEBUG - env->ExceptionDescribe(); -#endif - s = PR_smprintf(XP_GetString(XP_JAVA_STARTUP_FAILED), - (msg ? msg : "")); - if (msg) free((void*)msg); - break; - } - - case NS_JVM_ERROR_NO_DEBUGGER: { - s = PR_smprintf(XP_GetString(XP_JAVA_DEBUGGER_FAILED)); - break; - } - - default: { - s = PR_smprintf(XP_GetString(XP_JAVA_GENERAL_FAILURE), err); - break; - } - } - if (s) { - FE_Alert(cx, s); - free(s); - } -} -/* stolen from java_lang_Object.h (jri version) */ -#define classname_java_lang_Object "java/lang/Object" -#define name_java_lang_Object_toString "toString" -#define sig_java_lang_Object_toString "()Ljava/lang/String;" - -const char* -nsJVMManager::GetJavaErrorString(JNIEnv* env) -{ - jthrowable exc = env->ExceptionOccurred(); - if (exc == NULL) { - return strdup(""); /* XXX better "no error" message? */ - } - - /* Got to do this before trying to find a class (like Object). - This is because the runtime refuses to do this with a pending - exception! I think it's broken. */ - - env->ExceptionClear(); - - jclass classObject = env->FindClass(classname_java_lang_Object); - jmethodID toString = env->GetMethodID(classObject, name_java_lang_Object_toString, sig_java_lang_Object_toString); - jstring excString = (jstring) env->CallObjectMethod(exc, toString); - - jboolean isCopy; - const char* msg = env->GetStringUTFChars(excString, &isCopy); - if (msg != NULL) { - const char* dupmsg = (msg == NULL ? (const char*)NULL : strdup(msg)); - env->ReleaseStringUTFChars(excString, msg); - msg = dupmsg; - } - return msg; -} -#endif // 0 - -//////////////////////////////////////////////////////////////////////////////// - -PRLogModuleInfo* NSJAVA = NULL; - -nsJVMStatus -nsJVMManager::StartupJVM(void) -{ - // Be sure to check the prefs first before asking java to startup. - switch (GetJVMStatus()) { - case nsJVMStatus_Disabled: - return nsJVMStatus_Disabled; - case nsJVMStatus_Running: - return nsJVMStatus_Running; - default: - break; - } - -#ifdef DEBUG - PRIntervalTime start = PR_IntervalNow(); - if (NSJAVA == NULL) - NSJAVA = PR_NewLogModule("NSJAVA"); - PR_LOG(NSJAVA, PR_LOG_ALWAYS, ("Starting java...")); -#endif - - /* TODO: Show the progress bar. - MWContext* someRandomContext = XP_FindSomeContext(); - if (someRandomContext) { - FE_Progress(someRandomContext, XP_GetString(XP_PROGRESS_STARTING_JAVA)); - } - */ - -#ifdef MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - PRUintn uStatus=0; - EnterMonitor(&uStatus); -#endif // MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - - PR_ASSERT(fJVM == NULL); - /* - **TODO: amusil. Load the plugin by getting into Service manager. - ** Right now there is no API to do this stuff. We need to - ** add this to nsIPluginHost. We need a case where we just - ** load the plugin but do not instantiate any instance. - ** The code in there right now always creates a new instance. - ** But for Java we may not create any instances and may need to - ** do JNI calls via liveconnect. - */ - - // beard: Now uses the nsIPluginHost to load the plugin factory for NS_JVM_MIME_TYPE. - nsresult err; - nsCOMPtr pluginHost = - do_GetService(kPluginManagerCID, &err); - if (NS_FAILED(err)) { - fStatus = nsJVMStatus_Failed; - -#ifdef MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - ExitMonitor(&uStatus); -#endif // MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - - return fStatus; - } - - if (!pluginHost) { - fStatus = nsJVMStatus_Failed; - -#ifdef MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - ExitMonitor(&uStatus); -#endif // MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - - return fStatus; - } - - nsIPlugin* pluginFactory = NULL; - // this code is the correct way to obtain pluggable JVM - nsCOMPtr f = - do_GetService(NS_INLINE_PLUGIN_CONTRACTID_PREFIX NS_JVM_MIME_TYPE, &err); - if (NS_FAILED(err) || !f) { - err = pluginHost->GetPluginFactory(NS_JVM_MIME_TYPE, &pluginFactory); - } - else { - pluginFactory = f; - } - - if (pluginFactory == NULL) { - fStatus = nsJVMStatus_Failed; - -#ifdef MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - ExitMonitor(&uStatus); -#endif // MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - - return fStatus; - } - - nsresult rslt = pluginFactory->QueryInterface(kIJVMPluginIID, (void**)&fJVM); - if (rslt != NS_OK) { - PR_ASSERT(fJVM == NULL); - fStatus = nsJVMStatus_Failed; - -#ifdef MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - ExitMonitor(&uStatus); -#endif // MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - - return fStatus; - } - - // beard: do we really need an explicit startup mechanim for the JVM? - // since we obtained a working JVM plugin, assume it is running. - fStatus = nsJVMStatus_Running; - -#if 0 - JSContext* crippledContext = LM_GetCrippledContext(); - MaybeStartupLiveConnect(crippledContext, JS_GetGlobalObject(crippledContext)); -#endif - - fJVM->Release(); - -#ifdef DEBUG - PRIntervalTime end = PR_IntervalNow(); - PRInt32 d = PR_IntervalToMilliseconds(end - start); - PR_LOG(NSJAVA, PR_LOG_ALWAYS, - ("Starting java...%s (%ld ms)", - (fStatus == nsJVMStatus_Running ? "done" : "failed"), d)); -#endif - -#ifdef MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - ExitMonitor(&uStatus); -#endif // MOZ_OJI_REQUIRE_THREAD_SAFE_ON_STARTUP - - /* TODO: - - if (someRandomContext) { - FE_Progress(someRandomContext, XP_GetString(XP_PROGRESS_STARTING_JAVA_DONE)); - } - */ - return fStatus; -} - -nsJVMStatus -nsJVMManager::ShutdownJVM(PRBool fullShutdown) -{ - if (fStatus == nsJVMStatus_Running) { - PR_ASSERT(fJVM != NULL); - // XXX need to shutdown JVM via ServiceManager -// nsresult err = fJVM->ShutdownJVM(fullShutdown); -// if (err == NS_OK) - fStatus = nsJVMStatus_Enabled; -// else { -// ReportJVMError(err); -// fStatus = nsJVMStatus_Disabled; -// } - fJVM = NULL; - } - PR_ASSERT(fJVM == NULL); - return fStatus; -} - -//////////////////////////////////////////////////////////////////////////////// - -void -nsJVMManager::SetJVMEnabled(PRBool enabled) -{ - if (enabled) { - if (fStatus != nsJVMStatus_Running) - fStatus = nsJVMStatus_Enabled; - // don't start the JVM here, do it lazily - } - else { - if (fStatus == nsJVMStatus_Running) - (void)ShutdownJVM(); - fStatus = nsJVMStatus_Disabled; - } -} - -nsresult -nsJVMManager::GetChrome(nsIWebBrowserChrome **theChrome) -{ - *theChrome = nsnull; - - nsresult rv; - nsCOMPtr windowWatcher = - do_GetService(NS_WINDOWWATCHER_CONTRACTID, &rv); - if (NS_FAILED(rv)) { - return rv; - } - nsCOMPtr domWindow; - windowWatcher->GetActiveWindow(getter_AddRefs(domWindow)); - nsCOMPtr window = - do_QueryInterface(domWindow, &rv); - if (!window) { - return rv; - } - nsIDocShell *docShell = window->GetDocShell(); - if (!docShell) { - return NS_OK; - } - nsCOMPtr presContext; - rv = docShell->GetPresContext(getter_AddRefs(presContext)); - if (!presContext) { - return rv; - } - nsCOMPtr container(presContext->GetContainer()); - nsCOMPtr treeItem = do_QueryInterface(container, &rv); - if (!treeItem) { - return rv; - } - nsCOMPtr treeOwner; - treeItem->GetTreeOwner(getter_AddRefs(treeOwner)); - - nsCOMPtr chrome = do_GetInterface(treeOwner, &rv); - *theChrome = (nsIWebBrowserChrome *) chrome.get(); - NS_IF_ADDREF(*theChrome); - return rv; -} - -NS_IMETHODIMP -nsJVMManager::Observe(nsISupports* subject, - const char* topic, - const PRUnichar* data_unicode) -{ - if (nsDependentString(data_unicode).Equals(NS_LITERAL_STRING("Gecko-Content-Viewers"))) { - nsCString mimeType; - nsCOMPtr type = do_QueryInterface(subject); - nsresult rv = type->GetData(mimeType); - NS_ENSURE_SUCCESS(rv, rv); - if (mimeType.Equals(NS_JVM_MIME_TYPE)) { - if (strcmp(topic, NS_XPCOM_CATEGORY_ENTRY_ADDED_OBSERVER_ID) == 0) { - SetJVMEnabled(PR_TRUE); - } - else if (strcmp(topic, NS_XPCOM_CATEGORY_ENTRY_REMOVED_OBSERVER_ID) == 0) { - SetJVMEnabled(PR_FALSE); - } - } - } - return NS_OK; -} - -nsJVMStatus -nsJVMManager::GetJVMStatus(void) -{ - return fStatus; -} - -extern "C" NS_VISIBILITY_DEFAULT nsresult JSJ_RegisterLiveConnectFactory(void); - -PRBool -nsJVMManager::MaybeStartupLiveConnect(void) -{ - if (fJSJavaVM) - return PR_TRUE; - - do { - static PRBool registeredLiveConnectFactory = NS_SUCCEEDED(JSJ_RegisterLiveConnectFactory()); - if (IsLiveConnectEnabled()) { - JVM_InitLCGlue(); -#if 0 - nsIJVMPlugin* plugin = GetJVMPlugin(); - if (plugin) { - const char* classpath = NULL; - nsresult err = plugin->GetClassPath(&classpath); - if (err != NS_OK) break; - - JavaVM* javaVM = NULL; - err = plugin->GetJavaVM(&javaVM); - if (err != NS_OK) break; -#endif - fJSJavaVM = JSJ_ConnectToJavaVM(NULL, NULL); - if (fJSJavaVM != NULL) - return PR_TRUE; - // plugin->Release(); // GetJVMPlugin no longer calls AddRef - //} - } - } while (0); - return PR_FALSE; -} - -PRBool -nsJVMManager::MaybeShutdownLiveConnect(void) -{ - if (fJSJavaVM) { - JSJ_DisconnectFromJavaVM(fJSJavaVM); - fJSJavaVM = NULL; - return PR_TRUE; - } - return PR_FALSE; -} - -PRBool -nsJVMManager::IsLiveConnectEnabled(void) -{ -#if 0 -// TODO: Get a replacement for LM_GetMochaEnabled. This is on Tom's list. - if (LM_GetMochaEnabled()) { - nsJVMStatus status = GetJVMStatus(); - return (status == nsJVMStatus_Enabled || status == nsJVMStatus_Running); - } -#endif - return PR_TRUE; -} - -/* - * Find out if a given signer has been granted all permissions. This - * is a precondition to loading a signed applet in trusted mode. - * The certificate from which the fingerprint and commonname have - * be derived, should have been verified before this method is - * called. - */ -// XXXbz this function has been deprecated for 4.5 years. We have no -// callers in the tree. Is it time to remove it? It's returning -// PRBools for a NS_METHOD, and NS_METHOD for an interface method, for -// goodness' sake! -NS_METHOD -nsJVMManager::IsAllPermissionGranted( - const char * lastFP, - const char * lastCN, - const char * rootFP, - const char * rootCN, - PRBool * isGranted) -{ - if (!lastFP || !lastCN) { - return PR_FALSE; - } - - nsresult rv = NS_OK; - - nsCOMPtr pIPrincipal; - - // Get the Script Security Manager. - - nsCOMPtr secMan = - do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv) || !secMan) return PR_FALSE; - - // Ask the Script Security Manager to make a Certificate Principal. - // The fingerprint is a one way hash of this certificate. It is used - // as the key to store the principal in the principal database. - - // XXXbz using the |lastCN| for the subjectName for lack of - // anything better. Also not passing in a pointer to a cert, - // since we don't have one. - rv = secMan->GetCertificatePrincipal(nsDependentCString(lastFP), - nsDependentCString(lastCN), - nsDependentCString(lastCN), - nsnull, nsnull, - getter_AddRefs(pIPrincipal)); - if (NS_FAILED(rv)) return PR_FALSE; - - PRInt16 ret; - - secMan->RequestCapability(pIPrincipal,"AllPermission",&ret); - - PR_ASSERT(isGranted); - *isGranted = (ret!=0); - - return PR_TRUE; -} - -NS_METHOD -nsJVMManager::IsAppletTrusted( - const char* aRSABuf, - PRUint32 aRSABufLen, - const char* aPlaintext, - PRUint32 aPlaintextLen, - PRBool* isTrusted, - nsIPrincipal** pIPrincipal) -{ - nsresult rv = NS_OK; - - //-- Get the signature verifier service - nsCOMPtr verifier = - do_GetService(SIGNATURE_VERIFIER_CONTRACTID, &rv); - if (NS_FAILED(rv)) // No signature verifier available - return NS_OK; - - // Get the Script Security Manager. - - nsCOMPtr secMan = - do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv); - if (NS_FAILED(rv) || !secMan) return PR_FALSE; - - - // Ask the Script Security Manager to make a Certificate Principal. - // The fingerprint is a one way hash of this certificate. It is used - // as the key to store the principal in the principal database. - - { - PRInt32 ret; - PR_ASSERT(pIPrincipal); - rv = verifier->VerifySignature(aRSABuf,aRSABufLen,aPlaintext,aPlaintextLen,&ret,pIPrincipal); - if (NS_FAILED(rv)) return PR_FALSE; - } - - { - PRInt16 ret = 0; - secMan->RequestCapability(*pIPrincipal,"UniversalBrowserRead",&ret); - PR_ASSERT(isTrusted); - *isTrusted = (ret!=0); - } - - return PR_TRUE; -} - - -//////////////////////////////////////////////////////////////////////////////// - -nsresult -nsJVMManager::AddToClassPath(const char* dirPath) -{ - nsIJVMPlugin* jvm = GetJVMPlugin(); - - /* Add any zip or jar files in this directory to the classpath: */ - PRDir* dir = PR_OpenDir(dirPath); - if (dir != NULL) { - PRDirEntry* dirent; - while ((dirent = PR_ReadDir(dir, PR_SKIP_BOTH)) != NULL) { - PRFileInfo info; - char sep = PR_GetDirectorySeparator(); - char* path = PR_smprintf("%s%c%s", dirPath, sep, PR_DirName(dirent)); - if (path != NULL) { - PRBool freePath = PR_TRUE; - if ((PR_GetFileInfo(path, &info) == PR_SUCCESS) - && (info.type == PR_FILE_FILE)) { - int len = PL_strlen(path); - - /* Is it a zip or jar file? */ - if ((len > 4) && - ((PL_strcasecmp(path+len-4, ".zip") == 0) || - (PL_strcasecmp(path+len-4, ".jar") == 0))) { - fClassPathAdditions->AppendElement((void*)path); - if (jvm) { - /* Add this path to the classpath: */ - jvm->AddToClassPath(path); - } - freePath = PR_FALSE; - } - } - - // Don't leak the path! - if (freePath) - PR_smprintf_free(path); - } - } - PR_CloseDir(dir); - } - - /* Also add the directory to the classpath: */ - fClassPathAdditions->AppendElement((void*)dirPath); - if (jvm) { - jvm->AddToClassPath(dirPath); - // jvm->Release(); // GetJVMPlugin no longer calls AddRef - } - return NS_OK; -} - diff --git a/modules/oji/src/nsJVMManager.h b/modules/oji/src/nsJVMManager.h deleted file mode 100644 index 679cbed5bbe..00000000000 --- a/modules/oji/src/nsJVMManager.h +++ /dev/null @@ -1,259 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef nsJVMManager_h___ -#define nsJVMManager_h___ - -#include "jvmmgr.h" -#include "prtypes.h" -#include "nscore.h" -#include "jni.h" -#include "jsdbgapi.h" -#include "nsError.h" - -#include "nsjvm.h" -#include "nsAgg.h" -#include "jsjava.h" -#include "nsVoidArray.h" -#include "nsILiveConnectManager.h" - -#include "nsIObserver.h" - -class nsSymantecDebugManager; -class nsIWebBrowserChrome; - -/******************************************************************************* - * NsJVMManager is the interface to the JVM manager that the browser sees. All - * files that want to include java services should include this header file. - * nsIJVMManager is the more limited interface what the JVM plugin sees. - ******************************************************************************/ - -struct nsJVMManager : public nsIJVMManager, public nsIJVMThreadManager, - public nsILiveConnectManager, public nsIObserver { -public: - - NS_DECL_AGGREGATED - - NS_DECL_NSIJVMMANAGER - - NS_DECL_NSIOBSERVER - - /* from nsIJVMThreadManager: */ - - /** - * Returns a unique identifier for the "current" system thread. - */ - NS_IMETHOD - GetCurrentThread(PRThread* *threadID); - - /** - * Pauses the current thread for the specified number of milliseconds. - * If milli is zero, then merely yields the CPU if another thread of - * greater or equal priority. - */ - NS_IMETHOD - Sleep(PRUint32 milli = 0); - - /** - * Creates a unique monitor for the specified address, and makes the - * current system thread the owner of the monitor. - */ - NS_IMETHOD - EnterMonitor(void* address); - - /** - * Exits the monitor associated with the address. - */ - NS_IMETHOD - ExitMonitor(void* address); - - /** - * Waits on the monitor associated with the address (must be entered already). - * If milli is 0, wait indefinitely. - */ - NS_IMETHOD - Wait(void* address, PRUint32 milli = 0); - - /** - * Notifies a single thread waiting on the monitor associated with the address (must be entered already). - */ - NS_IMETHOD - Notify(void* address); - - /** - * Notifies all threads waiting on the monitor associated with the address (must be entered already). - */ - NS_IMETHOD - NotifyAll(void* address); - - /** - * Creates a new thread, calling the specified runnable's Run method (a la Java). - */ - NS_IMETHOD - CreateThread(PRThread **thread, nsIRunnable* runnable); - - /** - * Posts an event to specified thread, calling the runnable from that thread. - * @param threadID thread to call runnable from - * @param runnable object to invoke from thread - * @param async if true, won't block current thread waiting for result - */ - NS_IMETHOD - PostEvent(PRThread *thread, nsIRunnable* runnable, PRBool async); - - /* from nsILiveConnectManager: */ - - /** - * Attempts to start LiveConnect using the specified JSRuntime. - */ - NS_IMETHOD - StartupLiveConnect(JSRuntime* runtime, PRBool& outStarted) - { - outStarted = MaybeStartupLiveConnect(); - return NS_OK; - } - - /** - * Attempts to stop LiveConnect using the specified JSRuntime. - */ - NS_IMETHOD - ShutdownLiveConnect(JSRuntime* runtime, PRBool& outShutdown) - { - outShutdown = MaybeShutdownLiveConnect(); - return NS_OK; - } - - /** - * Indicates whether LiveConnect can be used. - */ - NS_IMETHOD - IsLiveConnectEnabled(PRBool& outEnabled) - { - outEnabled = IsLiveConnectEnabled(); - return NS_OK; - } - - /** - * Initializes a JSContext with the proper LiveConnect support classes. - */ - NS_IMETHOD - InitLiveConnectClasses(JSContext* context, JSObject* globalObject); - - /** - * Creates a JavaScript wrapper for a Java object. - */ - NS_IMETHOD - WrapJavaObject(JSContext* context, jobject javaObject, JSObject* *outJSObject); - - /* JVMMgr specific methods: */ - - /* ====> From here on are things only called by the browser, not the plugin... */ - NS_IMETHOD - GetClasspathAdditions(const char* *result); - - nsIJVMPlugin* GetJVMPlugin(void) { return fJVM; } - - /* Unlike the nsIJVMPlugin::StartupJVM, this version handles putting - * up any error dialog: */ - nsJVMStatus StartupJVM(void); - nsJVMStatus ShutdownJVM(PRBool fullShutdown = PR_FALSE); - nsJVMStatus GetJVMStatus(void); - void SetJVMEnabled(PRBool enabled); - -#if 0 - void ReportJVMError(nsresult err); - const char* GetJavaErrorString(JNIEnv* env); -#endif - - nsresult AddToClassPath(const char* dirPath); - PRBool MaybeStartupLiveConnect(void); - PRBool MaybeShutdownLiveConnect(void); - PRBool IsLiveConnectEnabled(void); - JSJavaVM* GetJSJavaVM(void) { return fJSJavaVM; } - - - nsJVMManager(nsISupports* outer); - virtual ~nsJVMManager(void); - -protected: - - /** - - * @return conjure up THE nsIWebBrowserChrome instance from thin - * air! - - */ - - nsresult GetChrome(nsIWebBrowserChrome **theChrome); - const char* GetJavaErrorString(JRIEnv* env); - - nsIJVMPlugin* fJVM; - nsJVMStatus fStatus; - nsISupports* fDebugManager; - JSJavaVM * fJSJavaVM; - nsVoidArray* fClassPathAdditions; - char* fClassPathAdditionsString; - PRBool fStartupMessagePosted; -}; - -/******************************************************************************* - * Symantec Debugger Stuff - ******************************************************************************/ - -class nsSymantecDebugManager : public nsISymantecDebugManager { -public: - - NS_DECL_AGGREGATED - - NS_IMETHOD - SetDebugAgentPassword(PRInt32 pwd); - - static NS_METHOD - Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr, - nsJVMManager* nsJVMManager); - -protected: - nsSymantecDebugManager(nsISupports* outer, nsJVMManager* nsJVMManager); - virtual ~nsSymantecDebugManager(void); - - nsJVMManager* fJVMMgr; - -}; - -//////////////////////////////////////////////////////////////////////////////// - -#endif // nsJVMManager_h___ diff --git a/modules/oji/src/nsJVMPluginTagInfo.cpp b/modules/oji/src/nsJVMPluginTagInfo.cpp deleted file mode 100644 index ca56e61bf7f..00000000000 --- a/modules/oji/src/nsJVMPluginTagInfo.cpp +++ /dev/null @@ -1,226 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#include "nsJVMPluginTagInfo.h" -#include "nsIPluginTagInfo2.h" -#include "plstr.h" -#include "nsCRT.h" // mixing metaphors with plstr.h! -#ifdef XP_UNIX -#undef Bool -#endif - -static NS_DEFINE_IID(kIPluginTagInfo2IID, NS_IPLUGINTAGINFO2_IID); - -//////////////////////////////////////////////////////////////////////////////// -// nsJVMPluginTagInfo -//////////////////////////////////////////////////////////////////////////////// - -nsJVMPluginTagInfo::nsJVMPluginTagInfo(nsISupports* outer, nsIPluginTagInfo2* info) - : fPluginTagInfo(info), fSimulatedCodebase(NULL), fSimulatedCode(NULL) -{ - NS_INIT_AGGREGATED(outer); -} - -nsJVMPluginTagInfo::~nsJVMPluginTagInfo(void) -{ - if (fSimulatedCodebase) - PL_strfree(fSimulatedCodebase); - - if (fSimulatedCode) - PL_strfree(fSimulatedCode); -} - -NS_IMPL_AGGREGATED(nsJVMPluginTagInfo) -NS_INTERFACE_MAP_BEGIN_AGGREGATED(nsJVMPluginTagInfo) - NS_INTERFACE_MAP_ENTRY(nsIJVMPluginTagInfo) -NS_INTERFACE_MAP_END - - -static void -oji_StandardizeCodeAttribute(char* buf) -{ - // strip off the ".class" suffix - char* cp; - - if ((cp = PL_strrstr(buf, ".class")) != NULL) - *cp = '\0'; - - // Convert '/' to '.' - cp = buf; - while ((*cp) != '\0') { - if ((*cp) == '/') - (*cp) = '.'; - - ++cp; - } -} - -NS_METHOD -nsJVMPluginTagInfo::GetCode(const char* *result) -{ - if (fSimulatedCode) { - *result = fSimulatedCode; - return NS_OK; - } - - const char* code; - nsresult err = fPluginTagInfo->GetAttribute("code", &code); - if (err == NS_OK && code) { - fSimulatedCode = PL_strdup(code); - oji_StandardizeCodeAttribute(fSimulatedCode); - *result = fSimulatedCode; - return NS_OK; - } - - const char* classid; - err = fPluginTagInfo->GetAttribute("classid", &classid); - if (err == NS_OK && classid && PL_strncasecmp(classid, "java:", 5) == 0) { - fSimulatedCode = PL_strdup(classid + 5); // skip "java:" - oji_StandardizeCodeAttribute(fSimulatedCode); - *result = fSimulatedCode; - return NS_OK; - } - - // XXX what about "javaprogram:" and "javabean:"? - return NS_ERROR_FAILURE; -} - -NS_METHOD -nsJVMPluginTagInfo::GetCodeBase(const char* *result) -{ - // If we've already cached and computed the value, use it... - if (fSimulatedCodebase) { - *result = fSimulatedCodebase; - return NS_OK; - } - - // See if it's supplied as an attribute... - const char* codebase; - nsresult err = fPluginTagInfo->GetAttribute("codebase", &codebase); - if (err == NS_OK && codebase != NULL) { - *result = codebase; - return NS_OK; - } - - // Okay, we'll need to simulate it from the layout tag's base URL. - const char* docBase; - err = fPluginTagInfo->GetDocumentBase(&docBase); - if (err != NS_OK) return err; - codebase = (const char*) docBase; - - if ((fSimulatedCodebase = PL_strdup(codebase)) != NULL) { - char* lastSlash = PL_strrchr(fSimulatedCodebase, '/'); - - // chop of the filename from the original document base URL to - // generate the codebase. - if (lastSlash != NULL) - *(lastSlash + 1) = '\0'; - } - - *result = fSimulatedCodebase; - return NS_OK; -} - -NS_METHOD -nsJVMPluginTagInfo::GetArchive(const char* *result) -{ - return fPluginTagInfo->GetAttribute("archive", result); -} - -NS_METHOD -nsJVMPluginTagInfo::GetName(const char* *result) -{ - const char* attrName; - nsPluginTagType type; - nsresult err = fPluginTagInfo->GetTagType(&type); - if (err != NS_OK) return err; - switch (type) { - case nsPluginTagType_Applet: - attrName = "name"; - break; - default: - attrName = "id"; - break; - } - return fPluginTagInfo->GetAttribute(attrName, result); -} - -NS_METHOD -nsJVMPluginTagInfo::GetMayScript(PRBool *result) -{ - const char* attr; - *result = PR_FALSE; - - nsresult err = fPluginTagInfo->GetAttribute("mayscript", &attr); - if (err) return err; - - if (PL_strcasecmp(attr, "true") == 0) - { - *result = PR_TRUE; - } - return NS_OK; -} - -NS_METHOD -nsJVMPluginTagInfo::Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr, - nsIPluginTagInfo2* info) -{ - if(!aInstancePtr) - return NS_ERROR_INVALID_POINTER; - - if (outer && !aIID.Equals(NS_GET_IID(nsISupports))) - return NS_ERROR_INVALID_ARG; - - nsJVMPluginTagInfo* jvmTagInfo = new nsJVMPluginTagInfo(outer, info); - if (jvmTagInfo == NULL) - return NS_ERROR_OUT_OF_MEMORY; - - nsresult result = jvmTagInfo->AggregatedQueryInterface(aIID, aInstancePtr); - if (NS_FAILED(result)) goto error; - - result = jvmTagInfo->QueryInterface(kIPluginTagInfo2IID, - (void**)&jvmTagInfo->fPluginTagInfo); - if (NS_FAILED(result)) goto error; - return result; - - error: - delete jvmTagInfo; - return result; -} - -//////////////////////////////////////////////////////////////////////////////// - diff --git a/modules/oji/src/nsJVMPluginTagInfo.h b/modules/oji/src/nsJVMPluginTagInfo.h deleted file mode 100644 index 3eafa5b47d6..00000000000 --- a/modules/oji/src/nsJVMPluginTagInfo.h +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#ifndef nsJVMPluginTagInfo_h___ -#define nsJVMPluginTagInfo_h___ - -#include "nsIJVMPluginTagInfo.h" -#include "nsAgg.h" - -/******************************************************************************* - * nsJVMPluginTagInfo: The browser makes one of these when it sees an APPLET or - * appropriate OBJECT tag. - ******************************************************************************/ - -class nsIPluginTagInfo2; - -class nsJVMPluginTagInfo : public nsIJVMPluginTagInfo { -public: - - NS_DECL_AGGREGATED - - /* from nsIJVMPluginTagInfo: */ - - /* ====> These are usually only called by the plugin, not the browser... */ - - NS_IMETHOD - GetCode(const char* *result); - - NS_IMETHOD - GetCodeBase(const char* *result); - - NS_IMETHOD - GetArchive(const char* *result); - - NS_IMETHOD - GetName(const char* *result); - - NS_IMETHOD - GetMayScript(PRBool *result); - - /* Methods specific to nsJVMPluginInstancePeer: */ - - /* ====> From here on are things only called by the browser, not the plugin... */ - - static NS_METHOD - Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr, - nsIPluginTagInfo2* info); - -protected: - - nsJVMPluginTagInfo(nsISupports* outer, nsIPluginTagInfo2* info); - virtual ~nsJVMPluginTagInfo(void); - - /* Instance Variables: */ - nsIPluginTagInfo2* fPluginTagInfo; - char* fSimulatedCodebase; - char* fSimulatedCode; -}; - -#endif // nsJVMPluginTagInfo_h___ diff --git a/modules/oji/src/nsscd.h b/modules/oji/src/nsscd.h deleted file mode 100644 index e0b5be74a7a..00000000000 --- a/modules/oji/src/nsscd.h +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// NETSCAPE JAVA VM PLUGIN EXTENSIONS FOR SYMANTEC DEBUGGER -// -// This interface allows the browser to initialize a JVM that supports a -// debugger. It's called the "Symantec Debugger Interface" because it currently -// provides access to the Symantec Cafe or Visual Cafe debugger in the Netscape -// JVM. It is not meant to be the be-all-to-end-all of debugger interfaces. -//////////////////////////////////////////////////////////////////////////////// - -#ifndef nsscd_h___ -#define nsscd_h___ - -#include "nsjvm.h" - -//////////////////////////////////////////////////////////////////////////////// -// Symantec Debug Manager Interface -// -// Implemented by the browser that supports the Symantec debugger. - -class NPISymantecDebugManager : public nsISupports { -public: - - NS_IMETHOD_(PRBool) - SetDebugAgentPassword(PRInt32 pwd) = 0; - -}; - -#define NP_ISYMANTECDEBUGMANAGER_IID \ -{ /* 131362e0-d985-11d1-8155-006008119d7a */ \ - 0x131362e0, \ - 0xd985, \ - 0x11d1, \ - {0x81, 0x55, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ -} - -//////////////////////////////////////////////////////////////////////////////// -// Symantec Debugger Interface -// -// Implemented by the JVM plugin that supports the Symantec debugger. - -enum NPSymantecDebugPort { - NPSymantecDebugPort_None = 0, - NPSymantecDebugPort_SharedMemory = -1 - // anything else is a port number -}; - -class NPISymantecDebugger : public nsISupports { -public: - - NS_IMETHOD_(JVMError) - StartDebugger(NPSymantecDebugPort port) = 0; - -}; - -#define NP_ISYMANTECDEBUGGER_IID \ -{ /* 954399f0-d980-11d1-8155-006008119d7a */ \ - 0x954399f0, \ - 0xd980, \ - 0x11d1, \ - {0x81, 0x55, 0x00, 0x60, 0x08, 0x11, 0x9d, 0x7a} \ -} - -//////////////////////////////////////////////////////////////////////////////// -#endif /* nsscd_h___ */ diff --git a/modules/oji/src/scd.cpp b/modules/oji/src/scd.cpp deleted file mode 100644 index 6b49e7058fa..00000000000 --- a/modules/oji/src/scd.cpp +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: MPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Mozilla Public License Version - * 1.1 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 1998 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the MPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the MPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -//////////////////////////////////////////////////////////////////////////////// -// Plugin Manager Methods to support the JVM Plugin API -//////////////////////////////////////////////////////////////////////////////// - -#include "nsJVMManager.h" - -NS_IMPL_AGGREGATED(nsSymantecDebugManager) - -nsSymantecDebugManager::nsSymantecDebugManager(nsISupports* outer, nsJVMManager* jvmMgr) - : fJVMMgr(jvmMgr) -{ - NS_INIT_AGGREGATED(outer); -} - -nsSymantecDebugManager::~nsSymantecDebugManager() -{ -} - -NS_INTERFACE_MAP_BEGIN_AGGREGATED(nsSymantecDebugManager) - NS_INTERFACE_MAP_ENTRY(nsISymantecDebugManager) -NS_INTERFACE_MAP_END - -NS_METHOD -nsSymantecDebugManager::Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr, - nsJVMManager* jvmMgr) -{ - if (!aInstancePtr) - return NS_ERROR_INVALID_POINTER; - NS_ENSURE_PROPER_AGGREGATION(outer, aIID); - - nsSymantecDebugManager* dbgr = new nsSymantecDebugManager(outer, jvmMgr); - if (dbgr == NULL) - return NS_ERROR_OUT_OF_MEMORY; - - nsISupports* inner = dbgr->InnerObject(); - nsresult rv = inner->QueryInterface(aIID, aInstancePtr); - if (NS_FAILED(rv)) { - delete dbgr; - } - return rv; -} - -#if defined(XP_WIN) && defined(_WIN32) -extern "C" HWND FindNavigatorHiddenWindow(void); -#endif - -NS_METHOD -nsSymantecDebugManager::SetDebugAgentPassword(PRInt32 pwd) -{ -#if defined(XP_WIN) && defined(_WIN32) - HWND win = NULL; - /* - ** TODO:amusil Get to a hidden window for symantec debugger to get its password from. - HWND win = FindNavigatorHiddenWindow(); - */ - HANDLE sem; - long err; - - /* set up by aHiddenFrameClass in CNetscapeApp::InitInstance */ - err = SetWindowLong(win, 0, pwd); - if (err == 0) { -// PR_LOG(NSJAVA, PR_LOG_ALWAYS, -// ("SetWindowLong returned %ld (err=%d)\n", err, GetLastError())); - /* continue so that we try to wake up the DebugManager */ - } - sem = OpenSemaphoreW(SEMAPHORE_MODIFY_STATE, FALSE, L"Netscape-Symantec Debugger"); - if (sem) { - ReleaseSemaphore(sem, 1, NULL); - CloseHandle(sem); - } - return NS_OK; -#else - return NS_ERROR_FAILURE; -#endif -} - -//////////////////////////////////////////////////////////////////////////////// diff --git a/modules/oji/tests/FAQ b/modules/oji/tests/FAQ deleted file mode 100644 index 751bee8887d..00000000000 --- a/modules/oji/tests/FAQ +++ /dev/null @@ -1,326 +0,0 @@ -Frequently Asked Questions ( for Build and Execution) - -Build Problems --------------- -NOTE: These API tests are build using Gnu COmpiler gcc. - Always ensure that you compile Tests in same mode as Mozilla is compiled. - (Debug/Non-debug). - -Solaris/Linux: -============== - -1) On invoking gmake I get a message - WARNING: MOZILLA_HOME variable is incorrect ! - - MOZILLA_HOME dir. should point to absolute Path of mozilla dir. under - which all sources are located (e.g. /opt/mozilla). - - -2) On invoking gmake I get an error - /usr/ucb/cc: language optional software package not installed - make: Fatal error: Command failed for target `link' - - This is because it could not find a valid GNU compiler 'gcc' in your PATH. - Update your PATH variable to point a valid location for 'gcc' - Also set the environment variable CC to gcc - (if in C-shell then, setenv CC gcc). - - -3) On invoking gmake I get an error, even though I have 'gcc' in my PATH. - Error message displayed is - /usr/ucb/cc: language optional software package not installed - make: Fatal error: Command failed for target `link' - - - Set environment variable CC to gcc - (if in C-shell then, setenv CC gcc). - - -4) On invoking gmake I get an error, - sh: javac: not found - - This is because you do not have 'javac' in your PATH - Add ${JDKHOME}/bin into your PATH environment variable - - -5) On invoking gmake I get an error, - undefined versioned symbol not found. NSGetModule@@Exported - - This is the famous problem of Mozilla being compiled in DEBUG mode - and OJI API tests in non-debug mode. - Ensure that both are the same (See mozilla.org build req. for setting - Debug/Non-debug mode). - - -Win32: -====== - -5) On invoking nmake I get an error - OJITestLoader.h: fatal error: Cannot open include file 'nsISupports.h' - no such file or directory - - This is because MOZILLA_HOME is not set - MOZILLA_HOME dir. should point to absolute Path of mozilla dir. under - which all sources are located (e.g. /opt/mozilla). - - -6) On invoking nmake I get an error - LINK: fatal error LNK1181: cannot open input file nspr4.lib - - This is because MOZILLA_HOME is not set - MOZILLA_HOME dir. should point to absolute Path of mozilla dir. under - which all sources are located (e.g. /opt/mozilla). - - -7) On invoking nmake I get an error - .... Cannot open include file prtypes.h - - This usually happens if you have built MOZILLA in non-debug mode and are - trying to build the tests in debug mode. - Check you environment. You will have MOZ_DEBUG set - Unsetting it will resolve the problem - ( set MOZ_DEBUG= ) - - -8) On invoking nmake I get an error (even after I have set MOZILLA_HOME) - LINK: fatal error LNK1181: cannot open input file nspr4.lib - - This usually happens if you have built MOZILLA in non-debug mode and are - trying to build the tests in debug mode. - Check you environment. You will have MOZ_DEBUG set - Unsetting it will resolve the problem - ( set MOZ_DEBUG= ) - - -9) On invoking nmake I get an error - NMAKE: fatal error ..: javac : return code... - - This is because you do not have 'javac' in your PATH - Add ${JDKHOME}/bin into your PATH environment variable - - -=========================================================================== - -Execution Problems ------------------- -NOTE: These API tests are build using Gnu Compiler gcc. - -10) On execution autorun.pl I get errors - syntax error in file autorun.pl at line 36, next 2 tokens "use POSIX" - syntax error in file autorun.pl at line 72, next 2 tokens "cwd(" - syntax error in file autorun.pl at line 94, next 2 tokens "\usage(" - Execution of autorun.pl aborted due to compilation errors. - - - This is becuase you are using an older version of Perl - Use Perl version >= 5 and add the same to PATH environment variable - - -11) On execution of autorun.pl I get message - MOZILLA_FIVE_HOME is not set. Please set it and rerun this script.... - - The environment variable MOZILLA_FIVE_HOME is not set - It should point to absolute dir. where mozilla-bin is located - Set MOZILLA_FIVE_HOME /dist/bin - - -12) How can I invoke a specific test - - In the script directory, there is a file OJITestsList.lst. This file - contains list of all tests. To execute any particular one use '-t' - option. - perl autorun.pl -t JNIEnv_AllocObject_2 - This command will execute on this particular test. - - -13) On executing autorun.pl, browser always invokes "Profile Window". Is there - any way to suppress this box. - - In autorun.pl, search of ADDITIONAL_PARAMETERS. It is set to "-P default" - Change it to reflect your Profile name (-P myProfile) - - -14) On executing autorun.pl, browser does not load the test.html. - - This is because it is not able tofind test.html. - There are 2 ways of setting. One is to set environment variable TEST_URL - to point to dir. which contains test.html - (In C-Shell setenv TEST_URL /modules/oji/tests/script ) - - or open autorun.pl and change DEFAULT_TEST_URL to indicate your path - - -15) On executing autorun.pl, browser in invoked, but before test.html is loaded - it exits. - - This is due to the DELAY_FACTOR set in the script. - On slower machine, you may want to increase the value of this variable. - Open autorun.pl, search for DELAY_FACTOR. change the value to a - higher number (currently it is set to 50) - -16) On executin autorun.pl, it immedialtely exits. On checking the log file - it says fatal: libgkggfx.so: open failed: No such file or directory - - This is because is not set in LD_LIBRARY_PATH, and - so is not able to find the above mentioned library. - Setting it, will resolve the problem. - (setenv LD_LIBRARY_PATH :${LD_LIBRARY_PATH}) - - -17) On executing autorun.pl, browser in invoked, an test.html is loaded, but - it does not prompt me for a "Internet Security" Dialog box. - - There can be many factors for this - * Cross-check the 'test.html'. It should have the following line - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect") - - * Check /.mozilla/default/prefs.js (on Solaris/Linux) or - c:/Program Files/Mozilla/Users50/Default/prefs.js (on Win32) - file. If it has the following entries - user_pref("capability.principal.codebase.p0.granted", "UniversalXPConnect"); - user_pref("capability.principal.codebase.p0.id", "file://"); - - then, you have already given access permissions. Remove these entries - and try execution again. - - * Check the above prefs.js if it has entry - user_pref("capability.principal.codebase.p0.denied", "UniversalXPConnect"); - - then you have Denied permissions to execute it. Remove that entry and - re-try execution. - - -18) On executin autorun.pl, it loads test.html and exits after sometime. - However the result is FAILED. On checking the log file it indicates - ld.so.1: /opt/mozilla/dist/bin/mozilla-bin: fatal: liboji.so: open - failed: No such file or directory - - This is because /components dir. is not set in - LD_LIBRARY_PATH, and so is not able to find the above mentioned library. - Setting it, will resolve the problem. - (setenv LD_LIBRARY_PATH /components:${LD_LIBRARY_PATH}) - - -19) Where can I find list of All Test Cases? - - In 'script' dir. there is a file 'OJITestsList.lst'. This file lists - out all Test Cases. - - -20) Is there a list of Test Cases that have to PASS for a particular platform - - In 'script' directory there is a file OJIValidTestsList.lst. This is - list of Test cases which have to PASS for a particular platform. - - -21) What should I do to invoke 'should PASS' Tests for a particular platform - - In 'script' dir. rename 'OJITestsList.lst' to 'OJITestsList.lst.orig'. - Copy OJIValidTestsList.lst to OJITestsList.lst - And then invoke autorun.pl - - -22) Is Macintosh platform supported. - - Currently tests are not supported for Macintosh platform. - - -23) What platforms are supported. - - Win32 (NT/98/95/2000) and Solaris 2.7/2.8 (intel/sparc) - - -24) On Win32 platforms, after execution all the Tests, my "Start Menu bar" - is filled with tons of small "Duke' icons. How can I get rid of it? - - This is one of the bugs in Java Plugin. After exiting browser, the Duke - icon is still displayed in the rightmost corner of Start Bar. If we move - mouse over the icon, it disappears. - - To avoid this whole bunch of icons, after you invoke autorun.pl, just - place the mouse at the righmost corner on the Duke icon. - - -25) Where are the result files stored. - - In 'script/log' directory you will find a bunch of log files. - BWTest.txt file lists out PASS/FAIL results. - BWTest.html is the above file in HTML format. - BWTestRun.log is the history of tests you ran. - - -26) What other options are supported by autorun.pl - - Invoke perl autorun.pl -help - It will list out all options - - -27) After running tests, I went ahead and remove the libraries from components - directory (libojapi*.so) - Now when I invoke Mozilla, it complains of not finding those libraries. - How can I remove this dependency. - - In you MOZILLA_FIVE_HOME dir. there is a file 'component.reg'. - Delete this file and invoke mozilla again. - - -28) All my JNI Tests seem to be failing even after I have granted permissions - to XPConnect call (thru' Internet Security Box). - - All JNI tests has dependency on Java class files in 'build/classes' dir. - If the JVM cannot find theses classes, all tests will fail. - Go to /jre/bin directory. Invoke the 'ControlPanel' executable. - (On Win32 platforms click on Start->Settings->Control Panel->Duke icon) - - In the Java RunTime Parameters Text Field, add the following entry - -Xbootclasspath/a:/modules/oji/tests/build/classes - - where is absolute path to mozilla dir. - ( e.g: -Xbootclasspath/a:c:\mozilla\modules\oji\tests\build\classes ) - - Press 'Apply' - Go to to your /.java - There should be a 'properties130_01' file with the entry - javaplugin.jre.params=-Xbootclasspath/a\:c\:\\mozilla\\modules\oji\\tests\\build\\classes - Now retry, executing the Tests . - - - -29) On Win98, when I run thru' the tests, and if Mozilla crashes, it invokes - a VC++ debug window, which stays on top. Sometimes I see a lot of - such windows. How can I ge rid of them? (I do not see the same on NT) - - - This is a bug we have encuntered. - In src/Killer dir. there is a file killer.cpp.win98. - DO the following. - copy killer.cpp to killer.cpp.win32 - copy killer.cpp.win98 to killer.cpp - then execute command - cl killer.cpp /link user32.lib - - This will generate a new killer.exe . - copy killer.exe to 'script' dir. - Now re-run the Tests. This problem should be resolved. - - -30) After I run a particular test, and if tests is flagged of as FAILED - how do I know what went wrong. - - In 'script/log' dir. for Each Test case there is a equivalent log created - named _.log - - To find out which is the most recent log, check by time stamp - (ls -lt _*.log ) - Open the recent one, and it will tell you what went wrong - - -32) If I encounter any other problems while running these tests, whom can I - contact? - - Send feedback to oji@eng.sun.com. Someone will get in touch with you. - - - - -=========================================================================== diff --git a/modules/oji/tests/README b/modules/oji/tests/README deleted file mode 100644 index b53411c456f..00000000000 --- a/modules/oji/tests/README +++ /dev/null @@ -1,168 +0,0 @@ -This README file indicates steps required for Building and Execution of OJI API tests - -How the Tests Work ------------------- - These OJI API Tests basically 4 areas via: - Java Native Interface (JNI) - JVM Manager Tests (JM) - Thread Manager Tests (TM) - LiveConnect Manager Tests (LCM) - - On Building the Test Base ( from build directory) 5 shared libraries are - created which are copied over to the bin/components dir. - ( libojiapijmtests.so,libojiapilcmtests.so, libojiapitmtests.so, - libojiapijnitests.so, libojiapitl.so ) - - On Invoking the browser, it registers all these libraries and then invokes - the page test.html (in script dir.) - - It first prompts a dialog box for Permissions to invoke a XPConnect call. - The user has to grant permissions to execute the tests. - (NOTE: If user denys, then the tests cannot be invoked) - - Once permissions are granted, it will follow these steps - * Create a TestLoader instance. - * Read List of Tests from file OJITestsList.lst (in script dir.) - * For each test entry in that file, determine type of Test (JNI/JM/LCM/TM) - * Load appropriate library if not already loaded - * Find method address from the loaded library - * Invoke method to be tested with appropriate test parameters - * Record results in log file - -Below are instructions on how to build and execute. -Also check FAQ for answers to known problems encountered. - -------------------------------------------------------------------------------- - -Instructions (Build/Execution) -============================== - -Win32 ------ - -============-============= -I. Build OJI API test: -========================== - - Pre-Requisite: You must have built mozilla browser and - have Perl (version >= 5) installed. - - 1. set MOZILLA_HOME (top of Mozilla's tree) and JAVAHOME variables - 2. set MOZILLA_FIVE_HOME to /dist/win32_O.obj/bin directory - where mozilla.exe is located - 3. goto build directory and say - nmake -f Makefile.win - - Libraries created are located in 'build/bin' dir. and - MOZILLA_FIVE_HOME/components directory. - -============================= -II.Execute OJI API tests: -============================= - - Pre-Requisite: Have Perl (version >= 5) installed and - Java1.3.0_01 SDK installed. - - 1. Update /Program Files/Users50//prefs.js to add line - user_pref("signed.applets.codebase_principal_support",true); - where is your profile name - 2. Update Path variable to include - $MOZILLA_HOME/dist/win32_O.obj/bin and - $MOZILLA_HOME/dist/win32_O.obj/bin/components - 3. Set TEST_URL to point to url location of test.html. - (file:///modules/oji/tests/script) - 4. Delete component.reg file in Mozilla's bin directory. - 5. Click on Start-Settings-Control Panel->Duke icon. - This will invoke the Java Plugin Control Panel - 6. In Runtime Parameter Text Field add the following line - -Xbootclasspath/a: - where is \modules\oji\tests\build\classes - 7. Create .java.policy file in you home directory and add this line - grant { - permission java.security.AllPermission; - } - 8. Change DELAY_FACTOR in script/autorun.pl to some higher value, if mozilla - takes more time to load. It should be a value greater than 0. - 9 Change script/autorun.pl and change ADDITIONAL_PARAMETERS to reflect your - profile -10. Goto script dir. and run perl script - perl autorun.pl -11. It will invoke the browser and load 'test.html'. -12. It should prompt a "Internet Security" Dialog box prompting for Permissions - Check "Remember the decision" checkbox. - Click on 'Yes' (NOTE: clicking on 'No' will not invoke any of the Tests). - -All done - See results of execution in the script/log directory. - Output HTML file is script/log/BWTest.html - - - --------------------------------------------------------------------------- -Solaris/Linux --------------- - -========================== -I. Build OJI API test: -========================== - - Pre-Requisite: You must have built mozilla browser and have - have Perl (version >= 5) installed. - - 1. set MOZILLA_HOME (top of Mozilla's tree) and JAVAHOME variables - 2. set MOZILLA_FIVE_HOME to /dist/bin - where mozilla-bin is located - 3. set CC to point to gcc - setenv CC gcc - 4. goto build directory and say - gmake - - Libraries created are located in 'build/bin' dir. and - MOZILLA_FIVE_HOME/components directory. - -============================= -II. Execute OJI API tests: -============================= - - Pre-Requisite: Have Perl installed and Java2 SDK installed. - - 1. Update /.mozilla//prefs.js to add line - user_pref("signed.applets.codebase_principal_support",true); - where is your profile name - 2. Update LD_LIBRARY_PATH variable to include - $MOZILLA_HOME/dist/bin and - $MOZILLA_HOME/dist/bin/components - 3. Set TEST_URL to point to url location of test.html. - (file:///modules/oji/tests/script) - 4. Delete component.reg file in Mozilla's bin directory. - 5. Invoke /jre/bin/ControlPanel - 6. In RunTime Parameter Text Field add the following line - -Xbootclasspath/a: - where is /modules/oji/tests/build/classes - - 7. Create .java.policy file in you home directory and add the lines - grant { - permission java.security.AllPermission; - } - 8. Change DELAY_FACTOR in script/autorun.pl to some higher value, if mozilla - takes more time to load. It should be a value greater than 0. - 9 Change script/autorun.pl and change ADDITIONAL_PARAMETERS to reflect your - profile (by default it uses default). -10. Goto script dir. and run perl script - perl autorun.pl -11. It will invoke the browser and load 'test.html'. -12. It should prompt a "Internet Security" Dialog box prompting for Permissions - Check "Remember the decision" checkbox. - Click on 'Yes' (NOTE: clicking on 'No' will not invoke any of the Tests). - - -All done - See results of execution in the script/log directory. - Output HTML file is script/log/BWTest.html - - --------------------------------------------------------------------------- -Mac ---- - - Currently does not work with Mac. diff --git a/modules/oji/tests/build/Makefile b/modules/oji/tests/build/Makefile deleted file mode 100644 index 2c43b292099..00000000000 --- a/modules/oji/tests/build/Makefile +++ /dev/null @@ -1,73 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Sun Microsystems, Inc. -# Portions created by the Initial Developer are Copyright (C) 1999 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** -DIRS= \ - TestLoader \ - JM \ - TM \ - LCM \ - JNI - -TOP_DIR = .. - -all: createdir check_env $(DIRS) - -$(DIRS):: - @echo "############## Building $@ ####################" - @cd $(TOP_DIR)/src/$@; \ - if test ! -f depend.mak; then >depend.mak; fi; \ - $(MAKE) make_depends; \ - $(MAKE) all; - -check_env: - @if test ! -d $(MOZILLA_HOME)/dist/include; then echo "WARNING: MOZILLA_HOME variable is incorrect !"; exit 1; fi - -createdir: - @mkdir -p bin - @mkdir -p classes - -clean: - @for d in $(DIRS); do \ - rm -rf $(TOP_DIR)/src/$$d/obj; \ - find $(TOP_DIR)/src/$$d -name depend.mak -type f -exec rm -f {} \;; \ - find $(TOP_DIR)/src/$$d -name cmd.mak -type f -exec rm -f {} \;; \ - done - @rm -rf bin/* classes/* - - - - - diff --git a/modules/oji/tests/build/Makefile.win b/modules/oji/tests/build/Makefile.win deleted file mode 100644 index e2793870c97..00000000000 --- a/modules/oji/tests/build/Makefile.win +++ /dev/null @@ -1,70 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Sun Microsystems, Inc. -# Portions created by the Initial Developer are Copyright (C) 1999 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** -DIRS= \ - TestLoader \ - JM \ - TM \ - LCM \ - JNI - -TOP_DIR = .. - - -all: -!if !exist(bin) - @mkdir bin -!endif -!if !exist(classes) - @mkdir classes -!endif - @set MAKE_TARGET=make_depends - @nmake -nologo -f Makefile.win $(DIRS) - @set MAKE_TARGET=all - @nmake -nologo -f Makefile.win $(DIRS) - -$(DIRS):: - @echo "########### Making $(MAKE_TARGET) in $@ ##############"; - @cd $(TOP_DIR)/src/$@ - @nmake -nologo -f Makefile.win $(MAKE_TARGET) - @cd ../../build - -clean: - @set MAKE_TARGET=clean - @nmake -nologo -f Makefile.win $(DIRS) - @del /f/s/q bin\* classes\* - - diff --git a/modules/oji/tests/build/OJITests.lst b/modules/oji/tests/build/OJITests.lst deleted file mode 100644 index 9dc847e14ae..00000000000 --- a/modules/oji/tests/build/OJITests.lst +++ /dev/null @@ -1 +0,0 @@ -JVMManager_CreateProxyJNI_1 diff --git a/modules/oji/tests/build/README b/modules/oji/tests/build/README deleted file mode 100644 index b53411c456f..00000000000 --- a/modules/oji/tests/build/README +++ /dev/null @@ -1,168 +0,0 @@ -This README file indicates steps required for Building and Execution of OJI API tests - -How the Tests Work ------------------- - These OJI API Tests basically 4 areas via: - Java Native Interface (JNI) - JVM Manager Tests (JM) - Thread Manager Tests (TM) - LiveConnect Manager Tests (LCM) - - On Building the Test Base ( from build directory) 5 shared libraries are - created which are copied over to the bin/components dir. - ( libojiapijmtests.so,libojiapilcmtests.so, libojiapitmtests.so, - libojiapijnitests.so, libojiapitl.so ) - - On Invoking the browser, it registers all these libraries and then invokes - the page test.html (in script dir.) - - It first prompts a dialog box for Permissions to invoke a XPConnect call. - The user has to grant permissions to execute the tests. - (NOTE: If user denys, then the tests cannot be invoked) - - Once permissions are granted, it will follow these steps - * Create a TestLoader instance. - * Read List of Tests from file OJITestsList.lst (in script dir.) - * For each test entry in that file, determine type of Test (JNI/JM/LCM/TM) - * Load appropriate library if not already loaded - * Find method address from the loaded library - * Invoke method to be tested with appropriate test parameters - * Record results in log file - -Below are instructions on how to build and execute. -Also check FAQ for answers to known problems encountered. - -------------------------------------------------------------------------------- - -Instructions (Build/Execution) -============================== - -Win32 ------ - -============-============= -I. Build OJI API test: -========================== - - Pre-Requisite: You must have built mozilla browser and - have Perl (version >= 5) installed. - - 1. set MOZILLA_HOME (top of Mozilla's tree) and JAVAHOME variables - 2. set MOZILLA_FIVE_HOME to /dist/win32_O.obj/bin directory - where mozilla.exe is located - 3. goto build directory and say - nmake -f Makefile.win - - Libraries created are located in 'build/bin' dir. and - MOZILLA_FIVE_HOME/components directory. - -============================= -II.Execute OJI API tests: -============================= - - Pre-Requisite: Have Perl (version >= 5) installed and - Java1.3.0_01 SDK installed. - - 1. Update /Program Files/Users50//prefs.js to add line - user_pref("signed.applets.codebase_principal_support",true); - where is your profile name - 2. Update Path variable to include - $MOZILLA_HOME/dist/win32_O.obj/bin and - $MOZILLA_HOME/dist/win32_O.obj/bin/components - 3. Set TEST_URL to point to url location of test.html. - (file:///modules/oji/tests/script) - 4. Delete component.reg file in Mozilla's bin directory. - 5. Click on Start-Settings-Control Panel->Duke icon. - This will invoke the Java Plugin Control Panel - 6. In Runtime Parameter Text Field add the following line - -Xbootclasspath/a: - where is \modules\oji\tests\build\classes - 7. Create .java.policy file in you home directory and add this line - grant { - permission java.security.AllPermission; - } - 8. Change DELAY_FACTOR in script/autorun.pl to some higher value, if mozilla - takes more time to load. It should be a value greater than 0. - 9 Change script/autorun.pl and change ADDITIONAL_PARAMETERS to reflect your - profile -10. Goto script dir. and run perl script - perl autorun.pl -11. It will invoke the browser and load 'test.html'. -12. It should prompt a "Internet Security" Dialog box prompting for Permissions - Check "Remember the decision" checkbox. - Click on 'Yes' (NOTE: clicking on 'No' will not invoke any of the Tests). - -All done - See results of execution in the script/log directory. - Output HTML file is script/log/BWTest.html - - - --------------------------------------------------------------------------- -Solaris/Linux --------------- - -========================== -I. Build OJI API test: -========================== - - Pre-Requisite: You must have built mozilla browser and have - have Perl (version >= 5) installed. - - 1. set MOZILLA_HOME (top of Mozilla's tree) and JAVAHOME variables - 2. set MOZILLA_FIVE_HOME to /dist/bin - where mozilla-bin is located - 3. set CC to point to gcc - setenv CC gcc - 4. goto build directory and say - gmake - - Libraries created are located in 'build/bin' dir. and - MOZILLA_FIVE_HOME/components directory. - -============================= -II. Execute OJI API tests: -============================= - - Pre-Requisite: Have Perl installed and Java2 SDK installed. - - 1. Update /.mozilla//prefs.js to add line - user_pref("signed.applets.codebase_principal_support",true); - where is your profile name - 2. Update LD_LIBRARY_PATH variable to include - $MOZILLA_HOME/dist/bin and - $MOZILLA_HOME/dist/bin/components - 3. Set TEST_URL to point to url location of test.html. - (file:///modules/oji/tests/script) - 4. Delete component.reg file in Mozilla's bin directory. - 5. Invoke /jre/bin/ControlPanel - 6. In RunTime Parameter Text Field add the following line - -Xbootclasspath/a: - where is /modules/oji/tests/build/classes - - 7. Create .java.policy file in you home directory and add the lines - grant { - permission java.security.AllPermission; - } - 8. Change DELAY_FACTOR in script/autorun.pl to some higher value, if mozilla - takes more time to load. It should be a value greater than 0. - 9 Change script/autorun.pl and change ADDITIONAL_PARAMETERS to reflect your - profile (by default it uses default). -10. Goto script dir. and run perl script - perl autorun.pl -11. It will invoke the browser and load 'test.html'. -12. It should prompt a "Internet Security" Dialog box prompting for Permissions - Check "Remember the decision" checkbox. - Click on 'Yes' (NOTE: clicking on 'No' will not invoke any of the Tests). - - -All done - See results of execution in the script/log directory. - Output HTML file is script/log/BWTest.html - - --------------------------------------------------------------------------- -Mac ---- - - Currently does not work with Mac. diff --git a/modules/oji/tests/build/compile.mak b/modules/oji/tests/build/compile.mak deleted file mode 100644 index a627e7f5d05..00000000000 --- a/modules/oji/tests/build/compile.mak +++ /dev/null @@ -1,60 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Sun Microsystems, Inc. -# Portions created by the Initial Developer are Copyright (C) 1999 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** -!if defined(MOZ_DEBUG) -WIN32DIR=WIN32_D.OBJ -!else -WIN32DIR=WIN32_O.OBJ -!endif - -INCLUDES = $(INCLUDES) \ - -I. \ - -I$(TOP_DIR)/src/include \ - -I$(JAVAHOME)/include \ - -I$(JAVAHOME)/include/win32 \ - -I$(MOZILLA_HOME)/include \ - -I$(MOZILLA_HOME)/dist/include \ - -I$(MOZILLA_HOME)/dist/$(WIN32DIR)/include \ - -I$(MOZILLA_HOME)/dist/$(WIN32DIR)/include/obsolete - - -!if defined(MOZ_DEBUG) -DEFINES=-DXP_WIN -DDEBUG -!else -DEFINES=-DXP_WIN -!endif - -CC_OBJ=@cl $(DEFINES) /Zi /nologo $(INCLUDES) /c /Fo$(OBJ_DIR)\ /Fd$(OBJ_DIR)/default.pdb diff --git a/modules/oji/tests/build/compile.mk b/modules/oji/tests/build/compile.mk deleted file mode 100644 index e1496ea87f2..00000000000 --- a/modules/oji/tests/build/compile.mk +++ /dev/null @@ -1,51 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Sun Microsystems, Inc. -# Portions created by the Initial Developer are Copyright (C) 1999 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -INCLUDES += -I. \ - -I$(TOP_DIR)/src/include \ - -I$(JDK_HOME)/include \ - -I$(JDK_HOME)/include/$(OS) \ - -I$(MOZILLA_HOME)/include \ - -I$(MOZILLA_HOME)/dist/include - -DEFINES=-DXP_UNIX -ifeq ($(MOZ_DEBUG),1) -DEFINES+=-DDEBUG -endif - -CC_OBJ=$(CC) $(C_FLAGS) $(DEFINES) $(INCLUDES) - diff --git a/modules/oji/tests/build/make_depends.pl b/modules/oji/tests/build/make_depends.pl deleted file mode 100755 index cda578f9115..00000000000 --- a/modules/oji/tests/build/make_depends.pl +++ /dev/null @@ -1,51 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Sun Microsystems, Inc. -# Portions created by the Initial Developer are Copyright (C) 1999 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** -($#ARGV > 0) || die "Usage: make_depends.pl \n"; - -open(OUT, ">depend.mak") || die "Can't create depend.mak file: $!\n"; - -print OUT "# This file is generated automatically. Don't edit it !\n\n"; -$ext = "o"; -if ($^O =~ /Win32/) { $ext = "obj"; } -for ($i=2; $i<$#ARGV+1; $i++) { - if ($ARGV[$i] =~ /(.*?).cpp/) { - $name = $1; - #print "Creating rule for file $name.cpp\n"; - print OUT "$ARGV[0]/$name.$ext: $name.cpp\n\t\$\($ARGV[1]\) \$\? \>\> cmd.mak\n\n"; - } -} -close(OUT); diff --git a/modules/oji/tests/build/make_mak.pl b/modules/oji/tests/build/make_mak.pl deleted file mode 100755 index e9bb3c997e2..00000000000 --- a/modules/oji/tests/build/make_mak.pl +++ /dev/null @@ -1,81 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Sun Microsystems, Inc. -# Portions created by the Initial Developer are Copyright (C) 1999 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** -($#ARGV > 2) || die "Usage: make_mak.pl \n"; - -#Read CPP's to be recompiled - -if (open (MAK, $ARGV[0])) { - $empty = 0; - undef $/; - @file_list=split(/\n/, ); - close MAK; -} else { - $empty=1; -} - - -#Write new makefile - -open (MAK, ">".$ARGV[0]) || die "Can't open file $ARGV[0]: $!\n"; - -print MAK "# This file is generated automatically. Don't edit it !\n\n"; -print MAK "TOP_DIR=$ARGV[2]\n"; -print MAK "OBJ_DIR=$ARGV[3]\n"; -print MAK "INCLUDES=$ARGV[4]\n"; -print MAK "OS=$^O\n"; -if ($^O !~ /Win32/) { - print MAK "CC=".(($ENV{"CC"})?$ENV{"CC"}:"gcc")."\n"; - print MAK "C_FLAGS=".(($ENV{"USE_SUN_WS"} eq "1")?"-c -g -KPIC":"-c -fPIC -fno-rtti")."\n"; -} - -$ext = "mk"; -if ($^O =~ /Win32/) { $ext = "mak"; } -print MAK "include $ARGV[2]/build/compile.$ext\n"; -print MAK "CPP="; -if (!$empty) { print MAK " \\\n"; } else { print MAK "\n"; } -for ($i=0; $file = $file_list[$i]; $i++) { - chomp $file; - if ($i < $#file_list) { - print MAK "\t$file \\\n"; - } else { - print MAK "\t$file \n"; - } -} - -print MAK "all:"; -if (!$empty) { print MAK "\n\t\$\($ARGV[1]\) \$\(CPP\)\n"; } -close MAK; diff --git a/modules/oji/tests/build/mfgen.pl b/modules/oji/tests/build/mfgen.pl deleted file mode 100755 index b6eb19f656d..00000000000 --- a/modules/oji/tests/build/mfgen.pl +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/perl -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Sun Microsystems, Inc. -# Portions created by the Initial Developer are Copyright (C) 1999 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -#($#ARGV >= 0) || die "Usage: perl mfgen.pl \n"; - -$list = `ls *.cpp`; - -@filelist = split (/\n/, $list); - -print "TOP_DIR = ../../..\nOBJ_DIR = ../obj\nCPP ="; -foreach $file (@filelist) { - if ($file =~ /^.*?\.cpp$/) { - print " \\\n"; - print "\t$file"; - } -} - -print "\n\nOBJS ="; -foreach $file (@filelist) { - if ($file =~ /^(.*?)\.cpp$/) { - print " \\\n"; - print "\t\$\(OBJ_DIR\)\/$1.o"; - } -} -print "\n\nINCLUDES = -I..\/include \ninclude ..\/..\/..\/build\/rules.mk \nall: compile\n"; diff --git a/modules/oji/tests/build/rules.mak b/modules/oji/tests/build/rules.mak deleted file mode 100644 index 05e9c2c9c9a..00000000000 --- a/modules/oji/tests/build/rules.mak +++ /dev/null @@ -1,89 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Sun Microsystems, Inc. -# Portions created by the Initial Developer are Copyright (C) 1999 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -LIBS = nspr4.lib xpcom.lib oji.lib plc4.lib - -!if defined(MOZ_DEBUG) -LD_FLAGS = /LIBPATH:$(MOZILLA_HOME)/dist/WIN32_D.OBJ/lib \ - /LIBPATH:$(OBJ_DIR) -!else -LD_FLAGS = /LIBPATH:$(MOZILLA_HOME)/dist/WIN32_O.OBJ/lib \ - /LIBPATH:$(OBJ_DIR) -!endif - -ADD_CPP=@echo - -MAKE_MAK=perl $(TOP_DIR)/build/make_mak.pl - -!if exist(depend.mak) -include depend.mak -!endif - -objdir: -!if defined(OBJ_DIR) -!if !exist($(OBJ_DIR)) - @mkdir $(OBJ_DIR) -!endif -!endif - -del_cmd: -!if exist(cmd.mak) - @del cmd.mak -!endif - -compile: objdir del_cmd $(OBJS) - @$(MAKE_MAK) cmd.mak CC_OBJ $(TOP_DIR) $(OBJ_DIR) $(INCLUDES) - @nmake -nologo -f cmd.mak all - -link: - @link /NOLOGO /DEBUG $(LD_FLAGS) $(LIBS) $(OBJS) /DLL /OUT:$(OBJ_DIR)\$(DLL).dll - @cp obj/$(DLL).dll $(TOP_DIR)/build/bin -!if defined(MOZ_DEBUG) - @cp obj/$(DLL).dll $(TOP_DIR)/../../../dist/win32_d.obj/bin/components -!else - @cp obj/$(DLL).dll $(TOP_DIR)/../../../dist/win32_o.obj/bin/components -!endif - -make_depends: Makefile.win -!if !exist(depend.mak) -#it's convenient to add one more parameter - COMMON_DEPENDS -#which contain all common includes for particular interface tests - @perl $(TOP_DIR)/build/make_depends.pl $(OBJ_DIR) ADD_CPP $(CPP) -!endif - -clean: - @-del /f/s/q $(OBJ_DIR)\* cmd.mak depend.mak diff --git a/modules/oji/tests/build/rules.mk b/modules/oji/tests/build/rules.mk deleted file mode 100644 index 11f9624000f..00000000000 --- a/modules/oji/tests/build/rules.mk +++ /dev/null @@ -1,90 +0,0 @@ -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Sun Microsystems, Inc. -# Portions created by the Initial Developer are Copyright (C) 1999 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** -LIBS = -lnspr4 -lxpcom -loji -lplc4 -LD_PATH = -L$(MOZILLA_HOME)/dist/lib -L$(MOZILLA_HOME)/dist/bin/components -L$(OBJ_DIR) -LD_FLAGS_GCC=-shared -LD_FLAGS_WS=-G - -ADD_CPP=@echo - -MAKE_MAK=perl $(TOP_DIR)/build/make_mak.pl - -MAKE_DEPENDS=perl $(TOP_DIR)/build/make_depends.pl - -include depend.mak - -make_depends: Makefile - @if test ! -s depend.mak; then \ - $(MAKE_DEPENDS) $(OBJ_DIR) ADD_CPP $(CPP); \ - fi - -objdir: - @if test 'x$(OBJ_DIR)' != 'x'; then \ - if test ! -d $(OBJ_DIR); then \ - mkdir $(OBJ_DIR); \ - fi; \ - fi - -del_cmd: - @if test -f cmd.mak; then \ - rm cmd.mak; \ - fi - -ifndef MOZ_DEBUG -include $(MOZILLA_HOME)/config/autoconf.mk -endif - -compile: objdir del_cmd $(OBJS) - @-mv *.o $(OBJ_DIR) 2> /dev/null - @$(MAKE_MAK) cmd.mak CC_OBJ $(TOP_DIR) $(OBJ_DIR) $(INCLUDES) - @export MOZ_DEBUG; MOZ_DEBUG=$(MOZ_DEBUG); $(MAKE) -f cmd.mak all - @-mv *.o $(OBJ_DIR) 2> /dev/null - - -link: - @if test 'x$(USE_SUN_WS)' = 'x1'; then \ - $(CC) $(LD_FLAGS_WS) $(OBJS) $(LD_PATH) $(LIBS) -o $(OBJ_DIR)/lib$(DLL).so; \ - else \ - $(CC) $(LD_FLAGS_GCC) $(OBJS) $(LD_PATH) $(LIBS) -o $(OBJ_DIR)/lib$(DLL).so; \ - fi; - @cp obj/lib$(DLL).so $(TOP_DIR)/build/bin/. - @cp obj/lib$(DLL).so $(TOP_DIR)/../../../dist/bin/components/. - - - - - diff --git a/modules/oji/tests/build/test.html b/modules/oji/tests/build/test.html deleted file mode 100644 index 8f2a0f8ce66..00000000000 --- a/modules/oji/tests/build/test.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -

OJI API tests starting page.

-Results of tests execution could be found on the console and -in the appropriate output files. - - diff --git a/modules/oji/tests/doc/OjiAPITestcases.html b/modules/oji/tests/doc/OjiAPITestcases.html deleted file mode 100644 index be96f84a4a9..00000000000 --- a/modules/oji/tests/doc/OjiAPITestcases.html +++ /dev/null @@ -1,908 +0,0 @@ - - - - - - OJI Test Analysis - - - - - -

-OJI API Test Analysis

- -

-Table of Content

- - -How many  tests cases can be created? -

        A total of 323 test cases -can be written for testing OJI APIs . -
        Below is a list of OJI API -methods that are being implemented in -
       browser code for OJI and/or in -Kestrel code(for windows) . Each method under -
       an interface include details like -the number of possible test cases -
        and the possible test values. -At the end of interface there is a -
        total for the number of -test cases for this Interface. -
  -
     Note: -
     ==== -
       Interfaces nsIJRIPlugin.h , -nsISecureJNI.h  and nsISecureJNI2.h  are found -
      under the mozilla/modules/oji/public -directory of mozilla. -
      However these interfaces were not -included in the Kestrel include directory. -
       Also noticed that the methods -declared within nsISecureJNI.h  and nsISecureJNI2.h -
      under mozilla/modules/oji/public -directory -
      were all included in the nsISecureEnv.h -interface that is found in kestrel include directory -

    -
  • -Interface : nsIJVMManager
  • - -
    Method: -
            NS_IMETHOD CreateProxyJNI(nsISecureEnv -*secureEnv, JNIEnv * *outProxyEnv); -

    Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with NULL value and a NON NULL value for -both the parameters -

     Method: -
      NS_IMETHOD GetProxyJNI(JNIEnv * *outProxyEnv); -

      Implemented in :Kestrel code for windows -
      Number of test cases that can be written: 2 -
     Test cases will be written with NULL value and a NON NULL value -

    Method: -
    NS_IMETHOD IsJavaEnabled(PRBool *outEnabled); -

     Implemented in :Kestrel code for windows -
     Number of test cases that can be written: 2 -
     Test cases will be written with NULL value and a NON NULL value -

    Method: -
    NS_IMETHOD ShowJavaConsole(void); -

    Implemented in :Kestrel code for windows -
    Number of test cases that can be written: 1 -

    Total number of test cases for this Interface : 9 -
      -

  • -Interface : nsIJVMPluginInstance
  • - -
    Method: -
     NS_IMETHOD GetJavaObject(jobject *result) = 0; -

     Implemented in : Kestrel code for windows -
     Number of test cases that can be written: 3 -
     Test cases will be written with Empty String  , NULL string -and a NON NULL -
         String value for  the parameter -

     Method: -
       NS_IMETHOD  GetText(const char* *result) = 0; -

     Implemented in :mozilla and Kestrel code for windows -
      Number of test cases that can be written: 3 -
     Test cases will be written with Empty String  , NULL string -and a NON NULL -
           String value for  the parameter -

    Total number of test cases for this Interface : 6 -
      -

  • -Interface : nsIJVMPlugin
  • - -
    Method: -
     NS_IMETHOD AddToClassPath(const char* dirPath) = 0; -

     Implemented in :mozilla and Kestrel code for windows -
     Number of test cases that can be written: 3 -
     Test cases will be written with Empty String  , NULL string -and a NON NULL String value for  the parameter -

     Method: -
       NS_IMETHOD  GetClassPath(const char* *result) = 0; -

     Implemented in :mozilla and Kestrel code for windows -
      Number of test cases that can be written: 3 -
     Test cases will be written with Empty String  , NULL string -and a NON NULL String value for  the parameter -

    Method: -
    NS_IMETHOD  RemoveFromClassPath(const char* dirPath) = 0 ; -

    Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 3 -
    Test cases will be written with Empty String  , NULL string and -a NON NULL String value for  the parameter -

    Method: -
      NS_IMETHOD  GetJavaWrapper(JNIEnv* jenv, jint obj, jobject -*jobj) = 0; -

     Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 6 -
    Test cases will be written with  NULL and a NON NULL  value -for  the parameters jenv , jobj and min_value -
    and max_value for obj. -

    Method: -
      NS_IMETHOD  CreateSecureEnv(JNIEnv* proxyEnv, nsISecureEnv* -*outSecureEnv) = 0; -

     Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with  NULL and a NON NULL  value -for  the parameters -

    Method: -
      NS_IMETHOD  SpendTime(PRUint32 timeMillis) = 0; -

     Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with  min_value and max_value or the -unsigned int. -

    Total number of test cases for this Interface : 21 -
      -

  • -Interface : nsIJVMPluginTagInfo
  • - -
    Method: -
     NS_IMETHOD GetCode(const char* *result) = 0; -

     Implemented in :  mozilla -
     Number of test cases that can be written: 3 -
     Test cases will be written with Empty String  , NULL string -and a NON NULL String value for  the parameter -

     Method: -
       NS_IMETHOD  GetCodeBase(const char* *result) = 0; -

     Implemented in : mozilla -
      Number of test cases that can be written: 3 -
     Test cases will be written with Empty String  , NULL string -and a NON NULL String value for  the parameter -

    Method: -
     NS_IMETHOD GetArchive(const char* *result) = 0; -

     Implemented in :  mozilla -
     Number of test cases that can be written: 3 -
     Test cases will be written with Empty String  , NULL string -and a NON NULL String value for  the parameter -

     Method: -
       NS_IMETHOD  GetName(const char* *result) = 0; -

     Implemented in : mozilla -
      Number of test cases that can be written: 3 -
     Test cases will be written with Empty String  , NULL string -and a NON NULL String value for  the parameter -

    Method: -
       NS_IMETHOD  GetMayScript(PRBool *result) = 0; -

     Implemented in : mozilla -
      Number of test cases that can be written: 2 -
     Test cases will be written with true or false values. -

    Total number of test cases for this Interface : 14 -
      -

  • -Interface : nsIJVMPrefsWindow
  • - -
    Method: -
            NS_IMETHOD Show(void); -

    Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 1 -

    Method: -
            NS_IMETHOD  Hide(void); -

    Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 1 -

    Method: -
            NS_IMETHOD  IsVisisble(void); -

    Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 1 -

    Total number of test cases for this Interface : 3 -
      -

  • -Interface : nsIJVMWindow
  • - -
    Method: -
            NS_IMETHOD Show(void); -
           NS_IMETHOD  Hide(void); -
           IsVisisble(void); -

     All the methods in this interface are not implemented in the mozilla -
     code as well as the Kestrel code. So not sure if we need to test -these -
    methods. -
      -
      -

  • -Interface : nsILiveConnectManager
  • - -
    Method: -
     NS_IMETHOD StartupLiveConnect(JSRuntime* runtime, PRBool& -outStarted) = 0; -
     NS_IMETHOD ShutdownLiveConnect(JSRuntime* runtime, PRBool& -outStarted) = 0; -

    These 2 methods are not implemented in mozilla code for OJI as well -as Kestrel code -
    for windows. -

    Method: -
    NS_IMETHOD IsLiveConnectEnabled(PRBool& outEnabled) = 0;; -
     Implemented in :  mozilla code for OJI -

    Method: -
    NS_IMETHOD InitLiveConnectClasses(JSContext* context, JSObject* globalObject) -= 0; -
     Implemented in :  mozilla code for OJI -

    Method: -
    NS_IMETHOD WrapJavaObject(JSContext* context, jobject javaObject, JSObject* -*outJSObject) = 0; -
     Implemented in :  mozilla code for OJI. -

     I guess these methods get called from the mozilla main thread. -Hence -
    I do not know a way to force some values for the parameters in the -above -
     Number of test cases that can be written: NONE -

    Total number of test cases for this Interface : NONE -
      -

  • -Interface : nsIJVMConsole
  • - -
    Method: -
    NS_IMETHOD Show(void); -

    Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 1 -

    Method: -
            NS_IMETHOD  Hide(void); -

    Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 1 -

    Method: -
            NS_IMETHOD  IsVisisble(void); -

    Implemented in :mozilla and Kestrel code for windows -
    Number of test cases that can be written: 1 -

    Total number of test cases for this Interface : 3 -
      -
      -

  • -Interface : nsISecureEnv
  • - -
    Method: -
     NS_IMETHOD NewObject(/*[in]*/  jclass clazz, -
                             -/*[in]*/  jmethodID methodID, -
                             -/*[in]*/  jvalue *args, -
                             -/*[out]*/ jobject* result, -
                             -/*[in]*/  nsISecurityContext* ctx = NULL) = 0; -
    Implemented in:  mozilla and kestrel code for windows. -
    Number of test cases that can be written: 8 -
    Test cases will be written with Null and NON NULL values for  -clazz, methodID, -
                            -args, result. -

    Method: -
    NS_IMETHOD CallMethod(/*[in]*/  jni_type type, -
                              -/*[in]*/  jobject obj, -
                              -/*[in]*/  jmethodID methodID, -
                              -/*[in]*/  jvalue *args, -
                              -/*[out]*/ jvalue* result, -
                              -/*[in]*/  nsISecurityContext* ctx = NULL) = 0; -
    Implemented in:a mozilla and kestrel code for windows -
    Number of test cases that can be written: 10 -
    Test cases will be written with Null and NON NULL values for type , -
                      -obj, methodID , args , result -
      -

    Method: -
    NS_IMETHOD NS_IMETHOD CallNonvirtualMethod(/*[in]*/  jni_type -type, -
                                        -/*[in]*/  jobject obj, -
                                        -/*[in]*/  jclass clazz, -
                                        -/*[in]*/  jmethodID methodID, -
                                        -/*[in]*/  jvalue *args, -
                                        -/*[out]*/ jvalue* result, -
                                        -/*[in]*/  nsISecurityContext* ctx = NULL) =0; -

    Implemented in: mozilla and kestrel -
    Number of test cases that can be written: 12 -
    Test cases will be written with Null and NON NULL values for type , -
                      -obj, methodID , args , result -

    Method: -
    NS_IMETHOD GetField(/*[in]*/  jni_type type, -
                            -/*[in]*/  jobject obj, -
                            -/*[in]*/  jfieldID fieldID, -
                            -/*[out]*/ jvalue* result, -
                            -/*[in]*/  nsISecurityContext* ctx = NULL) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 8 -
    Test cases will be written with NULL and NON NULL values for type, -
              obj, fieldID -, result -

    Method: -
    NS_IMETHOD SetField(/*[in]*/ jni_type type, -
                            -/*[in]*/ jobject obj, -
                            -/*[in]*/ jfieldID fieldID, -
                            -/*[in]*/ jvalue val, -
                            -/*[in]*/ nsISecurityContext* ctx = NULL) = 0; -
    Implemented in: mozilla and kestrel -
    Number of test cases that can be written: 8 -
    Test cases will be written with NULL and NON NULL values for type, -
          obj, filedID , val. -

    Method: -
    NS_IMETHOD CallStaticMethod(/*[in]*/  jni_type type, -
                                    -/*[in]*/  jclass clazz, -
                                    -/*[in]*/  jmethodID methodID, -
                                    -/*[in]*/  jvalue *args, -
                                    -/*[out]*/ jvalue* result, -
                                    -/*[in]*/  nsISecurityContext* ctx = NULL) = 0; -
    Implemented in: mozilla and kestrel -
    Number of test cases that can be written:  10 -
    Test cases will be written with NULL and NON NULL values for type, -
    clazz , methodID, args , result. -

    Method: -
    NS_IMETHOD GetStaticField(/*[in]*/  jni_type type, -
                                  -/*[in]*/  jclass clazz, -
                                  -/*[in]*/  jfieldID fieldID, -
                                  -/*[out]*/ jvalue* result, -
                                  -/*[in]*/  nsISecurityContext* ctx = NULL) = 0; -
    Implemented in: mozilla and kestrel -
    Number of test cases that can be written: 8 -
    Test cases will be written with  NULL and NON NULL values for -type, -
        clazz, fieldID, result. -

    Method: -
    NS_IMETHOD SetStaticField(/*[in]*/ jni_type type, -
                                  -/*[in]*/ jclass clazz, -
                                  -/*[in]*/ jfieldID fieldID, -
                                  -/*[in]*/ jvalue val, -
                                  -/*[in]*/ nsISecurityContext* ctx = NULL) = 0; -
    Implemented in: mozilla and kestrel -
    Number of test cases that can be written: 8 -
    Test cases will be written with NULL and NON NULL values for type, -
        clazz, fieldID, result -

    Method: -
    NS_IMETHOD GetVersion(/*[out]*/ jint* version) = 0; -
    Implemented in: mozilla and kestrel -
    Number of test cases that can be written: 2 -
    Test cases will be written with max_value and min_value for -
     the machine dependent int. -

    Method: -
    NS_IMETHOD DefineClass(/*[in]*/  const char* name, -
                               -/*[in]*/  jobject loader, -
                               -/*[in]*/  const jbyte *buf, -
                               -/*[in]*/  jsize len, -
                               -/*[out]*/ jclass* clazz) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 10 -
    Test cases will be written with  Empty String string , NULL and -NON NULL string for name, -
    NULL and NON NULL values for loader , Empty String string , NULL and -NON NULL string for buf, -
     min_value and max_value for len -

    Method: -
    NS_IMETHOD FindClass(/*[in]*/  const char* name, -
                             -/*[out]*/ jclass* clazz) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written:  3 -
    Test cases will be written with Empty String string , -
    NULL and NON NULL string for name. -
      -

    Method: -
    NS_IMETHOD GetSuperclass(/*[in]*/  jclass sub, -
                                 -/*[out]*/ jclass* super) = 0; -
    Implemented in:mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with  NULL and NON NULL values for -sub , -
      -

    Method: -
    NS_IMETHOD IsAssignableFrom(/*[in]*/  jclass sub, -
                                    -/*[in]*/  jclass super, -
                                    -/*[out]*/ jboolean* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written withNULL and NON NULL values for sub, -
     NULL and NON NULL vlaues for  super . -
      -

    Method: -
    NS_IMETHOD Throw(/*[in]*/  jthrowable obj, -
                         -/*[out]*/ jint* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NON NULL values for obj -

    Method: -
    NS_IMETHOD ThrowNew(/*[in]*/  jclass clazz, -
                            -/*[in]*/  const char *msg, -
                            -/*[out]*/ jint* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 5 -
    Test cases will be written with  NULL and NON NULL values for -clazz, -
    empty string , Null string , Non null string values -

    Method: -
    NS_IMETHOD ExceptionOccurred(/*[out]*/ jthrowable* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 1 -
      -

    Method: -
    NS_IMETHOD ExceptionDescribe(void) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 1 -
      -

    Method: -
    NS_IMETHOD ExceptionClear(void) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 1 -
      -

    Method: -
    NS_IMETHOD FatalError(/*[in]*/ const char* msg) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written:  3 -
    Test cases will be written with Empty  string , NULL string and -NON NULL string -
    values for  msg -

    Method: -
    NS_IMETHOD NewGlobalRef(/*[in]*/  jobject lobj, -
                                -/*[out]*/ jobject* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NON NULL values for lobj -

    Method: -
    NS_IMETHOD DeleteGlobalRef(/*[in]*/ jobject gref) = 0; -
    Implemented in:mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with with NULL and NON NULL values for gref -

    Method: -
    NS_IMETHOD DeleteLocalRef(/*[in]*/ jobject obj) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NON NULL values for obj -

    Method: -
    NS_IMETHOD IsSameObject(/*[in]*/  jobject obj1, -
                                -/*[in]*/  jobject obj2, -
                                -/*[out]*/ jboolean* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with NULL and NON NULL values for -
    obj1  and obj2 -
      -

    Method: -
    NS_IMETHOD AllocObject(/*[in]*/  jclass clazz, -
                               -/*[out]*/ jobject* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NON NULL values for -
    clazz. -

    Method: -
    NS_IMETHOD GetObjectClass(/*[in]*/  jobject obj, -
                                  -/*[out]*/ jclass* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL nad NON NULL values  for -obj -

    Method: -
    NS_IMETHOD IsInstanceOf(/*[in]*/  jobject obj, -
                                -/*[in]*/  jclass clazz, -
                                -/*[out]*/ jboolean* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with NULL and NON NULL values for -
    obj, NULL and NON NULL values for clazz. -

    Method: -
    NS_IMETHOD GetMethodID(/*[in]*/  jclass clazz, -
                               -/*[in]*/  const char* name, -
                               -/*[in]*/  const char* sig, -
                               -/*[out]*/ jmethodID* id) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 8 -
    Test cases will be written with NULL and NON NULL values for class, -
    empty string , NULL String and NON NULL string values for name and -sig -

    Method: -
    NS_IMETHOD GetFieldID(/*[in]*/  jclass clazz, -
                              -/*[in]*/  const char* name, -
                              -/*[in]*/  const char* sig, -
                              -/*[out]*/ jfieldID* id) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 8 -
    Test cases will be written with NULL and NON NULL values for clazz, -
    empty string , NULL String and NON NULL string values for name and -sig -

    Method: -
    NS_IMETHOD GetStaticMethodID(/*[in]*/  jclass clazz, -
                                     -/*[in]*/  const char* name, -
                                     -/*[in]*/  const char* sig, -
                                     -/*[out]*/ jmethodID* id) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 8 -
    Test cases will be written with NULL and NON NULL values for clazz, -
    empty string , NULL String and NON NULL string values for name and -sig -

    Method: -
    NS_IMETHOD GetStaticFieldID(/*[in]*/  jclass clazz, -
                                    -/*[in]*/  const char* name, -
                                    -/*[in]*/  const char* sig, -
                                    -/*[out]*/ jfieldID* id) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 8 -
    Test cases will be written with NULL and NON NULL values for clazz, -
    empty string , NULL String and NON NULL string values for name and -sig -

    Method: -
    NS_IMETHOD NewString(/*[in]*/  const jchar* unicode, -
                             -/*[in]*/  jsize len, -
                             -/*[out]*/ jstring* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with NULL and NON NULL values for -
    unicode  and min and max_value for len -

    Method: -
    NS_IMETHOD GetStringLength(/*[in]*/  jstring str, -
                                   -/*[out]*/ jsize* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NON NULL values for str -

    Method: -
    NS_IMETHOD GetStringChars(/*[in]*/  jstring str, -
                                  -/*[in]*/  jboolean *isCopy, -
                                  -/*[out]*/ const jchar** result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with  NULL and NON NULL values for -str -
    and NULL and NON NULL values for chars -
      -
      -

    Method: -
    NS_IMETHOD ReleaseStringChars(/*[in]*/  jstring str, -
                                      -/*[in]*/  const jchar *chars) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with NULL and NON NULL values for str -
    and NULL and NON NULL values for chars -

    Method: -
    NS_IMETHOD NewStringUTF(/*[in]*/  const char *utf, -
                                -/*[out]*/ jstring* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NOT NULL values for utf -

    Method: -
    NS_IMETHOD GetStringUTFLength(/*[in]*/  jstring str, -
                                      -/*[out]*/ jsize* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NOT NULL values for str -

    Method: -
    NS_IMETHOD GetStringUTFChars(/*[in]*/  jstring str, -
                                     -/*[in]*/  jboolean *isCopy, -
                                     -/*[out]*/ const char** result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with NULL and NOT NULL values for str, -
    NULL and NOT NULL values for isCopy, empty string , NULL string . -
      -

    Method: -
    NS_IMETHOD ReleaseStringUTFChars(/*[in]*/  jstring str, -
                                         -/*[in]*/  const char *chars) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with NULL and NON NULLvalues for str and -chars -

    Method: -
    NS_IMETHOD GetArrayLength(/*[in]*/  jarray array, -
                                  -/*[out]*/ jsize* result) = 0; -
    Implemented in:  only kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NOT NULL values for array. -

    Method: -
    NS_IMETHOD NewObjectArray(/*[in]*/  jsize len, -
                                            -/*[in]*/  jclass clazz, -
                            -/*[in]*/  jobject init, -
                            -/*[out]*/ jobjectArray* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 6 -
    Test cases will be written with max and min_values for len, -
    NULL and NOT NULL values for clazz, NULL and NOT NULL values for init. -

    Method: -
    NS_IMETHOD GetObjectArrayElement(/*[in]*/  jobjectArray array, -
                                         -/*[in]*/  jsize index, -
                                         -/*[out]*/ jobject* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with NULL and NOT NULL values for array, -
    max and min_value for index -

    Method: -
    NS_IMETHOD SetObjectArrayElement(/*[in]*/  jobjectArray array, -
                                         -/*[in]*/  jsize index, -
                                         -/*[in]*/  jobject val) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 6 -
    Test cases will be written with NULL and NOT NULL values for  -array, -
    min and max_values for index and NULL and NOT NULL values for val -

    Method: -
    NS_IMETHOD NewArray(/*[in]*/ jni_type element_type, -
                            -/*[in]*/  jsize len, -
                            -/*[out]*/ jarray* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 4 -
    Test cases will be written with NULL and NOT NULL values for element_type -
    min and max_values for len -

    Method: -
    NS_IMETHOD GetArrayElements(/*[in]*/  jni_type type, -
                                    -/*[in]*/  jarray array, -
                                    -/*[in]*/  jboolean *isCopy, -
                                    -/*[out]*/ void* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written:6 -
    Test cases will be written with NULL and NOT NULL values for type, -
    NULL and NOT NULL values for array, NULL and NOT NULL values for isCopy -

    Method: -
    NS_IMETHOD ReleaseArrayElements(/*[in]*/ jni_type type, -
                                        -/*[in]*/ jarray array, -
                                        -/*[in]*/ void *elems, -
                                        -/*[in]*/ jint mode) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 8 -
    Test cases will be written with NULL and NOT NULL values for type -
    NULL and NOT NULL values for array , NULL and NOT NULL values for elems, -
    max and min values for mode -
      -

    Method: -
    NS_IMETHOD GetArrayRegion(/*[in]*/  jni_type type, -
                                  -/*[in]*/  jarray array, -
                                  -/*[in]*/  jsize start, -
                                  -/*[in]*/  jsize len, -
                                  -/*[out]*/ void* buf) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 6 -
    Test cases will be written with NULL and NOT NULL values for type, -
    max and min values for start and len -
      -
      -

    Method: -
    NS_IMETHOD SetArrayRegion(/*[in]*/  jni_type type, -
                                  -/*[in]*/  jarray array, -
                                  -/*[in]*/  jsize start, -
                                  -/*[in]*/  jsize len, -
                                  -/*[in]*/  void* buf) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 8 -
    Test cases will be written with NULL and NOT NULL valus for type, -
    NULL and NOT NULL values for array, min and max values for start , -len. -

    Method: -
    NS_IMETHOD RegisterNatives(/*[in]*/  jclass clazz, -
                                   -/*[in]*/  const JNINativeMethod *methods, -
                                   -/*[in]*/  jint nMethods, -
                                   -/*[out]*/ jint* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 6 -
    Test cases will be written with NULL and NOT NULL values for clazz, -JNINativeMethod, -
    min and max value for  nMethods -

    Method: -
    NS_IMETHOD UnregisterNatives(/*[in]*/  jclass clazz, -
                                     -/*[out]*/ jint* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NOT NULL values for clazz -

    Method: -
    NS_IMETHOD MonitorEnter(/*[in]*/  jobject obj, -
                                -/*[out]*/ jint* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written:2 -
    Test cases will be written with NULL and NOT NULL values for obj -

    Method: -
    NS_IMETHOD MonitorExit(/*[in]*/  jobject obj, -
                               -/*[out]*/ jint* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NOT NULL values for obj -

    Method: -
    NS_IMETHOD GetJavaVM(/*[in]*/  JavaVM **vm, -
                             -/*[out]*/ jint* result) = 0; -
    Implemented in: mozilla and kestrel code for windows -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NOT NULL values for vm -

    Total number of (possible) test cases for this Interface : 246 (phew..) -
    (May be even more ...) -
      -

  • -Interface : nsIThreadManager
  • - -
    Method: -
    NS_IMETHOD GetCurrentThread(PRUint32* threadID) = 0; -
    Implemented in: kestrel -
    Number of test cases that can be written: 2 -
    Test cases will be written with max and min values fro threadID -

    Method: -
    NS_IMETHOD Sleep(PRUint32 milli = 0) = 0; -
    Implemented in: mozilla -
    Number of test cases that can be written: 2 -
    Test cases will be written with max and min values for milli -

    Method: -
    NS_IMETHOD EnterMonitor(void* address) = 0; -
    Implemented in: mozilla -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NOT NULL values for address -
    tested) -

    Method: -
    NS_IMETHOD Wait(void* address, PRUint32 milli = 0) = 0; -
    Implemented in: mozilla -
    Number of test cases that can be written: 4 -
    Test cases will be writtenwith NULL and NOT NULL values for address -
    and min and max value for milli -

    Method: -
    NS_IMETHOD Notify(void* address) = 0; -
    Implemented in:mozilla -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NOT NULL values for address -
    (Not sure how this can be tested) -

    Method: -
    NS_IMETHOD NotifyAll(void* address) = 0; -
    Implemented in:mozilla -
    Number of test cases that can be written: 2 -
    Test cases will be written with NULL and NOT NULL values for address -
      -

    Method: -
    NS_IMETHOD CreateThread(PRUint32* threadID, nsIRunnable* runnable) -= 0; -
    Implemented in:mozilla -
    Number of test cases that can be written: 4 -
    Test cases will be written with min and max value for threadID and -NULL and NOT NULL -
    values for runnable. -

    Method: -
    NS_IMETHOD PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool -async) = 0; -
    Implemented in:mozilla and kestrel code for windows -
    Number of test cases that can be written: 6 -
    Test cases will be written with min and max value for threadID and -NULL and NOT NULL -
    values for runnable, true or false value for async -

    Total number of test cases for this Interface : 24 -
      -

    -2.5 Revision History.

    -
- - - - - - - - - - - - - - - - - - - - - -
-
Date
-
-
Version
-
-
Author
-
-
Description
-
  11/04/99 1.0 Geetha Vaidyanaathan  first draft
- -
    -
       
    -
- - - \ No newline at end of file diff --git a/modules/oji/tests/doc/OjiAPITestcases_oji.html b/modules/oji/tests/doc/OjiAPITestcases_oji.html deleted file mode 100644 index f5d9a34e965..00000000000 --- a/modules/oji/tests/doc/OjiAPITestcases_oji.html +++ /dev/null @@ -1,254 +0,0 @@ - - - OJI Test Analysis. Interfaces implemented by OJI module. - - -
-
-

-OJI API Test Analysis. Interfaces implemented by OJI module (excluding JNIEnv).

- -

-Table of Content

- - - -Interface : nsIJVMManager - - Method: - NS_IMETHOD CreateProxyJNI(nsISecureEnv *secureEnv, JNIEnv * *outProxyEnv); - - Number of test cases that can be written: 4 - Test cases will be written with NULL value and a NON NULL value for both the parameters - - Method: - NS_IMETHOD GetProxyJNI(JNIEnv * *outProxyEnv); - - Number of test cases that can be written: 3 - Test cases will be written with - - NULL value - - NON NULL value in cases when - - the CreateProxyJNI had already been called - - hadn't already been called - - Method: - NS_IMETHOD IsJavaEnabled(PRBool *outEnabled); - - Number of test cases that can be written: 3 - Test cases will be written with - - NULL value - - NON NULL value in cases when - - the Java is enabled - - there is not Java - - Method: - NS_IMETHOD ShowJavaConsole(void); - - Number of test cases that can be written: 2 - Test cases will be written in cases - - the Java is enabled - - there is not Java - - Total number of test cases for this Interface : 12 - - -Interface : nsILiveConnectManager - - Note: - Due to the complexity of some objects used as parameteres the - varying on this objects causes very big number of test cases, so - below are enumerated only first-level test cases on stability with NULL values. - - Method: - NS_IMETHOD StartupLiveConnect(JSRuntime* runtime, PRBool& outStarted); - - Test cases will be written with: - runtime: NULL value - outStarted: NULL and a NON NULL value - Number of test cases that can be written: 2 - - Method: - NS_IMETHOD ShutdownLiveConnect(JSRuntime* runtime, PRBool& outShutdown); - - Test cases will be written with: - runtime: NULL value - outShutdown: NULL and a NON NULL value - Number of test cases that can be written: 2 - - Method: - NS_IMETHOD IsLiveConnectEnabled(PRBool& outEnabled); - - Test cases will be written with NULL and a NON NULL value - Number of test cases that can be written: 2 - - Method: - NS_IMETHOD InitLiveConnectClasses(JSContext* context, JSObject* globalObject); - - Test cases will be written with NULL values - Number of test cases that can be written: 1 - - Method: - NS_IMETHOD WrapJavaObject(JSContext* context, jobject javaObject, JSObject* *outJSObject); - - Test cases will be written with: - context: NULL value - javaObject: NULL value - outJSObject: NULL and a NON NULL value - Number of test cases that can be written: 2 - - Total number of test cases for this Interface : 9 - - -Interface : nsIThreadManager - - Method: - NS_IMETHOD GetCurrentThread(nsPluginThread* *threadID); - - Number of test cases that can be written: 2 - Test cases will be written with NULL and NON NULL values - - Method: - NS_IMETHOD Sleep(PRUint32 milli = 0); - - Number of test cases that can be written: 2 - Test cases will be written with max and min values for milli - - Method: - NS_IMETHOD EnterMonitor(void* address); - - Number of test cases that can be written: 4 - Test cases will be written with - - NULL value - - NOT NULL values in cases when this monitor - - is free - - is already entered by this thread - - is entered by another thread - - Method: - NS_IMETHOD ExitMonitor(void* address); - - Number of test cases that can be written: 4 - Test cases will be written with - - NULL value - - NOT NULL values in cases when this monitor - - is free - - is already entered by this thread - - is entered by another thread - - Method: - NS_IMETHOD Wait(void* address, PRUint32 milli = 0); - - Number of test cases that can be written: 4 - Test cases will be written with - - NULL value for address and some value for milli - - NOT NULL values for address (when entered) - - and min - - and max value for milli - - NOT NULL values for address (when non-entered) and some value for milli - - Method: - NS_IMETHOD Notify(void* address); - - Number of test cases that can be written: 4 - Test cases will be written with - - NULL value - - NOT NULL values in cases when this monitor - - isn't entered by this thread - - is already entered by this thread and there are waiting threads - - is already entered by this thread and there are not waiting threads - - Method: - NS_IMETHOD NotifyAll(void* address); - - Number of test cases that can be written: 4 - Test cases will be written with - - NULL value - - NOT NULL values in cases when this monitor - - isn't entered by this thread - - is already entered by this thread and there are waiting threads - - is already entered by this thread and there are not waiting threads - - Method: - NS_IMETHOD CreateThread(PRUint32* threadID, nsIRunnable* runnable); - - Number of test cases that can be written: 4 - Test cases will be written with NULL and NOT NULL values for threadID and NULL and NOT NULL - values for runnable. - - Method: - NS_IMETHOD PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async); - - Number of test cases that can be written: 6 - Test cases will be written with: - threadID: for existent and not-existent thread - runnable: NULL and NOT NULL - async: true and false - - Total number of test cases for this Interface : 30 - - -Interface : nsIJVMPluginTagInfo - - Method: - NS_IMETHOD GetCode(const char* *result); - - Number of test cases that can be written: 3 - Test cases will be written with - - NULL value - - NON NULL value in cases when return value - - should be empty - - and non-empty - - Method: - NS_IMETHOD GetCodeBase(const char* *result); - - Number of test cases that can be written: 3 - Test cases will be written with - - NULL value - - NON NULL value in cases when return value - - should be empty - - and non-empty - - Method: - NS_IMETHOD GetArchive(const char* *result); - - Number of test cases that can be written: 3 - Test cases will be written with - - NULL value - - NON NULL value in cases when return value - - should be empty - - and non-empty - - Method: - NS_IMETHOD GetName(const char* *result); - - Number of test cases that can be written: 3 - Test cases will be written with - - NULL value - - NON NULL value in cases when return value - - should be empty - - and non-empty - - Method: - NS_IMETHOD GetMayScript(PRBool *result); - - Number of test cases that can be written: 3 - Test cases will be written with - - NULL value - - NON NULL value in cases when return value - - should be true - - and false - - Total number of test cases for this Interface : 15 - - - - -
-
-
\ No newline at end of file
diff --git a/modules/oji/tests/doc/OjiAPITestcases_oji_JNIEnv.html b/modules/oji/tests/doc/OjiAPITestcases_oji_JNIEnv.html
deleted file mode 100644
index 509eb4ddc1e..00000000000
--- a/modules/oji/tests/doc/OjiAPITestcases_oji_JNIEnv.html
+++ /dev/null
@@ -1,3221 +0,0 @@
-
-
-
-   
-   
-   OJI Test Analysis. Interfaces implemented by OJI module. JNIEnv. 
-
-
-
-

-OJI API Test Analysis. Interfaces implemented by OJI module. JNIEnv.

-Important note concerning JNI testing (from JNI specification): -

Reporting Programming Errors -

The JNI does not check for programming errors such -as passing in NULL pointers or illegal argument types. Illegal argument -
types includes such things as using a normal Java -object instead of a Java class object. The JNI does not check for these -
programming errors for the following reasons: -

      Forcing JNI functions -to check for all possible error conditions degrades the performance of -normal (correct) native -
      methods. -
      In many cases, there -is not enough runtime type information to perform such checking. -

Most C library functions do not guard against programming -errors. The printf() function, for example, usually causes a -
runtime error, rather than returning an error code, -when it receives an invalid address. Forcing C library functions to check -for -
all possible error conditions would likely result -in such checks to be duplicated--once in the user code, and then again -in the -
library. -

The programmer must not pass illegal pointers or arguments -of the wrong type to JNI functions. Doing so could result in -
arbitrary consequences, including a corrupted system -state or VM crash. -

So the purposes of  testing OJI JNI implementation -are next: -
- checking on correctnesses in "normal" cases -
- checking that this implementation (that is really wrapper  -on implementation provided by Java Plugin) is not degrading the provided -implementation in "negative" cases -
  -

Testcases description: -

jint GetVersion(); -
Test cases number: 1 -

jclass DefineClass(jobject loader, const jbyte *buf, jsize -bufLen); -
Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
loaderbufbufLenExpected result
NON NULLcorrectly formedcorrectClass correctly defined
-incorrectly formed-NULL
-NULL-NULL
NULLcorrectly formed-NULL
- -

Test cases number: 4 -

jclass FindClass(const char *name); -
Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
nameExpected result
Name of existing classCorrect class is found
With array signature character ("[")Correct class is found
Name of existing interfaceCorrect class is found
Name of existing abstract classCorrect class is found
Name of non-existing classNULL
Empty stringNULL
NULLNULL
- -

Test cases number: 7 -

jclass GetSuperclass(jclass clazz); -
Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazzExpected result
Any class (not java.lang.Object)superclass
java.lang.ObjectNULL
interfaceNULL
NULLNULL
- -

Test cases number: 4 -

jboolean IsAssignableFrom(jclass clazz1, jclass clazz2); -
Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazz1clazz2Expected result
Any classthe same classJNI_TRUE
Subclass of the clazz2Any classJNI_TRUE
Implements the clazz2Any interfaceJNI_TRUE
Any classAny class that isn't the superclass of clazz1JNI_FALSE
NULLNULLJNI_FALSE
- -

Test cases number: 5 -

jint Throw(jthrowable obj); -
Combinations: -
  - - - - - - - - - - - - - - - - - - -
objExpected result
Instance of any subclass of throwable0, should be really thrown
NULLnegative, should not be thrown
- -

Test cases number: 2 -

jint ThrowNew(jclass clazz, const char *message); -
Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazzmessageExpected result
Any subclass of throwablesome non-empty message0, should be really thrown
-empty message0, should be really thrown
-NULL0, should be really thrown
Isn't subclass of throwablesome non-empty messagenegative, should not be thrown
NULLNULLnegative, should not be thrown
- -

Test cases number: 5 -

jthrowable ExceptionOccurred(); -
Combinations: -
  - - - - - - - - - - - - - - - - - - -
Expected result
there exception is being thrownthe being thrown object
no exception is currently being thrownNULL
- -

Test cases number: 2 -

void ExceptionDescribe(); -
Combinations: -
  - - - - - - - - - - - - - - - - - - -
Expected result
there exception is being thrownthe exception is printed
no exception is currently being thrownno effect
- -

Test cases number: 2 -

void ExceptionClear(); -
Combinations: -
  - - - - - - - - - - - - - - - - - - -
Expected result
there exception is being thrownthe exception is cleared
no exception is currently being thrownno effect
- -

Test cases number: 2 -

void FatalError(const char *msg); -
Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - -
msgExpected result
the non-empty messagethe function doesn't return, crash
the empty messagethe function doesn't return, crash
NULLthe function doesn't return, crash
- -

Test cases number: 3 -

jobject NewGlobalRef(jobject obj); -
Combinations: -
  - - - - - - - - - - - - - - - - - - -
objExpected result
some jobjectnew global ref
NULL?(NULL)
- -

Test cases number: 2 -

void DeleteGlobalRef(jobject globalRef); -
Combinations: -
  - - - - - - - - - - - - - - - - - - -
globalRefExpected result
Some jobject  returned as new global refglobal ref is deleted
NULLno effect
- -

Test cases number: 2 -

void DeleteLocalRef(jobject localRef); -
Combinations: -
  - - - - - - - - - - - - - - - - - - -
localRefExpected result
some jobjectlocal ref is deleted
NULLno effect
- -

Test cases number: 2 -

jobject AllocObject(jclass clazz); -
Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazzExpected result
Any non-abstract classreference on newly constructed java object
abstract classNULL, InstantiationException is thrown
interfaceNULL, InstantiationException is thrown
NULLNULL
- -

Test cases number: 4 -

jobject NewObject(jclass clazz, jmethodID methodID, ...); -

jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue -*args); -

jobject NewObjectV(jclass clazz, jmethodID methodID, va_list -args); -

Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazzmethodIDargsExpected result
Any non-abstract classID of public, private, package visible or protected constructor -with no argsNo argumentsreference on new object
-ID of public constructor that throws exception-reference on new object, exception is thrown
-ID of public with args (all primitive and Object)required argsreference on new object
-non-constructor method ID-NULL
Abstract class--NULL, InstantiationException is thrown
NULL--NULL
- -

Test cases number for every method: 9 -
Test cases number: 27 -

jclass GetObjectClass(jobject obj); -
Combinations: -
  - - - - - - - - - - - - -
objExpected result
Some jobject it's class 
- -

Test cases number: 1 -

jboolean IsInstanceOf(jobject obj, jclass clazz); -
Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
objclazzExpected result
some jobjectit's classJNI_TRUE
-it's superclassJNI_TRUE
-class that isn't it's class or superclassJNI_FALSE
NULLany classJNI_TRUE
NULLNULL?(JNI_TRUE)
- -

Test cases number: 5 -

jboolean IsSameObject(jobject ref1, jobject ref2); -
Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ref1ref2Expected result
some reference on the Java objectreference on the same objectJNI_TRUE
-reference on other objectJNI_FALSE
-NULLJNI_FALSE
NULLNULLJNI_TRUE
- -

Test cases number: 4 -

jfieldID GetFieldID(jclass clazz, const char *name, const -char *sig); -
Combinations (based on next variations): -
Field types: -
boolean -
byte -
char -
short -
int -
long -
float -
double -
object(non-array) -
array -

Access modifiers: -
public -
protected -
no modifier - package -
private -

Other modifiers: -
no-modifier -
final -
transient -
volatile -

Inherited from: -
not inherited -
superclass -

So the <selected> combinations for variable will be -(note: the {other modifiers} will not be combined -
one with another): -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number
{Field types}publicno-modifiernot inherited10
{int, object}{access modifiers}no-modifier{inherited from}16
{int, object}public{other modifiers}not inherited8
-Total: 34 - 4(intersection)=30 -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazznamesigExpected result
some class<selected> existing variable appropriatefield ID, except the cases of private in superclass -  -
NULL will be in such cases
-non-existing some sigNULL
-existingsome incorrect sigNULL
-NULLsome sigNULL
-existingNULLNULL
NULLsome namesome sigNULL
- -

Test cases number: 35 -

NativeType Get<type>Field(jobject obj, jfieldID fieldID); -

The test cases for these methods are the testcases of -GetFieldID method where correct field ID should be returned with varying -on field values. Concerning the "negative" cases: it is explicitly specified -what parameters should be valid. -
Values variations: -
jboolean: JNI_TRUE, JNI_FALSE -
jbyte: min, max -
jchar: some of ASCII (only 1st byte is significant), -some character  with 2 significant bytes -
jshort: min, max -
jint: min, max -
jlong: min, max -
jfloat: min, max -
jdouble: min, max -
jobject(non-array): NULL, NON-NULL -
jarray: NULL, NON-NULL -

Test cases number: 58 -
  -

void Set<type>Field(jobject obj, jfieldID fieldID, -NativeType value); -

In addition to the possible variations of the variable -the next variations can be used for values of -
different types: -
Values variations: -
jboolean: JNI_TRUE, JNI_FALSE -
jbyte: min, max -
jchar: some of ASCII (only 1st byte is significant), -some character  with 2 significant bytes -
jshort: min, max -
jint: min, max -
jlong: min, max -
jfloat: min, max -
jdouble: min, max -
jobject(non-array): NULL, NON-NULL -
jarray: NULL, NON-NULL -
  -
  - - - - - - - - - - - - - - - - - - - - -
objfieldIDvalueExpected result
some objvalid fieldID for variable from <selected> (where -it possible, i.e. except the cases of private in superclass ) corresponding to variable type from   {values -variations}The value will be correctly set, except the cases of -final.
- -

Note concerning the "negative" cases with obj and fieldID -parameters: it is specified what this parameters should be valid. -

Test cases number: 58 -

jmethodID GetMethodID(jclass clazz, const char *name, -const char *sig); -
Combinations (based on next variations): -
Class: -
non-abstract -
abstract -
interface -

Access modifiers: -
public -
protected -
no modifier - package -
private -

Other modifiers: -
no-modifier -
final -
synchronized -
native -
abstract -

Inherited from: -
not inherited -
superclass -
interface -

So the <selected> methods will be: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number
interfacenot inherited and  -
inherited from superinterface
2
abstract classinherited from interface1
abstract classexcept privateabstractnot inherited and  -
inherited from superclass
6
non-abstract{access modifiers}no-modifiernot inherited and  -
inherited from superclass
8
non-abstractpublicexcept abstractnot inherited4
non-abstractpublicno-modifieroverride1
constructor in abstract and non-abstract{access modifiers}no-modifiernot inherited8
-Total: 30-1(intersection)=29 -

Varying on signatures: -
"()V" -
"(ZBCLSIJFDL<some class>;[L<some class>;)V" -
"(ZBCLSIJFDL<some class>;[L<some class>;)I" -
"(ZBCLSIJFDL<some class>;[L<some class>;)L<some -class>;" -
"(ZBCLSIJFDL<some class>;[L<some class>;)[L<some -class>;" -
So in <selected> set will be added these varying for -public non-inherited method of non-abstract class. -
Total: +5 -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazznamesigExpected result
some classname of the existing method from <selected>correct signatureMethod ID, except the cases of private in superclass -- NULL should be returned in these cases
name of non-existing methodsome sigNULL
name of existing methodincorrect sigNULL
NULLsome sigNULL
name of existing methodNULLNULL
NULLsome namesome sigNULL
-Test cases number:  39 -
  -

NativeType Call<type>Method(jobject obj, jmethodID -methodID, ...); -

NativeType Call<type>MethodA(jobject obj, jmethodID -methodID, jvalue *args); -

NativeType Call<type>MethodV(jobject obj, jmethodID -methodID, va_list args); -

Combinations: -
Note: The implementation under testing wrapes the nsISecureEnv -that  exports the only one CallMethod which accepts the arguments -in the form of jvalue* and is used for implementation of all these methods. -So the <selected> combinations (based on modifiers/inheritance) from -GetMethodID method will be used only with one method - CallIntMethod. The -combinations based on varying on values will be used for all 3 set of methods. -
<selected> combinations (based on modifiers/inheritance) -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number
non-abstract{access modifiers}no-modifiernot inherited and  -
inherited from superclass
8
non-abstractpublicexcept abstractnot inherited4
non-abstractpublicno-modifieroverride1
- -

Values variations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Combination 1Combination 2
jbooleanJNI_TRUEJNI_FALSE
jbyteminmax
jcharsome of ASCII (only 1st byte is significant)some character  with 2 significant bytes
jshortminmax
jintminmax
jlongminmax
jfloatminmax
jdoubleminmax
jobject(non-array)NULLNON-NULL
jarrayNULLNON-NULL
Return values for methods
<type> is BooleanJNI_TRUEJNI_FALSE
<type> is Byteminmax
<type> is Charsome of ASCII (only 1st byte is significant)some character  with 2 significant bytes
<type> is Shortminmax
<type> is Intminmax
<type> is Longminmax
<type> is Floatminmax
<type> is Doubleminmax
<type> is ObjectNULLNON-NULL
<type> is ObjectNULL jarrayNON-NULL jarray
<type> is Void--
- -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
objjmethodIDargsExpected resultNumber
some objCallIntMethodID of <selected> method with signature "(ZBCLSIJFDL<some -class>;[L<some class>;)I"some argscorresponding result12
some objCall<type>Method -
Call<type>MethodA -
Call<type>MethodV
ID of public non-inherited method with signature "(ZBCLSIJFDL<some -class>;[L<some class>;)?" where ? is run on the all set of possibilities Combination 1 and 2corresponding result66
some objCallIntMethod -
CallIntMethodA -
CallIntMethodV
ID of public non-inherited method with signature "()I" corresponding result3
some objCallIntMethod -
CallIntMethodA -
CallIntMethodV
ID of public non-inherited method that throws exceptionException should be thrown3
some objCallIntMethodID of public inherited method which was received using -superclasscorresponding result1
- -

Number of test cases: 84 -
  -

NativeType CallNonvirtual<type>Method(jobject obj, -jclass clazz, jmethodID methodID, ...); -

NativeType CallNonvirtual<type>MethodA(jobject obj, -jclass clazz, jmethodID methodID, jvalue *args); -

NativeType CallNonvirtual<type>MethodV(jobject obj, -jclass clazz, jmethodID methodID, va_list args); -

Combinations: -
Note: things concerning inheritance are pointed out for -clazz parameter (for example if it is said "non-inherited method" then -it means that this method is defined in clazz) -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
objclazzjmethodIDargsExpected resultNumber
some objsuperclass, -
overriding methods exist in the class of the obj
CallNonvirtualIntMethodID of <selected> method with signature "(ZBCLSIJFDL<some -class>;[L<some class>;)I"some argscorresponding result12
some objthe  class of the objectCallNonvirtualIntMethodID of the overriding methods  in the previous row -of this tablesome argscorresponding result12
some objsuperclassCallNonvirtual<type>Method -
CallNonvirtual<type>MethodA -
CallNonvirtual<type>MethodV
ID of public non-inherited method with signature "(ZBCLSIJFDL<some -class>;[L<some class>;)?" where ? is run on the all set of possibilities Combination 1 and 2corresponding result66
some objsuperclassCallNonvirtualIntMethod -
CallNonvirtualIntMethodA -
CallNonvirtualIntMethodV
ID of public non-inherited method with signature "()I" corresponding result3
some objsuperclassCallNonvirtualIntMethod -
CallNonvirtualIntMethodA -
CallNonvirtualIntMethodV
ID of public non-inherited method that throws exceptionException should be thrown3
- -

Number of test cases: 96 -

jfieldID GetStaticFieldID(jclass clazz, const char *name, -const char *sig); -
Combinations (based on next variations): -
Field types: -
boolean -
byte -
char -
short -
int -
long -
float -
double -
object(non-array) -
array -

Access modifiers: -
public -
protected -
no modifier - package -
private -

Other modifiers: -
no-modifier -
final -
transient -
volatile -

Inherited from: -
not inherited -
superclass -
interface -

So the <selected> combinations for static variable -will be (note: the {other modifiers} will not be combined -
one with another): -
For classes: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number
{Field types}publicno-modifiernot inherited10
{int, object}{access modifiers}no-modifierinherited from superclass and not inherited16
{int, object}inherited from interface2
{int, object}public{other modifiers}not inherited8
-Total: 36 - 4(intersection)=32 -
For interfaces will be considered 4 cases: {int, object} -inherited and not-inherited from superinterface -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazznamesigExpected result
some class<selected> existing variable appropriatefield ID, except the cases of private in superclass -  -
NULL will be in such cases
-non-existing some sigNULL
-existingsome incorrect sigNULL
-NULLsome sigNULL
-existingNULLNULL
NULLsome namesome sigNULL
- -

Note: to check the correctnesses of received field ID -the GetStatic<type>Field methods will be used. So it will also be  -the tests on these methods. -

Test cases number: 41 -
  -

NativeType GetStatic<type>Field(jclass clazz, jfieldID -fieldID); -

The test cases for these methods are the testcases of -GetStaticFieldID method where correct field ID should be returned with -varying on field values. Concerning the "negative" cases: it is fully undefined -cases. -

Test cases number: 70 -

void SetStatic<type>Field(jclass clazz, jfieldID fieldID, -NativeType value); -

In addition to the possible variations of the variable -based on its type/modifiers/inheritance the next variations can be used -for values of -
different types: -
Values variations: -
jboolean: JNI_TRUE, JNI_FALSE -
jbyte: min, max -
jchar: some of ASCII (only 1st byte is significant), -some character  with 2 significant bytes -
jshort: min, max -
jint: min, max -
jlong: min, max -
jfloat: min, max -
jdouble: min, max -
jobject(non-array): NULL, NON-NULL -
jarray: NULL, NON-NULL -
  -
  - - - - - - - - - - - - - - - - - - - - -
objfieldIDvalueExpected result
some objvalid fieldID for variable from <selected> (where -it possible, i.e. except the cases of private in superclass ) corresponding to variable type from   {values -variations}The value will be correctly set, except the cases of -final (including interface cases).
- -

Note concerning the "negative" cases with obj and fieldID -parameters:  it is fully undefined cases. -

Test cases number: 58 -

jmethodID GetStaticMethodID(jclass clazz, const char *name, -const char *sig); -

Access modifiers: -
public -
protected -
no modifier - package -
private -

Other modifiers: -
no-modifier -
final -
synchronized -
native -

Inherited from: -
not inherited -
superclass -
  -

So the <selected> methods will be: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number
{access modifiers}no-modifiernot inherited and  -
inherited from superclass
8
public{other modifiers}not inherited4
publicno-modifieroverride1
-Total: 12 -

Varying on signatures: -
"()V" -
"(ZBCLSIJFDL<some class>;[L<some class>;)V" -
"(ZBCLSIJFDL<some class>;[L<some class>;)I" -
"(ZBCLSIJFDL<some class>;[L<some class>;)L<some -class>;" -
"(ZBCLSIJFDL<some class>;[L<some class>;)[L<some -class>;" -
So in <selected> set will be added these varying for -public non-inherited method. -
Total: +5 -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazznamesigExpected result
some classname of the existing method from <selected>correct signatureMethod ID, except the cases of private in superclass -- NULL should be returned in these cases
name of non-existing methodsome sigNULL
name of existing methodincorrect sigNULL
NULLsome sigNULL
name of existing methodNULLNULL
NULLsome namesome sigNULL
-Test cases number:  22 -

NativeType CallStatic<type>Method(jclass clazz, jmethodID -methodID, ...); -

NativeType CallStatic<type>MethodA(jclass clazz, jmethodID -methodID, jvalue *args); -

NativeType CallStatic<type>MethodV(jclass clazz, jmethodID -methodID, va_list args); -

Note: The implementation under testing wrapes the nsISecureEnv -that  exports the only one CallStaticMethod which accepts the arguments -in the form of jvalue* and is used for implementation of all these methods. -So the <selected> combinations (based on modifiers/inheritance) from -GetStaticMethodID method will be used only with one method - CallStaticIntMethod. -The combinations based on varying on values will be used for all 3 set -of methods. -
<selected> combinations (based on modifiers/inheritance) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number
{access modifiers}no-modifiernot inherited and  -
inherited from superclass
8
public{other modifiers}not inherited4
publicno-modifieroverride1
- -

Values variations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Combination 1Combination 2
jbooleanJNI_TRUEJNI_FALSE
jbyteminmax
jcharsome of ASCII (only 1st byte is significant)some character  with 2 significant bytes
jshortminmax
jintminmax
jlongminmax
jfloatminmax
jdoubleminmax
jobject(non-array)NULLNON-NULL
jarrayNULLNON-NULL
Return values for methods
<type> is BooleanJNI_TRUEJNI_FALSE
<type> is Byteminmax
<type> is Charsome of ASCII (only 1st byte is significant)some character  with 2 significant bytes
<type> is Shortminmax
<type> is Intminmax
<type> is Longminmax
<type> is Floatminmax
<type> is Doubleminmax
<type> is ObjectNULLNON-NULL
<type> is ObjectNULL jarrayNON-NULL jarray
<type> is Void--
- -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazzjmethodIDargsExpected resultNumber
some classCallStaticIntMethodID of <selected> method with signature "(ZBCLSIJFDL<some -class>;[L<some class>;)I"some argscorresponding result12
some classCallStatic<type>Method -
CallStatic<type>MethodA -
CallStatic<type>MethodV
ID of public non-inherited method with signature "(ZBCLSIJFDL<some -class>;[L<some class>;)?" where ? is run on the all set of possibilities Combination 1 and 2corresponding result66
some classCallStaticIntMethod -
CallStaticIntMethodA -
CallStaticIntMethodV
ID of public non-inherited method with signature "()I" corresponding result3
some classCallStaticIntMethod -
CallStaticIntMethodA -
CallStaticIntMethodV
ID of public non-inherited method that throws exceptionException should be thrown3
- -

Number of test cases: 84 -

jstring NewString(const jchar *unicodeChars, jsize len); -

Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
unicodeCharslenExpected result
NULL0NULL
correct pointer0empty string
correct pointercorrect lengthcorrect string
- -

Number of test cases: 3 -

jsize GetStringLength(jstring string); -

Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - -
stringExpected result
non-empty string objectcorrect length
empty string object0
NULL0
- -

Number of test cases: 3 -

const jchar * GetStringChars(jstring string, jboolean -*isCopy); -

Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
stringisCopyExpected result
non-empty string objectNON-NULLcorrect pointer, some value in isCopy
empty string objectNON-NULLcorrect pointer, some value in isCopy
NULLNON-NULLNULL
non-empty string objectNULLcorrect pointer
- -

Number of test cases: 4 -

void ReleaseStringChars(jstring string, const jchar *chars); -

Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - -
stringcharsExpected result
string objectcorrect pointer
NULLNULL?(no crash)
- -

Number of test cases: 2 -

jstring NewStringUTF(const char *bytes); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - -
bytesExpected result
non-empty stringcorrect string object
empty stringcorrect empty string object
NULLNULL
- -

Number of test cases: 3 -

jsize GetStringUTFLength(jstring string); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - -
stringExpected result
non-empty stringcorrect length
empty stringcorrect length
NULL0
- -

Number of test cases: 3 -

const char* GetStringUTFChars(jstring string, jboolean -*isCopy); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
stringisCopyExpected result
non-empty string objectNON-NULLcorrect pointer, some value in isCopy
empty string objectNON-NULLcorrect pointer, some value in isCopy
NULLNON-NULLNULL
non-empty string objectNULLcorrect pointer
- -

Number of test cases: 4 -

void ReleaseStringUTFChars(jstring string, const char -*utf); -

Combinations - - - - - - - - - - - - - - - - - - - - - - - - -
stringutfExpected result
string objectcorrect pointer
NULLNULL?(no crash)
- -

Number of test cases: 2 -

jsize GetArrayLength(jarray array); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - -
arrayExpected result
non-empty arraylength
empty0
NULL0
- -

Number of test cases: 3 -

jarray NewObjectArray(jsize length, jclass elementClass, -jobject initialElement); -

Combinations: -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
lengthelementClassinitialElementExpected result
0some classsome object of classempty array
> 0 some classsome object of classcorrect array
>0some classNULLcorrect array
<0some classsome object of classNULL
> 0some class some object of inconsistent classNULL
>0NULLsome objectNULL
- -

Number of test cases: 6 -

jobject GetObjectArrayElement(jobjectArray array, jsize -index); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
arrayindexExpected result
some arrayinside boundscorrect element in cases NULL and NON-NULL
some array<0 and => lengthArrayIndexOutOfBoundsException should be thrown
NULLsome valueNULL
- -

Number of test cases: 5 -

void SetObjectArrayElement(jobjectArray array, jsize index, -jobject value); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
arrayindexvalueExpected result
some arrayinside boundssome value of correct classelement will be set
some arrayinside boundsNULLelement will be set
some array<0 and => lengthsome value of correct classArrayIndexOutOfBoundsException should be thrown
some arrayinside boundssome value of incorrect classArrayStoreException should be thrown
- -

Number of test cases: 5 -
  -

ArrayType New<PrimitiveType>Array(jsize length); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - -
lengthExpected result
<0NULL
00-length array
>0 correct array
- -

Number of test cases: 24 -

NativeType *Get<PrimitiveType>ArrayElements(ArrayType -array, jboolean *isCopy); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
arrayisCopyExpected result
some non-empty arrayNON-NULLcorrect array of native types, isCopy value is set
some non-empty arrayNULLcorrect array of native types
NULLNON-NULLNULL
- -

Number of test cases: 24 -

void Release<PrimitiveType>ArrayElements(ArrayType -array, NativeType *elems, jint mode); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
arrayelemsmodeExpected result
some arraycorrect pointer 0changes reflected, buffer freed
some arraycorrect pointerJNI_COMMITchanges reflected, buffer isn't freed if was a copy
some arraycorrect pointerJNI_ABORTonly buffer freed if was a copy
- -

Number of test cases: 24 -

void Get<PrimitiveType>ArrayRegion(ArrayType array, -jsize start, jsize len, NativeType *buf); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
arraystartlenbufExpected result
some arrayinside boundsstart+len inside boundscorrectcorrect elements are copied
some array of Int type<0 or start+len=>lengthcorrectArrayIndexOutOfBoundsException should be thrown
NULL for Int methodnothing should be copied
some array of Int typeinside boundsstart+len inside boundsNULLnothing should be copied
- -

Number of test cases: 8+3=10 -

void Set<PrimitiveType>ArrayRegion(ArrayType array, -jsize start, jsize len, NativeType *buf); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
arraystartlenbufExpected result
some arrayinside boundsstart+len inside boundscorrectcorrect elements are copied
some array of Int type<0 or start+len=>lengthcorrectArrayIndexOutOfBoundsException should be thrown
NULL for Int methodnothing should be copied
some array of Int typeinside boundsstart+len inside boundsNULLnothing should be copied
- -

Number of test cases: 8+3=10 -

jint RegisterNatives(jclass clazz, const JNINativeMethod -*methods, jint nMethods); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
clazzmethodsnMethodsExpected result
some class2-3 correct method structurescorrect0, methods should be bound
some classincorrect method structure: -
unexistent name, -
incorrect signature
correctnegative value, NoSuchMethodError should be thrown
some classNULL0?(0, nothing to bound)
- -

Number of test cases: 4 -

jint UnregisterNatives(jclass clazz); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - -
clazzExpected result
class with native methods0, methods shoud be unbound
class w/o native methods?(0, nothing to unbound)
NULL?(0, nothing to unbound)
- -

Number of test cases: 3 -

jint MonitorEnter(jobject obj); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - -
objectExpected result
NON-NULL, one thread takes and repeats0, should be owned by thread
NON_NULL, 2 threadsone owns, second doesn't
NULLnegative value
- -

Number of test cases: 3 -

jint MonitorExit(jobject obj); -

Combinations: - - - - - - - - - - - - - - - - - - - - - - - - -
objectExpected result
NON_NULL, thread owns the monitor0 returned, second thread can get the monitor 
NON_NULL, thread doesn't own the monitornegative value
NULLnegative value
- -

Number of test cases: 3 -

jint GetJavaVM(JavaVM **vm); -

Combinations: - - - - - - - - - - - - - - - - - - -
vmExpected result
NON-NULL0, pointer should be placed
NULLnegative value
- -

Number of test cases: 2 -

Grand total: 877. -
  - - diff --git a/modules/oji/tests/doc/draft_descr.html b/modules/oji/tests/doc/draft_descr.html deleted file mode 100644 index 8dca98d8f5a..00000000000 --- a/modules/oji/tests/doc/draft_descr.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - -

-OJI API test specification

-  -

-Goals:

-The goals of the tests are to check the stability and correctnesses of -the implementation of the  OJI API and to detect its  errors. -

-Objects to be tested:

-The OJI exported interfaces are implemented by OJI mozilla module  -or by JavaPlugin itself. Due to time/resources constrains we need to prioritize  -the interfaces to be tested. The Java Plugin is like to be "third party -product"  and are supposed to be tested by team that had produced -it. So the first priority  should be assign to interfaces implemented -by OJI mozilla module. -
OJI mozilla module interfaces:
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
nsIJVMManagerall 3 are implemented by class nsJVMManager
nsIThreadManager
nsILiveConnectManager
nsIJVMPluginTagInfoimplemented by class nsJVMPluginTagInfo
JNIEnvimplemented by class ProxyJNIEnv and returned by nsIJVMManager::CreateProxyJNI. -It is used by LiveConnect and by other Blackwood modules
- -
Java Plugin interfaces:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
nsIJVMPlugin
nsIJVMConsole
nsIJVMPrefsWindow
nsIJVMWindow
nsISecureEnv
nsISecureJNI
nsISecureJNI2
nsIJVMPluginInstance
- -

-
-Common  tests details:

-The tests organization should allow to run the tests:
-- individually
-- by interface related group
-- all
-- arbitrary selected set -

Due to the fact that the number of the specified tests is about 1000 -and they can be ran during one night it is not supposed to select the acceptance -set of the tests. -
  -
  -
  - - diff --git a/modules/oji/tests/script/OJIAPITestsDescr.html b/modules/oji/tests/script/OJIAPITestsDescr.html deleted file mode 100644 index b57ddf7ccab..00000000000 --- a/modules/oji/tests/script/OJIAPITestsDescr.html +++ /dev/null @@ -1,786 +0,0 @@ - -OJI API Tests Descriptions - -

-OJI API Tests Descriptions -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Test NameTesting MethodParametersDescription
LCM_InitLiveConnectClasses_1 Initializes a JSContext with the proper LiveConnect support classes.
NS_IMETHOD InitLiveConnectClasses(JSContext* context, JSObject* globalObject)
(nsnull, nsnull)Method should fail because parameters are invalid (NULLs).
LCM_IsLiveConnectEnabled_1 Indicates whether LiveConnect can be used.
NS_IMETHOD IsLiveConnectEnabled(PRBool& outEnabled)
(*out)Method should fail because no memory is allocated for the result value.
LCM_IsLiveConnectEnabled_2 Indicates whether LiveConnect can be used.
NS_IMETHOD IsLiveConnectEnabled(PRBool& outEnabled)
(out)Method should work OK.
LCM_ShutdownLiveConnect_1 Attempts to stop LiveConnect using the specified JSRuntime.
NS_IMETHOD ShutdownLiveConnect(JSRuntime* runtime, PRBool& outShutdown)
(nsnull, *out)Method should fail because no memory is allocated for the result value (PRBool *out = nsnull;)
LCM_ShutdownLiveConnect_2 Attempts to stop LiveConnect using the specified JSRuntime.
NS_IMETHOD ShutdownLiveConnect(JSRuntime* runtime, PRBool& outShutdown)
(nsnull, out)Method should fail because first parameter is incorrect (NULL).
LCM_StartupLiveConnect_1 Attempts to start LiveConnect using the specified JSRuntime.
NS_IMETHOD StartupLiveConnect(JSRuntime* runtime, PRBool& outStarted)
(nsnull, *out)Method should fail because no memory is allocated for the result value.
LCM_StartupLiveConnect_2 Attempts to start LiveConnect using the specified JSRuntime.
NS_IMETHOD StartupLiveConnect(JSRuntime* runtime, PRBool& outStarted)
(nsnull, out)Method should fail because first parameter is invalid.
LCM_WrapJavaObject_1 Creates a JavaScript wrapper for a Java object.
NS_IMETHOD WrapJavaObject(JSContext* context, jobject javaObject, JSObject* *outJSObject)
(nsnull, nsnull, nsnull)Method should fail because all parametrs are invalid.
LCM_WrapJavaObject_2 Creates a JavaScript wrapper for a Java object.
NS_IMETHOD WrapJavaObject(JSContext* context, jobject javaObject, JSObject* *outJSObject)
(nsnull, nsnull, &out)Method should fail because first two parametrs are invalid.
JVMManager_CreateProxyJNI_1 Creates a proxy JNI with an optional secure environment (which can be NULL). There is a one-to-one correspondence between proxy JNIs and threads, so calling this method multiple times from the same thread will return the same proxy JNI.
[noscript] void CreateProxyJNI (in nsISecureEnv secureEnv, out JNIEnv outProxyEnv);
NS_IMETHOD CreateProxyJNI(nsISecureEnv *secureEnv, JNIEnv * *outProxyEnv)
(nsnull, &jniEnv)First paramenter CAN be NULL.
JVMManager_CreateProxyJNI_2 Creates a proxy JNI with an optional secure environment (which can be NULL). There is a one-to-one correspondence between proxy JNIs and threads, so calling this method multiple times from the same thread will return the same proxy JNI.
[noscript] void CreateProxyJNI (in nsISecureEnv secureEnv, out JNIEnv outProxyEnv);
NS_IMETHOD CreateProxyJNI(nsISecureEnv *secureEnv, JNIEnv * *outProxyEnv)
(nsnull, nsnull)Method should fail because no space is allocated for the result pointer.
JVMManager_CreateProxyJNI_3 Creates a proxy JNI with an optional secure environment (which can be NULL). There is a one-to-one correspondence between proxy JNIs and threads, so calling this method multiple times from the same thread will return the same proxy JNI.
[noscript] void CreateProxyJNI (in nsISecureEnv secureEnv, out JNIEnv outProxyEnv);
NS_IMETHOD CreateProxyJNI(nsISecureEnv *secureEnv, JNIEnv * *outProxyEnv)
(secureEnv, nsnull)Method should fail because no space is allocated for the result pointer.
JVMManager_CreateProxyJNI_4 Creates a proxy JNI with an optional secure environment (which can be NULL). There is a one-to-one correspondence between proxy JNIs and threads, so calling this method multiple times from the same thread will return the same proxy JNI.
[noscript] void CreateProxyJNI (in nsISecureEnv secureEnv, out JNIEnv outProxyEnv);
NS_IMETHOD CreateProxyJNI(nsISecureEnv *secureEnv, JNIEnv * *outProxyEnv)
(secureEnv, &jniEnv)Method should work OK.
JVMManager_GetProxyJNI_1 Returns the proxy JNI associated with the current thread, or NULL if no such association exists.
[noscript] void GetProxyJNI (out JNIEnv outProxyEnv);
NS_IMETHOD GetProxyJNI(JNIEnv * *outProxyEnv)
(nsnull)Method should fail because no space is allocated for the result pointer.
JVMManager_GetProxyJNI_2 Returns the proxy JNI associated with the current thread, or NULL if no such association exists.
[noscript] void GetProxyJNI (out JNIEnv outProxyEnv);
NS_IMETHOD GetProxyJNI(JNIEnv * *outProxyEnv)
(&jniEnv)Method should work OK though we didn't call CreateProxyJNI before.
JVMManager_GetProxyJNI_3 Returns the proxy JNI associated with the current thread, or NULL if no such association exists.
[noscript] void GetProxyJNI (out JNIEnv outProxyEnv);
NS_IMETHOD GetProxyJNI(JNIEnv * *outProxyEnv)
(&jniEnv)Before calling GetProxyJNI CreateProxyJNI method is called.
JVMManager_IsJavaEnabled_1 Returns whether or not Java is enabled.
void IsJavaEnabled (out boolean outEnabled);
NS_IMETHOD IsJavaEnabled(PRBool *outEnabled)
(nsnull)Method should fail because no space is allocated for the result pointer.
JVMManager_IsJavaEnabled_2 Returns whether or not Java is enabled.
void IsJavaEnabled (out boolean outEnabled);
NS_IMETHOD IsJavaEnabled(PRBool *outEnabled)
(&b)Should PASS if security.enable_java property is set to true or ommited.
JVMManager_IsJavaEnabled_3 Returns whether or not Java is enabled.
void IsJavaEnabled (out boolean outEnabled);
NS_IMETHOD IsJavaEnabled(PRBool *outEnabled)
(&b)Should PASS if security.enable_java property is set to false.
JVMManager_ShowJavaConsole_1 Called from Java Console menu item.
void ShowJavaConsole ();
NS_IMETHOD ShowJavaConsole(void)
()CreateProxyJNI is called before ShowJavaConsole.
JVMManager_ShowJavaConsole_2 Called from Java Console menu item.
void ShowJavaConsole ();
NS_IMETHOD ShowJavaConsole(void)
()Method should work OK, though CreateProxyJNI wasn't called before.
ThreadManager_CreateThread_1 Creates a new thread, calling the specified runnable's Run method (a la Java).
NS_IMETHOD CreateThread(PRUint32* threadID, nsIRunnable* runnable)
(NULL, NULL)Method should fail because no nsIRunnable object is specified.
ThreadManager_CreateThread_2 Creates a new thread, calling the specified runnable's Run method (a la Java).
NS_IMETHOD CreateThread(PRUint32* threadID, nsIRunnable* runnable)
(&id, NULL)Method should fail because no nsIRunnable object is specified.
ThreadManager_CreateThread_3 Creates a new thread, calling the specified runnable's Run method (a la Java).
NS_IMETHOD CreateThread(PRUint32* threadID, nsIRunnable* runnable)
(NULL, (nsIRunnable*)dt)Method should fail because no space is allocated for thread id.
ThreadManager_CreateThread_4 Creates a new thread, calling the specified runnable's Run method (a la Java).
NS_IMETHOD CreateThread(PRUint32* threadID, nsIRunnable* runnable)
(&id, (nsIRunnable*)dt)Method should work OK.
ThreadManager_EnterMonitor_1 Creates a unique monitor for the specified address, and makes the current system thread the owner of the monitor.
NS_IMETHOD EnterMonitor(void* address)
(NULL)Method shoulf fail because invalid (NULL) adress is specified.
ThreadManager_EnterMonitor_2 Creates a unique monitor for the specified address, and makes the current system thread the owner of the monitor.
NS_IMETHOD EnterMonitor(void* address)
(threadMgr)Current thread can enter monitor even if no other thread we created.
ThreadManager_EnterMonitor_3 Creates a unique monitor for the specified address, and makes the current system thread the owner of the monitor.
NS_IMETHOD EnterMonitor(void* address)
(threadMgr)One thread can enter monitor twice.
ThreadManager_EnterMonitor_4 Creates a unique monitor for the specified address, and makes the current system thread the owner of the monitor.
NS_IMETHOD EnterMonitor(void* address)
(tm)Another thread can't enter monitor locked by current thread.
ThreadManager_ExitMonitor_1 Exits the monitor associated with the address.
NS_IMETHOD ExitMonitor(void* address)
(NULL)Method should fail because adress is invalid (NULL).
ThreadManager_ExitMonitor_2 Exits the monitor associated with the address.
NS_IMETHOD ExitMonitor(void* address)
(threadMgr)Thread can exit monitor even if it doesn't own it.
ThreadManager_ExitMonitor_3 Exits the monitor associated with the address.
NS_IMETHOD ExitMonitor(void* address)
(threadMgr)Method should work OK.
ThreadManager_ExitMonitor_4 Exits the monitor associated with the address.
NS_IMETHOD ExitMonitor(void* address)
(threadMgr)Another thread CAN enter monitor if the current thread unlock it.
ThreadManager_GetCurrentThread_2 Returns a unique identifier for the "current" system thread.
NS_IMETHOD GetCurrentThread(nsPluginThread* *threadID)
(NULL)Method should fail because no memory is allocated for the result pointer.
ThreadManager_GetCurrentThread_1 Returns a unique identifier for the "current" system thread.
NS_IMETHOD GetCurrentThread(nsPluginThread* *threadID)
(nsPluginThread**)&id)Method should work OK.
ThreadManager_Notify_1 Notifies a single thread waiting on the monitor associated with the address (must be entered already).
NS_IMETHOD Notify(void* address)
(NULL)Method should fail because adress is invalid (NULL)
ThreadManager_Notify_2 Notifies a single thread waiting on the monitor associated with the address (must be entered already).
NS_IMETHOD Notify(void* address)
(threadMgr)Method should fail because it can call Notify only being monitor's owner.
ThreadManager_Notify_3 Notifies a single thread waiting on the monitor associated with the address (must be entered already).
NS_IMETHOD Notify(void* address)
(threadMgr)Method should work OK.
ThreadManager_Notify_4 Notifies a single thread waiting on the monitor associated with the address (must be entered already).
NS_IMETHOD Notify(void* address)
(threadMgr)Method should work even if there are no other threads waiting on monitor.
ThreadManager_NotifyAll_1 Notifies all threads waiting on the monitor associated with the address (must be entered already).
NS_IMETHOD NotifyAll(void* address)
(NULL)Method should fail because adress is invalid (NULL)
ThreadManager_NotifyAll_2 Notifies all threads waiting on the monitor associated with the address (must be entered already).
NS_IMETHOD NotifyAll(void* address)
(threadMgr)Method should fail because it can call Notify only being monitor's owner.
ThreadManager_NotifyAll_3 Notifies all threads waiting on the monitor associated with the address (must be entered already).
NS_IMETHOD NotifyAll(void* address)
(threadMgr)Method should work OK.
ThreadManager_NotifyAll_4 Notifies all threads waiting on the monitor associated with the address (must be entered already).
NS_IMETHOD NotifyAll(void* address)
(threadMgr)Method should work even if there are no other threads waiting on monitor.
ThreadManager_PostEvent_1 Posts an event to specified thread, calling the runnable from that thread.
@param threadID thread to call runnable from
@param runnable object to invoke from thread
@param async if true, won't block current thread waiting for result
NS_IMETHOD PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async)
(*id, NULL, (PRBool)0)Method should fail because thread's id is specified incorrectly (PRUint32 *id = NULL;)
ThreadManager_PostEvent_2 Posts an event to specified thread, calling the runnable from that thread.
@param threadID thread to call runnable from
@param runnable object to invoke from thread
@param async if true, won't block current thread waiting for result
NS_IMETHOD PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async)
(id, NULL, (PRBool)0)Method should fail because no object to be invoked from thread is specified.
ThreadManager_PostEvent_3 Posts an event to specified thread, calling the runnable from that thread.
@param threadID thread to call runnable from
@param runnable object to invoke from thread
@param async if true, won't block current thread waiting for result
NS_IMETHOD PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async)
(id, NULL, (PRBool)1)Method should fail because no object to be invoked from thread is specified.
ThreadManager_PostEvent_5 Posts an event to specified thread, calling the runnable from that thread.
@param threadID thread to call runnable from
@param runnable object to invoke from thread
@param async if true, won't block current thread waiting for result
NS_IMETHOD PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async)
(PRUint32)pt, re, (PRBool)0)Method should fail because thtread doesn't exist (PRThread *pt;)
ThreadManager_PostEvent_6 Posts an event to specified thread, calling the runnable from that thread.
@param threadID thread to call runnable from
@param runnable object to invoke from thread
@param async if true, won't block current thread waiting for result
NS_IMETHOD PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async)
(id, rEvent, (PRBool)1)Method should work OK.
ThreadManager_PostEvent_7 Posts an event to specified thread, calling the runnable from that thread.
@param threadID thread to call runnable from
@param runnable object to invoke from thread
@param async if true, won't block current thread waiting for result
NS_IMETHOD PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async)
(id, rEvent, (PRBool)0)Method should work OK.
ThreadManager_Sleep_1 Pauses the current thread for the specified number of milliseconds. If milli is zero, then merely yields the CPU if another thread of greater or equal priority.
NS_IMETHOD Sleep(PRUint32 milli = 0)
(0)Method should work OK.
ThreadManager_Sleep_2 Pauses the current thread for the specified number of milliseconds. If milli is zero, then merely yields the CPU if another thread of greater or equal priority.
NS_IMETHOD Sleep(PRUint32 milli = 0)
(UINT_MAX)Method should work OK.
ThreadManager_Wait_1 Waits on the monitor associated with the address (must be entered already). If milli is 0, wait indefinitely.
NS_IMETHOD Wait(void* address, PRUint32 milli = 0)
(NULL, (PRUint32)100)Method should fail because invalid adress (NULL) is specified.
ThreadManager_Wait_2 Waits on the monitor associated with the address (must be entered already). If milli is 0, wait indefinitely.
NS_IMETHOD Wait(void* address, PRUint32 milli = 0)
(threadMgr, (PRUint32)UINT_MAX)Method should work OK.
ThreadManager_Wait_3 Waits on the monitor associated with the address (must be entered already). If milli is 0, wait indefinitely.
NS_IMETHOD Wait(void* address, PRUint32 milli = 0)
(threadMgr, (PRUint32)0)Method should work OK.
ThreadManager_Wait_4 Waits on the monitor associated with the address (must be entered already). If milli is 0, wait indefinitely.
NS_IMETHOD Wait(void* address, PRUint32 milli = 0)
(threadMgr, (PRUint32)100)Method should fail because current thread doesn't own monitor.
ThreadManager_Wait_5 Waits on the monitor associated with the address (must be entered already). If milli is 0, wait indefinitely.
NS_IMETHOD Wait(void* address, PRUint32 milli = 0)
(tm)Method should work OK.
JNIEnv_GetBooleanField_1 jboolean GetBooleanField(jobject obj, jfieldID fieldID) (NULL, fieldID)GetBooleanField with obj = NULL return correct value - do not crash
JNIEnv_GetBooleanField_2 jboolean GetBooleanField(jobject obj, jfieldID fieldID) (obj, (jfieldID)-100)GetBooleanField with fieldID = (jfieldID)-100 return correct value - do not crash
JNIEnv_GetBooleanField_3 jboolean GetBooleanField(jobject obj, jfieldID fieldID) (obj, (jfieldID)100)GetBooleanField with fieldID = (jfieldID)100 return correct value - do not crash
JNIEnv_GetBooleanField_4 jboolean GetBooleanField(jobject obj, jfieldID fieldID) (obj, NULL)GetBooleanField with fieldID = NULL return correct value - do not crash
JNIEnv_GetBooleanField_5 jboolean GetBooleanField(jobject obj, jfieldID fieldID) (obj, fieldID)GetBooleanField with val == JNI_TRUE return correct value
JNIEnv_GetBooleanField_6 jboolean GetBooleanField(jobject obj, jfieldID fieldID) (obj, fieldID)GetBooleanField with val == JNI_FALSE return correct value
JNIEnv_GetByteField_1 jbyte GetByteField(jobject obj, jfieldID fieldID) (NULL, fieldID)GetByteField with obj = NULL return correct value - do not crash
JNIEnv_GetByteField_2 jbyte GetByteField(jobject obj, jfieldID fieldID) (obj, (jfieldID)-100)GetByteField with fieldID = (jfieldID)-100 return correct value - do not crash
JNIEnv_GetByteField_3 jbyte GetByteField(jobject obj, jfieldID fieldID) (obj, (jfieldID)100)GetByteField with fieldID = (jfieldID)=100 return correct value - do not crash
JNIEnv_GetByteField_4 jbyte GetByteField(jobject obj, jfieldID fieldID) (obj, NULL)GetByteField with fieldID = NULL return correct value - do not crash
JNIEnv_GetByteField_5 jbyte GetByteField(jobject obj, jfieldID fieldID) (obj, fieldID)GetByteField with val == MIN_JBYTE return correct value
JNIEnv_GetByteField_6 jbyte GetByteField(jobject obj, jfieldID fieldID) (obj, fieldID)GetByteField with val == MAX_JBYTE return correct value
JNIEnv_GetCharField_1 jchar GetCharField(jobject obj, jfieldID fieldID) (NULL, fieldID)GetCharField with obj = NULL return correct value - do not crash
JNIEnv_GetCharField_2 jchar GetCharField(jobject obj, jfieldID fieldID) (obj, NULL)GetCharField with fieldID = NULL return correct value - do not crash
JNIEnv_GetCharField_3 jchar GetCharField(jobject obj, jfieldID fieldID) (obj, (jfieldID)-100)GetCharField with fieldID = (jfieldID)-100 return correct value - do not crash
JNIEnv_GetCharField_4 jchar GetCharField(jobject obj, jfieldID fieldID) (obj, (jfieldID)100)GetCharField with fieldID = (jfieldID) return correct value - do not crash
JNIEnv_GetCharField_5 jchar GetCharField(jobject obj, jfieldID fieldID) (obj, fieldID)GetCharField(all correct) return correct value
JNIEnv_GetDoubleField_1 jdouble GetDoubleField(jobject obj, jfieldID fieldID) (NULL, fieldID)GetDoubleField with obj = NULL return correct value - do not crash
JNIEnv_GetDoubleField_2 jdouble GetDoubleField(jobject obj, jfieldID fieldID) (obj, NULL)GetDoubleField with fieldID = NULL return correct value - do not crash
JNIEnv_GetDoubleField_3 jdouble GetDoubleField(jobject obj, jfieldID fieldID) (obj, (jfieldID)-100)GetDoubleField with fieldID = (jfiledID)-100 return correct value - do not crash
JNIEnv_GetDoubleField_4 jdouble GetDoubleField(jobject obj, jfieldID fieldID) (obj, (jfieldID)100)GetDoubleField with fieldID = (jfieldID)100 return correct value - do not crash
JNIEnv_GetDoubleField_5 jdouble GetDoubleField(jobject obj, jfieldID fieldID) (obj, fieldID)GetDoubleField with val == MIN_JDOUBLE return correct value
JNIEnv_GetDoubleField_6 jdouble GetDoubleField(jobject obj, jfieldID fieldID) (obj, fieldID)GetDoubleField with val == MAX_JDOUBLE return correct value
JNIEnv_GetFieldID_1 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) (NULL, "name_int", "I")GetFieldID(class=NULL) passed
JNIEnv_GetFieldID_10 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_double", "D")GetFieldID(all right for double) passed
JNIEnv_GetFieldID_11 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_float", "F")GetFieldID(all right for float) passed
JNIEnv_GetFieldID_12 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_char", "C")GetFieldID(all right for char) passed
JNIEnv_GetFieldID_13 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_bool", "Z")GetFieldID(all right for boolean) passed
JNIEnv_GetFieldID_14 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_string", "Ljava/lang/String;")GetFieldID(all right for object (java/lang/String)) passed
JNIEnv_GetFieldID_15 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_int_arr", "[I")GetFieldID(all right for array) passed
JNIEnv_GetFieldID_16 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_int_super", "I")GetFieldID(all right for super int) passed
JNIEnv_GetFieldID_17 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_string_super", "Ljava/lang/String;")GetFieldID(all right for super object (java/lang/String)) passed
JNIEnv_GetFieldID_18 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "int_field", "I")GetFieldID(all right for private int) passed
JNIEnv_GetFieldID_19 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_int_not_exist", "I")GetFieldID(with incorrect name of field) passed
JNIEnv_GetFieldID_2 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( NULL, "I")GetFieldID(name_of_param= NULL) passed
JNIEnv_GetFieldID_20 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "final_int", "I")GetFieldID(all right for final int) passed - exception thrown
JNIEnv_GetFieldID_3 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "", "I")GetFieldID(name_of_param = empty) passed
JNIEnv_GetFieldID_4 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_int", "")GetFieldID(sig = empty) passed
JNIEnv_GetFieldID_5 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_int", NULL)GetFieldID(sig = NULL) passed
JNIEnv_GetFieldID_6 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_byte", "B")GetFieldID(all right for byte) passed
JNIEnv_GetFieldID_7 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_int", "I")GetFieldID(all right for int) passed
JNIEnv_GetFieldID_8 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_short", "S")GetFieldID(all right for short) passed
JNIEnv_GetFieldID_9 jfieldID GetFieldID(jclass clazz, const char *name, const char *sig) ( "name_long", "J")GetFieldID(all right for long) passed
JNIEnv_GetFloatField_1 jfloat GetFloatField(jobject obj, jfieldID fieldID) (NULL, fieldID)GetFloatField with obj = NULL return correct value - do not crash
JNIEnv_GetFloatField_2 jfloat GetFloatField(jobject obj, jfieldID fieldID) (obj, NULL)GetFloatField with fieldID = NULL return correct value - do not crash
JNIEnv_GetFloatField_3 jfloat GetFloatField(jobject obj, jfieldID fieldID) (obj, (jfieldID)-100)GetFloatField with fieldID = (jfieldID)-100 return correct value - do not crash
JNIEnv_GetFloatField_4 jfloat GetFloatField(jobject obj, jfieldID fieldID) (obj, (jfieldID)100)GetFloatField with fieldID = (jfieldID)100 return correct value - do not crash
JNIEnv_GetFloatField_5 jfloat GetFloatField(jobject obj, jfieldID fieldID) (obj, fieldID)GetFloatField with val == MIN_JFLOAT return correct value
JNIEnv_GetFloatField_6 jfloat GetFloatField(jobject obj, jfieldID fieldID) (obj, fieldID)GetFloatField with val == MAX_JFLOAT return correct value
JNIEnv_GetIntField_1 jint GetIntField(jobject obj, jfieldID fieldID) (NULL, fieldID)GetIntField with obj = NULL return correct value - do not crash
JNIEnv_GetIntField_2 jint GetIntField(jobject obj, jfieldID fieldID) (obj, NULL)GetIntField with fieldID = NULL return correct value - do not crash
JNIEnv_GetIntField_3 jint GetIntField(jobject obj, jfieldID fieldID) (obj, (jfieldID)-100)GetIntField with fieldID = (jfieldID)-100 return correct value - do not crash
JNIEnv_GetIntField_4 jint GetIntField(jobject obj, jfieldID fieldID) (obj, (jfieldID)100)GetIntField with fieldID = (jfieldID)100 return correct value - do not crash
JNIEnv_GetIntField_5 jint GetIntField(jobject obj, jfieldID fieldID) (obj, fieldID)GetIntField with val == MIN_JINT return correct value
JNIEnv_GetIntField_6 jint GetIntField(jobject obj, jfieldID fieldID) ()GetField for array passed!\n
JNIEnv_GetIntField_7 jint GetIntField(jobject obj, jfieldID fieldID) (obj, fieldID)GetIntField with val == MAX_JINT return correct value
JNIEnv_GetLongField_1 jlong GetLongField(jobject obj, jfieldID fieldID) (NULL, fieldID)GetLongField with obj = NULL return correct value - do not crash
JNIEnv_GetLongField_2 jlong GetLongField(jobject obj, jfieldID fieldID) (obj, NULL)GetLongField with fieldID = NULL return correct value - do not crash
JNIEnv_GetLongField_3 jlong GetLongField(jobject obj, jfieldID fieldID) (obj, (jfieldID)-100)GetLongField with fieldID = (jfieldID)-100 return correct value - do not crash
JNIEnv_GetLongField_4 jlong GetLongField(jobject obj, jfieldID fieldID) (obj, (jfieldID)100)GetLongField with fieldID = (jfieldID)100 return correct value - do not crash
JNIEnv_GetLongField_5 jlong GetLongField(jobject obj, jfieldID fieldID) (obj, fieldID)GetLongField with val == MIN_JLONG return correct value
JNIEnv_GetLongField_6 jlong GetLongField(jobject obj, jfieldID fieldID) (obj, fieldID)GetLongField with val == MAX_JLONG return correct value
JNIEnv_GetObjectField_1 jobject GetObjectField(jobject obj, jfieldID fieldID) (NULL, fieldID)GetObjectField with obj = NULL return correct value - do not crash
JNIEnv_GetObjectField_2 jobject GetObjectField(jobject obj, jfieldID fieldID) (obj, NULL)GetObjectField with fieldID = NULL return correct value - do not crash
JNIEnv_GetObjectField_3 jobject GetObjectField(jobject obj, jfieldID fieldID) (obj, (jfieldID)-100)GetObjectField with fieldID = (jfieldID)-100 return correct value - do not crash
JNIEnv_GetObjectField_4 jobject GetObjectField(jobject obj, jfieldID fieldID) (obj, (jfieldID)100)GetObjectField with fieldID = (jfieldID)100 return correct value - do not crash
JNIEnv_GetObjectField_5 jobject GetObjectField(jobject obj, jfieldID fieldID) (obj, fieldID)GetObjectField(all correct) return correct value
JNIEnv_GetShortField_1 jshort GetShortField(jobject obj, jfieldID fieldID) (NULL, fieldID)GetShortField with obj = NULL return correct value - do not crash
JNIEnv_GetShortField_2 jshort GetShortField(jobject obj, jfieldID fieldID) (obj, NULL)GetShortField with fieldID = NULL return correct value - do not crash
JNIEnv_GetShortField_3 jshort GetShortField(jobject obj, jfieldID fieldID) (obj, (jfieldID)-100)GetShortField with fieldID = (jfieldID)-100 return correct value - do not crash
JNIEnv_GetShortField_4 jshort GetShortField(jobject obj, jfieldID fieldID) (obj, (jfieldID)100)GetShortField with fieldID = (jfieldID)100 return correct value - do not crash
JNIEnv_GetShortField_5 jshort GetShortField(jobject obj, jfieldID fieldID) (obj, fieldID)GetShortField with val == MIN_JSHORT return correct value
JNIEnv_GetShortField_6 jshort GetShortField(jobject obj, jfieldID fieldID) (obj, fieldID)GetShortField with val == MAX_JSHORT return correct value
JNIEnv_SetBooleanField_1 void SetBooleanField(jobject obj, jfieldID fieldID, jboolean val) (NULL, fieldID, TRUE)SetBooleanField(obj = NULL) do not set field - correct
JNIEnv_SetBooleanField_2 void SetBooleanField(jobject obj, jfieldID fieldID, jboolean val) (obj, (jfieldID)-100, TRUE)SetBooleanField(fieldID = (jfieldID)-100) do not set field - correct
JNIEnv_SetBooleanField_3 void SetBooleanField(jobject obj, jfieldID fieldID, jboolean val) (obj, (jfieldID)100, TRUE)SetBooleanField(fieldID = (jfieldID)100) do not set field - correct
JNIEnv_SetBooleanField_4 void SetBooleanField(jobject obj, jfieldID fieldID, jboolean val) (obj, NULL, TRUE)SetBooleanField(fieldID = NULL) do not set field - correct
JNIEnv_SetBooleanField_5 void SetBooleanField(jobject obj, jfieldID fieldID, jboolean val) (obj, fieldID, JNI_FALSE)SetBooleanField(all correct, value = JNI_FALSE) set value to field - correct
JNIEnv_SetBooleanField_6 void SetBooleanField(jobject obj, jfieldID fieldID, jboolean val) (obj, fieldID, TRUE)SetBooleanField(all correct, value = JNI_TRUE) set value to field - correct
JNIEnv_SetBooleanField_7 void SetBooleanField(jobject obj, jfieldID fieldID, jboolean val) (obj, fieldID, FALSE)SetBooleanField(all correct, value = JNI_FALSE) set value to field - correct
JNIEnv_SetByteField_1 void SetByteField(jobject obj, jfieldID fieldID, jbyte val) (NULL, fieldID,1)SetByteField(obj = NULL) do not set field - correct
JNIEnv_SetByteField_2 void SetByteField(jobject obj, jfieldID fieldID, jbyte val) (obj, (jfieldID)-100, 1)SetByteField(fieldID = (jfieldID)-100) do not set field - correct
JNIEnv_SetByteField_3 void SetByteField(jobject obj, jfieldID fieldID, jbyte val) (obj, (jfieldID)100, 1)SetByteField(fieldID = (jfieldID)100) do not set field - correct
JNIEnv_SetByteField_4 void SetByteField(jobject obj, jfieldID fieldID, jbyte val) (obj, NULL, 1)SetByteField(fieldID = NULL) do not set field - correct
JNIEnv_SetByteField_5 void SetByteField(jobject obj, jfieldID fieldID, jbyte val) (obj, fieldID, (jbyte)-1)SetByteField(all correct, value = 1) set value to field - correct
JNIEnv_SetByteField_6 void SetByteField(jobject obj, jfieldID fieldID, jbyte val) (obj, fieldID, 1)SetByteField(all correct, value = 1) set value to field - correct
JNIEnv_SetCharField_1 void SetCharField(jobject obj, jfieldID fieldID, jchar val) (NULL, fieldID, 'a')SetCharField(obi = NULL) do not set field - correct
JNIEnv_SetCharField_2 void SetCharField(jobject obj, jfieldID fieldID, jchar val) (obj, (jfieldID)100, 'a')SetCharField(fieldID = (jfieldID)100) do not crush - correct
JNIEnv_SetCharField_3 void SetCharField(jobject obj, jfieldID fieldID, jchar val) (obj, (jfieldID)-100, 'a')SetCharField(fieldID = (jfieldID)-100) do not crush - correct
JNIEnv_SetCharField_4 void SetCharField(jobject obj, jfieldID fieldID, jchar val) (obj, NULL, 'a')SetCharField(fieldID = NULL) do not set field - correct
JNIEnv_SetCharField_5 void SetCharField(jobject obj, jfieldID fieldID, jchar val) (obj, fieldID, (jchar)NULL)SetCharField(all correct, value = NULL) set value to field - correct
JNIEnv_SetCharField_6 void SetCharField(jobject obj, jfieldID fieldID, jchar val) (obj, fieldID, 'a')SetCharField(all correct, value = a) set value to field - correct
JNIEnv_SetDoubleField_1 void SetDoubleField(jobject obj, jfieldID fieldID, jdouble val) (NULL, fieldID, 1)SetDoubleField(obj == NULL) do not set field - correct
JNIEnv_SetDoubleField_2 void SetDoubleField(jobject obj, jfieldID fieldID, jdouble val) (obj, (jfieldID)-100, 1)SetDoubleField(fieldID = (jfieldID)-100) do not set field - correct
JNIEnv_SetDoubleField_3 void SetDoubleField(jobject obj, jfieldID fieldID, jdouble val) (obj, (jfieldID)100, 1)SetDoubleField(fieldID = (jfieldID)100) do not set field - correct
JNIEnv_SetDoubleField_4 void SetDoubleField(jobject obj, jfieldID fieldID, jdouble val) (obj, NULL, 1)SetDoubleField(fieldID = NULL) do not set field - correct
JNIEnv_SetDoubleField_5 void SetDoubleField(jobject obj, jfieldID fieldID, jdouble val) (obj, fieldID, (jdouble)10)SetDoubleField(all correct) set value to field - correct
JNIEnv_SetDoubleField_6 void SetDoubleField(jobject obj, jfieldID fieldID, jdouble val) (obj, fieldID, -100)SetDoubleField(all correct) set value to field - correct
JNIEnv_SetFloatField_1 void SetFloatField(jobject obj, jfieldID fieldID, jfloat val) (NULL, fieldID, 1)SetFloatField(obj == NULL) do not set field - correct
JNIEnv_SetFloatField_2 void SetFloatField(jobject obj, jfieldID fieldID, jfloat val) (obj, (jfieldID)-100, 1)SetFloatField(fieldID = (jfieldID)-100) do not set field - correct
JNIEnv_SetFloatField_3 void SetFloatField(jobject obj, jfieldID fieldID, jfloat val) (obj, (jfieldID)100, 1)SetFloatField(fieldID = (jfieldID)100) do not set field - correct
JNIEnv_SetFloatField_4 void SetFloatField(jobject obj, jfieldID fieldID, jfloat val) (obj, NULL, 1)SetFloatField(fieldID = NULL) do not set field - correct
JNIEnv_SetFloatField_5 void SetFloatField(jobject obj, jfieldID fieldID, jfloat val) (obj, fieldID, 1)SetFloatField(all correct) set value to field - correct
JNIEnv_SetIntField_1 void SetIntField(jobject obj, jfieldID fieldID, jint val) (NULL, fieldID, 1)SetIntField(obj == NULL) do not set field - correct
JNIEnv_SetIntField_2 void SetIntField(jobject obj, jfieldID fieldID, jint val) (obj, (jfieldID)-100, 1)SetIntField(fieldID = (jfieldID)-100) do not set field - correct
JNIEnv_SetIntField_3 void SetIntField(jobject obj, jfieldID fieldID, jint val) (obj, (jfieldID)100, 1)SetIntField(fieldID = (jfieldID)100) do not set field - correct
JNIEnv_SetIntField_4 void SetIntField(jobject obj, jfieldID fieldID, jint val) (obj, NULL, 1)SetIntField(fieldID = NULL) do not set field - correct
JNIEnv_SetIntField_5 void SetIntField(jobject obj, jfieldID fieldID, jint val) (obj, fieldID, 1)SetIntField(all correct) set value to field - correct
JNIEnv_SetLongField_1 void SetLongField(jobject obj, jfieldID fieldID, jlong val) (NULL, fieldID, 1)SetLongField(obj == NULL) do not set field - correct
JNIEnv_SetLongField_2 void SetLongField(jobject obj, jfieldID fieldID, jlong val) (obj, (jfieldID)-100, 1)SetLongField(fieldID == (fieldID)-100) do not set field - correct
JNIEnv_SetLongField_3 void SetLongField(jobject obj, jfieldID fieldID, jlong val) (obj, (jfieldID)100, 1)SetLongField(fieldID == (fieldID)100) do not set field - correct
JNIEnv_SetLongField_4 void SetLongField(jobject obj, jfieldID fieldID, jlong val) (obj, NULL, 1)SetLongField(fieldID == NULL) do not set field - correct
JNIEnv_SetLongField_5 void SetLongField(jobject obj, jfieldID fieldID, jlong val) (obj, fieldID, 1)SetLongField(all correct) set value to field - correct
JNIEnv_SetObjectField_1 void SetObjectField(jobject obj, jfieldID fieldID, jobject val) (NULL, fieldID, arr)SetObjectField(for obj = NULL) passed
JNIEnv_SetObjectField_2 void SetObjectField(jobject obj, jfieldID fieldID, jobject val) (obj, (jfieldID)-100, arr)SetObjectField(for fieldID = -100) passed
JNIEnv_SetObjectField_3 void SetObjectField(jobject obj, jfieldID fieldID, jobject val) (obj, (jfieldID)100, arr)SetObjectField(for fieldID = 100) passed
JNIEnv_SetObjectField_4 void SetObjectField(jobject obj, jfieldID fieldID, jobject val) (obj, NULL, arr)SetObjectField(for fieldID = NULL) passed
JNIEnv_SetObjectField_5 void SetObjectField(jobject obj, jfieldID fieldID, jobject val) (obj, fieldID, NULL)SetObjectField(object == NULL) passed
JNIEnv_SetShortField_1 void SetShortField(jobject obj, jfieldID fieldID, jshort val) (NULL, fieldID, 1)SetShortField(obj == NULL) do not set field - correct
JNIEnv_SetShortField_2 void SetShortField(jobject obj, jfieldID fieldID, jshort val) (obj, (jfieldID)-100, 1)SetShortField(with fieldID == (jfieldID)-100) do not set field - correct
JNIEnv_SetShortField_3 void SetShortField(jobject obj, jfieldID fieldID, jshort val) (obj, (jfieldID)100, 1)SetShortField(with fieldID == (jfieldID)100) do not set field - correct
JNIEnv_SetShortField_4 void SetShortField(jobject obj, jfieldID fieldID, jshort val) (obj, NULL, 1)SetShortField(fieldID == NULL) do not set field - correct
JNIEnv_SetShortField_5 void SetShortField(jobject obj, jfieldID fieldID, jshort val) (obj, fieldID, 1)SetShortField(all correct) set value to field - correct
JNIEnv_GetStaticBooleanField_1 jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) (NULL, fieldID)GetStaticBooleanField(clazz == NULL) do not crush
JNIEnv_GetStaticBooleanField_2 jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)-100)GetStaticBooleanField(fieldID == (jfieldID)-100) do not crush
JNIEnv_GetStaticBooleanField_3 jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)100)GetStaticBooleanField(fieldID == (jfieldID)100) do not crush
JNIEnv_GetStaticBooleanField_4 jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) (clazz, NULL)GetStaticBooleanField(fieldID == NULL) do not crush
JNIEnv_GetStaticBooleanField_5 jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticBooleanField with val == JNI_TRUE return correct value
JNIEnv_GetStaticBooleanField_6 jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticBooleanField with val == JNI_FALSE return correct value
JNIEnv_GetStaticByteField_1 jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) (NULL, fieldID)GetStaticByteField(clazz == NULL) do not crush
JNIEnv_GetStaticByteField_2 jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)-100)GetStaticByteField(fieldID == (jfieldID)-100) do not crush
JNIEnv_GetStaticByteField_3 jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)100)GetStaticByteField(fieldID == (jfieldID)100) do not crush
JNIEnv_GetStaticByteField_4 jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) (clazz, NULL)GetStaticByteField(fieldID == NULL) do not crush
JNIEnv_GetStaticByteField_5 jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticByteField with val == MIN_JBYTE return correct value
JNIEnv_GetStaticByteField_6 jbyte GetStaticByteField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticByteField with val == MAX_JBYTE return correct value
JNIEnv_GetStaticCharField_1 jchar GetStaticCharField(jclass clazz, jfieldID fieldID) (NULL, fieldID)GetStaticCharField(clazz == NULL) do not crush
JNIEnv_GetStaticCharField_2 jchar GetStaticCharField(jclass clazz, jfieldID fieldID) (clazz, NULL)GetStaticCharField(fieldID == NULL) do not crush
JNIEnv_GetStaticCharField_3 jchar GetStaticCharField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)-100)GetStaticCharField(fieldID == (jfieldID)-100) do not crush
JNIEnv_GetStaticCharField_4 jchar GetStaticCharField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)100)GetStaticCharField(fieldID == (jfieldID)100) do not crush
JNIEnv_GetStaticCharField_5 jchar GetStaticCharField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticCharField(all correct) return correct value
JNIEnv_GetStaticDoubleField_1 jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID) (NULL, fieldID)GetStaticDoubleField(clazz == NULL) do not crush
JNIEnv_GetStaticDoubleField_2 jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID) (clazz, NULL)GetStaticDoubleField(fieldID == NULL) do not crush
JNIEnv_GetStaticDoubleField_3 jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)-100)GetStaticDoubleField(fieldID == (jfieldID)-100) do not crush
JNIEnv_GetStaticDoubleField_4 jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)100)GetStaticDoubleField(fieldID == (jfieldID)100) do not crush
JNIEnv_GetStaticDoubleField_5 jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticDoubleField(all correct) return correct value
JNIEnv_GetStaticFieldID_1 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) (NULL, "static_name_int", "I" )GetStaticFieldID with class == NULL return correct value
JNIEnv_GetStaticFieldID_10 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_long", "J")GetStaticFieldID(all right for long) return correct value
JNIEnv_GetStaticFieldID_11 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_double", "D")GetStaticFieldID(all right for double) return correct value
JNIEnv_GetStaticFieldID_12 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_char", "C")GetStaticFieldID(all right for char) return correct value
JNIEnv_GetStaticFieldID_13 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_float", "F")GetStaticFieldID(all right for float) return correct value
JNIEnv_GetStaticFieldID_14 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_string", "Ljava/lang/String;")GetStaticFieldID(all right for object (string)) return correct value
JNIEnv_GetStaticFieldID_15 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_int_arr", "[I")GetStaticFieldID(all right for array) passed
JNIEnv_GetStaticFieldID_16 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "public_static_super_int", "I")GetStaticFieldID(all right for super int) return correct value
JNIEnv_GetStaticFieldID_17 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "public_static_super_object", "Ljava/lang/String;")GetStaticFieldID(all right for super public object (string)) return correct value
JNIEnv_GetStaticFieldID_18 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_int_private", "I")GetStaticFieldID(all right for private int) return correct value - exception thrown
JNIEnv_GetStaticFieldID_19 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_int", "")GetStaticFieldID with empty sig return correct value
JNIEnv_GetStaticFieldID_2 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( NULL, "I")GetStaticFieldID with param_name == NULL return correct value
JNIEnv_GetStaticFieldID_20 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_final_int", "I")GetFieldID(all right for static final int) passed
JNIEnv_GetStaticFieldID_3 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_int", NULL)GetStaticFieldID with sig == NULL return correct value
JNIEnv_GetStaticFieldID_4 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_int", "J")GetStaticFieldID with incorrect sig return correct value
JNIEnv_GetStaticFieldID_5 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_nameint", "I")GetStaticFieldID with incorrect name return correct value
JNIEnv_GetStaticFieldID_6 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_final_int", "I")GetFieldID(all right for static final int) passed
JNIEnv_GetStaticFieldID_7 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_bool", "Z")GetStaticFieldID(all right for boolean) return correct value
JNIEnv_GetStaticFieldID_8 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_byte", "B")GetStaticFieldID(all right for byte) return correct value
JNIEnv_GetStaticFieldID_9 jfieldID GetStaticFieldID(jclass clazz, const char *name, const char *sig) ( "static_name_short", "S")GetStaticFieldID(all right for short) return correct value
JNIEnv_GetStaticFloatField_1 jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) (NULL, fieldID)GetStaticFloatField(clazz == NULL) do not crush
JNIEnv_GetStaticFloatField_2 jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) (clazz, NULL)GetStaticFloatField(fieldID == NULL) do not crush
JNIEnv_GetStaticFloatField_3 jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)-100)GetStaticFloatField(fieldID == (jfieldID)-100) do not crush
JNIEnv_GetStaticFloatField_4 jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)100)GetStaticFloatField(fieldID == (jfieldID)100) do not crush
JNIEnv_GetStaticFloatField_5 jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticFloatField with val == MIN_JFLOAT return correct value
JNIEnv_GetStaticFloatField_6 jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticFloatField with val == MAX_JFLOAT return correct value
JNIEnv_GetStaticIntField_1 jint GetStaticIntField(jclass clazz, jfieldID fieldID) (NULL, fieldID)GetStaticIntField(clazz == NULL) do not crush
JNIEnv_GetStaticIntField_2 jint GetStaticIntField(jclass clazz, jfieldID fieldID) (clazz, NULL)GetStaticIntField(fieldID == NULL) do not crush
JNIEnv_GetStaticIntField_3 jint GetStaticIntField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)-100)GetStaticIntField(fieldID == (jfieldID)-100) do not crush
JNIEnv_GetStaticIntField_4 jint GetStaticIntField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)100)GetStaticIntField(fieldID == (jfieldID)100) do not crush
JNIEnv_GetStaticIntField_5 jint GetStaticIntField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticIntField with val == MIN_JINT return correct value
JNIEnv_GetStaticIntField_6 jint GetStaticIntField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticIntField with val == MAX_JINT return correct value
JNIEnv_GetStaticLongField_1 jlong GetStaticLongField(jclass clazz, jfieldID fieldID) (NULL, fieldID)GetStaticLongField(clazz == NULL) do not crush
JNIEnv_GetStaticLongField_2 jlong GetStaticLongField(jclass clazz, jfieldID fieldID) (clazz, NULL)GetStaticLongField(fieldID == NULL) do not crush
JNIEnv_GetStaticLongField_3 jlong GetStaticLongField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)-100)GetStaticLongField(fieldID == (jfieldID)-100) do not crush
JNIEnv_GetStaticLongField_4 jlong GetStaticLongField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)100)GetStaticLongField(fieldID == (jfieldID)100) do not crush
JNIEnv_GetStaticLongField_5 jlong GetStaticLongField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticLongField with val == MIN_JLONG return correct value
JNIEnv_GetStaticLongField_6 jlong GetStaticLongField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticLongField with val == MAX_JLONG return correct value
JNIEnv_GetStaticObjectField_1 jobject GetStaticObjectField(jclass clazz, jfieldID fieldID) (NULL, fieldID)GetStaticObjectField(clazz == NULL) return NULL
JNIEnv_GetStaticObjectField_2 jobject GetStaticObjectField(jclass clazz, jfieldID fieldID) (clazz, NULL)GetStaticObjectField(fieldID == NULL) return NULL
JNIEnv_GetStaticObjectField_3 jobject GetStaticObjectField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)-100)GetStaticObjectField(fieldID is incorrect negative) return NULL
JNIEnv_GetStaticObjectField_4 jobject GetStaticObjectField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)100)GetStaticObjectField(fieldID is incorrect positive) return NULL
JNIEnv_GetStaticObjectField_5 jobject GetStaticObjectField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticObjectField(all right) return correct value
JNIEnv_GetStaticShortField_1 jshort GetStaticShortField(jclass clazz, jfieldID fieldID) (NULL, fieldID)GetStaticShortField(clazz == NULL) do not crush
JNIEnv_GetStaticShortField_2 jshort GetStaticShortField(jclass clazz, jfieldID fieldID) (clazz, NULL)GetStaticShortField(fieldID == NULL) do not crush
JNIEnv_GetStaticShortField_3 jshort GetStaticShortField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)-100)GetStaticShortField(fieldID == (jfieldID)-100) do not crush
JNIEnv_GetStaticShortField_4 jshort GetStaticShortField(jclass clazz, jfieldID fieldID) (clazz, (jfieldID)100)GetStaticShortField(fieldID == (jfieldID)100) do not crush
JNIEnv_GetStaticShortField_5 jshort GetStaticShortField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticShortField with val == MIN_JSHORT return correct value
JNIEnv_GetStaticShortField_6 jshort GetStaticShortField(jclass clazz, jfieldID fieldID) (clazz, fieldID)GetStaticShortField with val == MAX_JSHORT return correct value
JNIEnv_SetStaticBooleanField_1 void SetStaticBooleanField(jclass clazz, jfieldID fieldID, jboolean value) (NULL, fieldID, TRUE)SetStaticBooleanField(clazz == NULL) do not crush
JNIEnv_SetStaticBooleanField_2 void SetStaticBooleanField(jclass clazz, jfieldID fieldID, jboolean value) (clazz, (jfieldID)-100, TRUE)SetStaticBooleanField(fieldID == (jfieldID)-100) do not crush
JNIEnv_SetStaticBooleanField_3 void SetStaticBooleanField(jclass clazz, jfieldID fieldID, jboolean value) (clazz, (jfieldID)100, TRUE)SetStaticBooleanField(fieldID == (jfieldID)100) do not crush
JNIEnv_SetStaticBooleanField_4 void SetStaticBooleanField(jclass clazz, jfieldID fieldID, jboolean value) (clazz, NULL, TRUE)SetStaticBooleanField(fieldID == NULL) do not crush
JNIEnv_SetStaticBooleanField_5 void SetStaticBooleanField(jclass clazz, jfieldID fieldID, jboolean value) (clazz, fieldID, JNI_FALSE)SetStaticBooleanField(all correct, value == JNI_FALSE) set correct value to field
JNIEnv_SetStaticBooleanField_6 void SetStaticBooleanField(jclass clazz, jfieldID fieldID, jboolean value) (clazz, fieldID, JNI_TRUE)SetStaticBooleanField(all correct, value == JNI_TRUE) set correct value to field
JNIEnv_SetStaticByteField_1 void SetStaticByteField(jclass clazz, jfieldID fieldID, jbyte value) (NULL, fieldID,1)SetStaticByteField(clazz == NULL) do not crush
JNIEnv_SetStaticByteField_2 void SetStaticByteField(jclass clazz, jfieldID fieldID, jbyte value) (clazz, (jfieldID)-100, 1)SetStaticByteField(fieldID == (jfieldID)-100) do not crush
JNIEnv_SetStaticByteField_3 void SetStaticByteField(jclass clazz, jfieldID fieldID, jbyte value) (clazz, (jfieldID)100, 1)SetStaticByteField(fieldID == (jfieldID)100) do not crush
JNIEnv_SetStaticByteField_4 void SetStaticByteField(jclass clazz, jfieldID fieldID, jbyte value) (clazz, NULL, 1)SetStaticByteField(fieldID == NULL) do not crush
JNIEnv_SetStaticByteField_5 void SetStaticByteField(jclass clazz, jfieldID fieldID, jbyte value) (clazz, fieldID, (jbyte)10)SetStaticByteField(all correct, value == 10) set correct value to field
JNIEnv_SetStaticByteField_6 void SetStaticByteField(jclass clazz, jfieldID fieldID, jbyte value) (clazz, fieldID, (jbyte)-10)SetStaticByteField(all correct, value == -10) set correct value to field
JNIEnv_SetStaticCharField_1 void SetStaticCharField(jclass clazz, jfieldID fieldID, jchar value) (NULL, fieldID, 'a')SetStaticCharField(clazz == NULL) do not crush
JNIEnv_SetStaticCharField_2 void SetStaticCharField(jclass clazz, jfieldID fieldID, jchar value) (clazz, (jfieldID)100, 'a')SetStaticCharField(fieldID == (jfieldID)100) do not crush
JNIEnv_SetStaticCharField_3 void SetStaticCharField(jclass clazz, jfieldID fieldID, jchar value) (clazz, (jfieldID)-100, 'a')SetStaticCharField(fieldID == (jfieldID)-100) do not crush
JNIEnv_SetStaticCharField_4 void SetStaticCharField(jclass clazz, jfieldID fieldID, jchar value) (clazz, NULL, 'a')SetStaticCharField(fieldID == NULL) do not crush
JNIEnv_SetStaticCharField_5 void SetStaticCharField(jclass clazz, jfieldID fieldID, jchar value) (clazz, fieldID, (jchar)NULL)SetStaticCharField(all correct, value == (jchar)NULL) set correct value to field
JNIEnv_SetStaticCharField_6 void SetStaticCharField(jclass clazz, jfieldID fieldID, jchar value) (clazz, fieldID, 'a')SetStaticCharField(all correct, value == a) set correct value to field
JNIEnv_SetStaticDoubleField_1 void SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value) (NULL, fieldID, 1)SetStaticDoubleField(clazz == NULL) do not crush
JNIEnv_SetStaticDoubleField_2 void SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value) (clazz, (jfieldID)-100, 1)SetStaticDoubleField(fieldID == (jfieldID)-100) do not crush
JNIEnv_SetStaticDoubleField_3 void SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value) (clazz, (jfieldID)100, 1)SetStaticDoubleField(fieldID == (jfieldID)100) do not crush
JNIEnv_SetStaticDoubleField_4 void SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value) (clazz, NULL, 1)SetStaticDoubleField(fieldID == NULL) do not crush
JNIEnv_SetStaticDoubleField_5 void SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value) (clazz, fieldID, (jdouble)100)SetStaticDoubleField(all correct, value == 100) set correct value to field
JNIEnv_SetStaticDoubleField_6 void SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value) (clazz, fieldID, -100)SetStaticDoubleField(all correct, value == -100) set correct value to field
JNIEnv_SetStaticFloatField_1 void SetStaticFloatField(jclass clazz, jfieldID fieldID, jfloat value) (NULL, fieldID, 1)SetStaticFloatField(clazz == NULL) do not crush
JNIEnv_SetStaticFloatField_2 void SetStaticFloatField(jclass clazz, jfieldID fieldID, jfloat value) (clazz, (jfieldID)-100, 1)SetStaticFloatField(fieldID == (jfieldID)-100) do not crush
JNIEnv_SetStaticFloatField_3 void SetStaticFloatField(jclass clazz, jfieldID fieldID, jfloat value) (clazz, (jfieldID)100, 1)SetStaticFloatField(fieldID == (jfieldID)100) do not crush
JNIEnv_SetStaticFloatField_4 void SetStaticFloatField(jclass clazz, jfieldID fieldID, jfloat value) (clazz, NULL, 1)SetStaticFloatField(fieldID == NULL) do not crush
JNIEnv_SetStaticFloatField_5 void SetStaticFloatField(jclass clazz, jfieldID fieldID, jfloat value) (clazz, fieldID, 1)SetStaticFloatField(all right, value == 1) return correct value
JNIEnv_SetStaticIntField_1 void SetStaticIntField(jclass clazz, jfieldID fieldID, jint value) (NULL, fieldID, 1)SetStaticIntField(clazz == NULL) do not crush
JNIEnv_SetStaticIntField_2 void SetStaticIntField(jclass clazz, jfieldID fieldID, jint value) (clazz, (jfieldID)-100, 1)SetStaticIntField(fieldID == (jfieldID)-100) do not crush
JNIEnv_SetStaticIntField_3 void SetStaticIntField(jclass clazz, jfieldID fieldID, jint value) (clazz, (jfieldID)100, 1)SetStaticIntField(fieldID == (jfieldID)100) do not crush
JNIEnv_SetStaticIntField_4 void SetStaticIntField(jclass clazz, jfieldID fieldID, jint value) (clazz, NULL, 1)SetStaticIntField(fieldID == NULL) do not crush
JNIEnv_SetStaticIntField_5 void SetStaticIntField(jclass clazz, jfieldID fieldID, jint value) (clazz, fieldID, 1)SetStaticIntField(all right, value == 1) return correct value
JNIEnv_SetStaticLongField_1 void SetStaticLongField(jclass clazz, jfieldID fieldID, jlong value) (NULL, fieldID, 1)SetStaticLongField(clazz == NULL) do not crush
JNIEnv_SetStaticLongField_2 void SetStaticLongField(jclass clazz, jfieldID fieldID, jlong value) (clazz, (jfieldID)-100, 1)SetStaticLongField(fieldID == (jfieldID)-100) do not crush
JNIEnv_SetStaticLongField_3 void SetStaticLongField(jclass clazz, jfieldID fieldID, jlong value) (clazz, (jfieldID)100, 1)SetStaticLongField(fieldID == (jfieldID)100) do not crush
JNIEnv_SetStaticLongField_4 void SetStaticLongField(jclass clazz, jfieldID fieldID, jlong value) (clazz, NULL, 1)SetStaticLongField(fieldID == NULL) do not crush
JNIEnv_SetStaticLongField_5 void SetStaticLongField(jclass clazz, jfieldID fieldID, jlong value) (clazz, fieldID, 1)SetStaticLongField(all right, value == 1) return correct value
JNIEnv_SetStaticObjectField_1 void SetStaticObjectField(jclass clazz, jfieldID fieldID, jobject value) (NULL, fieldID, str)SetStaticObjectField(clazz == NULL) return correct value
JNIEnv_SetStaticObjectField_2 void SetStaticObjectField(jclass clazz, jfieldID fieldID, jobject value) (clazz, (jfieldID)-100, str)SetStaticObjectField(fieldID incorrect negative) return correct value
JNIEnv_SetStaticObjectField_3 void SetStaticObjectField(jclass clazz, jfieldID fieldID, jobject value) (clazz, (jfieldID)100, str)SetStaticObjectField(fieldID incorrect positive) return correct value
JNIEnv_SetStaticObjectField_4 void SetStaticObjectField(jclass clazz, jfieldID fieldID, jobject value) (clazz, NULL, str)SetStaticObjectField(fieldID == NULL) return correct value
JNIEnv_SetStaticObjectField_5 void SetStaticObjectField(jclass clazz, jfieldID fieldID, jobject value) (clazz, fieldID, str)SetStaticObjectField(all right) return correct value
JNIEnv_SetStaticShortField_1 void SetStaticShortField(jclass clazz, jfieldID fieldID, jshort value) (NULL, fieldID, 1)SetStaticShortField(clazz == NULL) do not crush
JNIEnv_SetStaticShortField_2 void SetStaticShortField(jclass clazz, jfieldID fieldID, jshort value) (clazz, (jfieldID)-100, 1)SetStaticShortField(fieldID == (jfieldID)-100) do not crush
JNIEnv_SetStaticShortField_3 void SetStaticShortField(jclass clazz, jfieldID fieldID, jshort value) (clazz, (jfieldID)100, 1)SetStaticShortField(fieldID == (jfieldID)100) do not crush
JNIEnv_SetStaticShortField_4 void SetStaticShortField(jclass clazz, jfieldID fieldID, jshort value) (clazz, NULL, 1)SetStaticShortField(fieldID == NULL) do not crush
JNIEnv_SetStaticShortField_5 void SetStaticShortField(jclass clazz, jfieldID fieldID, jshort value) (clazz, fieldID, 1)SetStaticShortField(all right, value == 1) return correct value
JNIEnv_GetArrayLength_1 jsize GetArrayLength(jarray array) (arr)GetArrayLength(arr) returns correct value
JNIEnv_GetArrayLength_2 jsize GetArrayLength(jarray array) (NULL)GetArrayLength(NULL) returns correct value
JNIEnv_GetArrayLength_3 jsize GetArrayLength(jarray array) (arr)GetArrayLength(empty) returns correct value
JNIEnv_GetBooleanArrayElements_1 jboolean * GetBooleanArrayElements(jbooleanArray array, jboolean *isCopy) (NULL, &isCopy)GetBooleanArrayElements(NULL, NOT_NULL) returns correct value
JNIEnv_GetBooleanArrayElements_2 jboolean * GetBooleanArrayElements(jbooleanArray array, jboolean *isCopy) (arr, NULL)GetBooleanArrayElements(arr, NULL) returns correct value
JNIEnv_GetBooleanArrayElements_3 jboolean * GetBooleanArrayElements(jbooleanArray array, jboolean *isCopy) (arr, &isCopy)GetBooleanArrayElements(arr, NULL) returns correct value
JNIEnv_GetBooleanArrayRegion_1 void GetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len, jboolean *buf) (arr, start, leng, val)GetBooleanArrayRegion(all right) returns correct value
JNIEnv_GetByteArrayElements_1 jbyte * GetByteArrayElements(jbyteArray array, jboolean *isCopy) (NULL, &isCopy)GetByteArrayElements(NULL, NOT_NULL) returns correct value
JNIEnv_GetByteArrayElements_2 jbyte * GetByteArrayElements(jbyteArray array, jboolean *isCopy) (arr, NULL)GetByteArrayElements(arr, NULL) returns correct value
JNIEnv_GetByteArrayElements_3 jbyte * GetByteArrayElements(jbyteArray array, jboolean *isCopy) (arr, &isCopy)GetByteArrayElements(arr, NULL) returns correct value
JNIEnv_GetByteArrayRegion_1 void GetByteArrayRegion(jbyteArray array, jsize start, jsize len, jbyte *buf) (arr, start, leng, val)GetByteArrayRegion(all right) returns correct value
JNIEnv_GetCharArrayElements_1 jchar * GetCharArrayElements(jcharArray array, jboolean *isCopy) (NULL, &isCopy)GetCharArrayElements(NULL, NOT_NULL) returns correct value
JNIEnv_GetCharArrayElements_2 jchar * GetCharArrayElements(jcharArray array, jboolean *isCopy) (arr, NULL)GetCharArrayElements(arr, NULL) returns correct value
JNIEnv_GetCharArrayElements_3 jchar * GetCharArrayElements(jcharArray array, jboolean *isCopy) (arr, &isCopy)GetCharArrayElements(arr, NULL) returns correct value
JNIEnv_GetCharArrayRegion_1 void GetCharArrayRegion(jcharArray array, jsize start, jsize len, jchar *buf) (arr, start, leng, val)GetCharArrayRegion(all right) returns correct value
JNIEnv_GetDoubleArrayElements_1 jdouble * GetDoubleArrayElements(jdoubleArray array, jboolean *isCopy) (NULL, &isCopy)GetDoubleArrayElements(NULL, NOT_NULL) returns correct value
JNIEnv_GetDoubleArrayElements_2 jdouble * GetDoubleArrayElements(jdoubleArray array, jboolean *isCopy) (arr, NULL)GetDoubleArrayElements(arr, NULL) returns correct value
JNIEnv_GetDoubleArrayElements_3 jdouble * GetDoubleArrayElements(jdoubleArray array, jboolean *isCopy) (arr, &isCopy)GetDoubleArrayElements(arr, NULL) returns correct value
JNIEnv_GetDoubleArrayRegion_1 void GetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len, jdouble *buf) (arr, start, leng, val)GetDoubleArrayRegion(all right) returns correct value
JNIEnv_GetFloatArrayElements_1 jfloat * GetFloatArrayElements(jfloatArray array, jboolean *isCopy) (NULL, &isCopy)GetFloatArrayElements(NULL, NOT_NULL) returns correct value
JNIEnv_GetFloatArrayElements_2 jfloat * GetFloatArrayElements(jfloatArray array, jboolean *isCopy) (arr, NULL)GetFloatArrayElements(arr, NULL) returns correct value
JNIEnv_GetFloatArrayElements_3 jfloat * GetFloatArrayElements(jfloatArray array, jboolean *isCopy) (arr, &isCopy)GetFloatArrayElements(arr, NULL) returns correct value
JNIEnv_GetFloatArrayRegion_1 void GetFloatArrayRegion(jfloatArray array, jsize start, jsize len, jfloat *buf) (arr, start, leng, val)GetFloatArrayRegion(all right) returns correct value
JNIEnv_GetIntArrayElements_1 jint * GetIntArrayElements(jintArray array, jboolean *isCopy) (NULL, &isCopy)GetIntArrayElements(NULL, NOT_NULL) returns correct value
JNIEnv_GetIntArrayElements_2 jint * GetIntArrayElements(jintArray array, jboolean *isCopy) (arr, NULL)GetIntArrayElements(arr, NULL) returns correct value
JNIEnv_GetIntArrayElements_3 jint * GetIntArrayElements(jintArray array, jboolean *isCopy) (arr, &isCopy)GetIntArrayElements(arr, NULL) returns correct value
JNIEnv_GetIntArrayRegion_1 void GetIntArrayRegion(jintArray array, jsize start, jsize len, jint *buf) (arr, start, leng, val)GetIntArrayRegion(all right) returns correct value
JNIEnv_GetIntArrayRegion_2 void GetIntArrayRegion(jintArray array, jsize start, jsize len, jint *buf) (arr, start, leng, NULL)GetIntArrayRegion(with buf as NULL) returns correct value
JNIEnv_GetIntArrayRegion_3 void GetIntArrayRegion(jintArray array, jsize start, jsize len, jint *buf) (NULL, start, leng, val)GetIntArrayRegion(arr = NULL) returns correct value
JNIEnv_GetIntArrayRegion_4 void GetIntArrayRegion(jintArray array, jsize start, jsize len, jint *buf) (arr, start, leng, val)GetIntArrayRegion(where start is -1) returns correct value
JNIEnv_GetLongArrayElements_1 jlong * GetLongArrayElements(jlongArray array, jboolean *isCopy) (NULL, &isCopy)GetLongArrayElements(NULL, NOT_NULL) returns correct value
JNIEnv_GetLongArrayElements_2 jlong * GetLongArrayElements(jlongArray array, jboolean *isCopy) (arr, NULL)GetLongArrayElements(arr, NULL) returns correct value
JNIEnv_GetLongArrayElements_3 jlong * GetLongArrayElements(jlongArray array, jboolean *isCopy) (arr, &isCopy)GetLongArrayElements(arr, NULL) returns correct value
JNIEnv_GetLongArrayRegion_1 void GetLongArrayRegion(jlongArray array, jsize start, jsize len, jlong *buf) (arr, start, leng, val)GetLongArrayRegion(all right) returns correct value
JNIEnv_GetObjectArrayElement_1 jobject GetObjectArrayElement(jobjectArray array, jsize index) (arr, (jsize) 0)GetObjectArrayElement(all correct index >= 0 ) returns correct value - empty array
JNIEnv_GetObjectArrayElement_2 jobject GetObjectArrayElement(jobjectArray array, jsize index) (arr, (jsize) 0)NewObjectArray(object as NULL) returns correct value - empty array
JNIEnv_GetObjectArrayElement_3 jobject GetObjectArrayElement(jobjectArray array, jsize index) (NULL, (jsize) 0)NewObjectArray(array as NULL) returns correct value - empty array
JNIEnv_GetObjectArrayElement_4 jobject GetObjectArrayElement(jobjectArray array, jsize index) (arr, (jsize) -1)GetObjectArrayElement(index < 0 ) returns correct value - empty array
JNIEnv_GetObjectArrayElement_5 jobject GetObjectArrayElement(jobjectArray array, jsize index) (arr, (jsize) 6)GetObjectArrayElement(index > length ) returns correct value - empty array
JNIEnv_GetShortArrayElements_1 jshort * GetShortArrayElements(jshortArray array, jboolean *isCopy) (NULL, &isCopy)GetShortArrayElements(NULL, NOT_NULL) returns correct value
JNIEnv_GetShortArrayElements_2 jshort * GetShortArrayElements(jshortArray array, jboolean *isCopy) (arr, NULL)GetShortArrayElements(arr, NULL) returns correct value
JNIEnv_GetShortArrayElements_3 jshort * GetShortArrayElements(jshortArray array, jboolean *isCopy) (arr, &isCopy)GetShortArrayElements(arr, NULL) returns correct value
JNIEnv_GetShortArrayRegion_1 void GetShortArrayRegion(jshortArray array, jsize start, jsize len, jshort *buf) (arr, start, leng, val)GetShortArrayRegion(all right) returns correct value
JNIEnv_NewBooleanArray_1 jbooleanArray NewBooleanArray(jsize len) (5)NewBooleanArray(5) returns correct value
JNIEnv_NewBooleanArray_2 jbooleanArray NewBooleanArray(jsize len) (-5)NewBooleanArray(-5) returns correct value
JNIEnv_NewBooleanArray_3 jbooleanArray NewBooleanArray(jsize len) (0)NewBooleanArray(0) returns correct value
JNIEnv_NewByteArray_1 jbyteArray NewByteArray(jsize len) (5)NewByteArray(5) returns correct value
JNIEnv_NewByteArray_2 jbyteArray NewByteArray(jsize len) (-5)NewByteArray(-5) returns correct value
JNIEnv_NewByteArray_3 jbyteArray NewByteArray(jsize len) (0)NewByteArray(0) returns correct value
JNIEnv_NewCharArray_1 jcharArray NewCharArray(jsize len) (5)NewCharArray(5) returns correct value
JNIEnv_NewCharArray_2 jcharArray NewCharArray(jsize len) (-5)NewCharArray(-5) returns correct value
JNIEnv_NewCharArray_3 jcharArray NewCharArray(jsize len) (0)NewCharArray(0) returns correct value
JNIEnv_NewDoubleArray_1 jdoubleArray NewDoubleArray(jsize len) (5)NewDoubleArray(5) returns correct value
JNIEnv_NewDoubleArray_2 jdoubleArray NewDoubleArray(jsize len) (-5)NewDoubleArray(-5) returns correct value
JNIEnv_NewDoubleArray_3 jdoubleArray NewDoubleArray(jsize len) (0)NewDoubleArray(0) returns correct value
JNIEnv_NewFloatArray_1 jfloatArray NewFloatArray(jsize len) (5)NewFloatArray(5) returns correct value
JNIEnv_NewFloatArray_2 jfloatArray NewFloatArray(jsize len) (-5)NewFloatArray(-5) returns correct value
JNIEnv_NewFloatArray_3 jfloatArray NewFloatArray(jsize len) (0)NewFloatArray(0) returns correct value
JNIEnv_NewIntArray_1 jintArray NewIntArray(jsize len) (5)NewIntArray(5) returns correct value
JNIEnv_NewIntArray_2 jintArray NewIntArray(jsize len) (-5)NewIntArray(-5) returns correct value
JNIEnv_NewIntArray_3 jintArray NewIntArray(jsize len) (0)NewIntArray(0) returns correct value
JNIEnv_NewLongArray_1 jlongArray NewLongArray(jsize len) (5)NewLongArray(5) returns correct value
JNIEnv_NewLongArray_2 jlongArray NewLongArray(jsize len) (-5)NewLongArray(-5) returns correct value
JNIEnv_NewLongArray_3 jlongArray NewLongArray(jsize len) (0)NewLongArray(0) returns correct value
JNIEnv_NewObjectArray_1 jobjectArray NewObjectArray(jsize len, jclass clazz, jobject init) (5, clazz, NULL)NewObjectArray(obj ia NULL) returns correct value
JNIEnv_NewObjectArray_2 jobjectArray NewObjectArray(jsize len, jclass clazz, jobject init) (-5, clazz, NULL)NewObjectArray(-5, clazz, NULL) returns correct value
JNIEnv_NewObjectArray_3 jobjectArray NewObjectArray(jsize len, jclass clazz, jobject init) (0, clazz, obj)NewObjectArray(all correct with length = 0 ) returns correct value - empty array
JNIEnv_NewObjectArray_4 jobjectArray NewObjectArray(jsize len, jclass clazz, jobject init) (4, clazz, obj)NewObjectArray(all correct with length > 0 ) returns correct value - empty array
JNIEnv_NewObjectArray_5 jobjectArray NewObjectArray(jsize len, jclass clazz, jobject init) (5, clazz, obj_incor)NewObjectArray(obj is incorrect) returns correct value
JNIEnv_NewObjectArray_6 jobjectArray NewObjectArray(jsize len, jclass clazz, jobject init) (5, NULL, obj)NewObjectArray(obj is incorrect) returns correct value
JNIEnv_NewShortArray_1 jshortArray NewShortArray(jsize len) (5)NewShortArray(5) returns correct value
JNIEnv_NewShortArray_2 jshortArray NewShortArray(jsize len) (-5)NewShortArray(-5) returns correct value
JNIEnv_NewShortArray_3 jshortArray NewShortArray(jsize len) (0)NewShortArray(0) returns correct value
JNIEnv_ReleaseBooleanArrayElements_1 void ReleaseBooleanArrayElements(jbooleanArray array, jboolean *elems, jint mode) (arr, val, 0)ReleaseBooleanArrayElements(arr, val, 0) is correct
JNIEnv_ReleaseBooleanArrayElements_2 void ReleaseBooleanArrayElements(jbooleanArray array, jboolean *elems, jint mode) (arr, val, JNI_ABORT)ReleaseBooleanArrayElements(arr, val, JNI_ABORT) is correct
JNIEnv_ReleaseBooleanArrayElements_3 void ReleaseBooleanArrayElements(jbooleanArray array, jboolean *elems, jint mode) (arr, val, JNI_COMMIT)ReleaseBooleanArrayElements(arr, val, JNI_COMMIT) is correct
JNIEnv_ReleaseByteArrayElements_1 void ReleaseByteArrayElements(jbyteArray array, jbyte *elems, jint mode) (arr, val, 0)ReleaseByteArrayElements(arr, val, 0) is correct
JNIEnv_ReleaseByteArrayElements_2 void ReleaseByteArrayElements(jbyteArray array, jbyte *elems, jint mode) (arr, val, JNI_ABORT)ReleaseByteArrayElements(arr, val, JNI_ABORT) is correct
JNIEnv_ReleaseByteArrayElements_3 void ReleaseByteArrayElements(jbyteArray array, jbyte *elems, jint mode) (arr, val, JNI_COMMIT)ReleaseByteArrayElements(arr, val, JNI_COMMIT) is correct
JNIEnv_ReleaseCharArrayElements_1 void ReleaseCharArrayElements(jcharArray array, jchar *elems, jint mode) (arr, val, 0)ReleaseCharArrayElements(arr, val, 0) is correct
JNIEnv_ReleaseCharArrayElements_2 void ReleaseCharArrayElements(jcharArray array, jchar *elems, jint mode) (arr, val, JNI_ABORT)ReleaseCharArrayElements(arr, val, JNI_ABORT) is correct
JNIEnv_ReleaseCharArrayElements_3 void ReleaseCharArrayElements(jcharArray array, jchar *elems, jint mode) (arr, val, JNI_COMMIT)ReleaseCharArrayElements(arr, val, JNI_COMMIT) is correct
JNIEnv_ReleaseDoubleArrayElements_1 void ReleaseDoubleArrayElements(jdoubleArray array, jdouble *elems, jint mode) (arr, val, 0)ReleaseDoubleArrayElements(arr, val, 0) is correct
JNIEnv_ReleaseDoubleArrayElements_2 void ReleaseDoubleArrayElements(jdoubleArray array, jdouble *elems, jint mode) (arr, val, JNI_ABORT)ReleaseDoubleArrayElements(arr, val, JNI_ABORT) is correct
JNIEnv_ReleaseDoubleArrayElements_3 void ReleaseDoubleArrayElements(jdoubleArray array, jdouble *elems, jint mode) (arr, val, JNI_COMMIT)ReleaseDoubleArrayElements(arr, val, JNI_COMMIT) is correct
JNIEnv_ReleaseFloatArrayElements_1 void ReleaseFloatArrayElements(jfloatArray array, jfloat *elems, jint mode) (arr, val, 0)ReleaseFloatArrayElements(arr, val, 0) is correct
JNIEnv_ReleaseFloatArrayElements_2 void ReleaseFloatArrayElements(jfloatArray array, jfloat *elems, jint mode) (arr, val, JNI_ABORT)ReleaseFloatArrayElements(arr, val, JNI_ABORT) is correct
JNIEnv_ReleaseFloatArrayElements_3 void ReleaseFloatArrayElements(jfloatArray array, jfloat *elems, jint mode) (arr, val, JNI_COMMIT)ReleaseFloatArrayElements(arr, val, JNI_COMMIT) is correct
JNIEnv_ReleaseIntArrayElements_1 void ReleaseIntArrayElements(jintArray array, jint *elems, jint mode) (arr, val, 0)ReleaseIntArrayElements(arr, val, 0) is correct
JNIEnv_ReleaseIntArrayElements_2 void ReleaseIntArrayElements(jintArray array, jint *elems, jint mode) (arr, val, JNI_ABORT)ReleaseIntArrayElements(arr, val, JNI_ABORT) is correct
JNIEnv_ReleaseIntArrayElements_3 void ReleaseIntArrayElements(jintArray array, jint *elems, jint mode) (arr, val, JNI_COMMIT)ReleaseIntArrayElements(arr, val, JNI_COMMIT) is correct
JNIEnv_ReleaseLongArrayElements_1 void ReleaseLongArrayElements(jlongArray array, jlong *elems, jint mode) (arr, val, 0)ReleaseLongArrayElements(arr, val, 0) is correct
JNIEnv_ReleaseLongArrayElements_2 void ReleaseLongArrayElements(jlongArray array, jlong *elems, jint mode) (arr, val, JNI_ABORT)ReleaseLongArrayElements(arr, val, JNI_ABORT) is correct
JNIEnv_ReleaseLongArrayElements_3 void ReleaseLongArrayElements(jlongArray array, jlong *elems, jint mode) (arr, val, JNI_COMMIT)ReleaseLongArrayElements(arr, val, JNI_COMMIT) is correct
JNIEnv_ReleaseShortArrayElements_1 void ReleaseShortArrayElements(jshortArray array, jshort *elems, jint mode) (arr, val, 0)ReleaseShortArrayElements(arr, val, 0) is correct
JNIEnv_ReleaseShortArrayElements_2 void ReleaseShortArrayElements(jshortArray array, jshort *elems, jint mode) (arr, val, JNI_ABORT)ReleaseShortArrayElements(arr, val, JNI_ABORT) is correct
JNIEnv_ReleaseShortArrayElements_3 void ReleaseShortArrayElements(jshortArray array, jshort *elems, jint mode) (arr, val, JNI_COMMIT)ReleaseShortArrayElements(arr, val, JNI_COMMIT) is correct
JNIEnv_SetBooleanArrayRegion_1 void SetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len, jboolean *buf) (arr, start, leng, buf)SetBooleanArrayRegion(all correct) returns correct value
JNIEnv_SetByteArrayRegion_1 void SetByteArrayRegion(jbyteArray array, jsize start, jsize len, jbyte *buf) (arr, start, leng, buf)SetByteArrayRegion(all correct) returns correct value
JNIEnv_SetCharArrayRegion_1 void SetCharArrayRegion(jcharArray array, jsize start, jsize len, jchar *buf) (arr, start, leng, buf)SetCharArrayRegion(arr, NULL) returns correct value
JNIEnv_SetDoubleArrayRegion_1 void SetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len, jdouble *buf) (arr, start, leng, buf)SetDoubleArrayRegion(all right) returns correct value
JNIEnv_SetFloatArrayRegion_1 void SetFloatArrayRegion(jfloatArray array, jsize start, jsize len, jfloat *buf) (arr, start, leng, buf)SetFloatArrayRegion(all right) returns correct value
JNIEnv_SetIntArrayRegion_1 void SetIntArrayRegion(jintArray array, jsize start, jsize len, jint *buf) (arr, start, leng, buf)SetIntArrayRegion(all right) returns correct value
JNIEnv_SetIntArrayRegion_2 void SetIntArrayRegion(jintArray array, jsize start, jsize len, jint *buf) (arr, start, leng, NULL)SetIntArrayRegion(with buf as NULL) returns correct value
JNIEnv_SetIntArrayRegion_3 void SetIntArrayRegion(jintArray array, jsize start, jsize len, jint *buf) (NULL, start, leng, buf)SetIntArrayRegion(arr = NULL) returns correct value
JNIEnv_SetIntArrayRegion_4 void SetIntArrayRegion(jintArray array, jsize start, jsize len, jint *buf) (arr, start, leng, buf)SetIntArrayRegion(where start is -1) returns correct value
JNIEnv_SetLongArrayRegion_1 void SetLongArrayRegion(jlongArray array, jsize start, jsize len, jlong *buf) (arr, start, leng, buf)SetLongArrayRegion(all right) returns correct value
JNIEnv_SetObjectArrayElement_1 void SetObjectArrayElement(jobjectArray array, jsize index, jobject val) (arr, (jsize)0, str1)SetObjectArrayElement(all correct, index = 0 ) returns correct value - empty array
JNIEnv_SetObjectArrayElement_2 void SetObjectArrayElement(jobjectArray array, jsize index, jobject val) (arr, (jsize)0, NULL)SetObjectArrayElement(all correct, element = NULL) returns correct value - empty array
JNIEnv_SetObjectArrayElement_3 void SetObjectArrayElement(jobjectArray array, jsize index, jobject val) (arr, (jsize)-1, str1)SetObjectArrayElement(index < 0 ) returns correct value - empty array
JNIEnv_SetObjectArrayElement_4 void SetObjectArrayElement(jobjectArray array, jsize index, jobject val) (arr, (jsize)6, str1)SetObjectArrayElement(index > length ) returns correct value - empty array
JNIEnv_SetObjectArrayElement_5 void SetObjectArrayElement(jobjectArray array, jsize index, jobject val) (arr, (jsize)6, obj_incor)SetObjectArrayElement(incorrect object) returns correct value - empty array
JNIEnv_SetShortArrayRegion_1 void SetShortArrayRegion(jshortArray array, jsize start, jsize len, jshort *buf) (arr, start, leng, buf)SetShortArrayRegion(all right) returns correct value
JNIEnv_CallBooleanMethod_1 jboolean CallBooleanMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallBooleanMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallBooleanMethod_2 jboolean CallBooleanMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallBooleanMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallBooleanMethod_3 jboolean CallBooleanMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallBooleanMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallBooleanMethod_4 jboolean CallBooleanMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_FALSE, 0, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallBooleanMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallByteMethod_1 jbyte CallByteMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallByteMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallByteMethod_2 jbyte CallByteMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallByteMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallByteMethod_3 jbyte CallByteMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, MIN_JBYTE, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallByteMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallByteMethod_4 jbyte CallByteMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, MAX_JBYTE, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallByteMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallCharMethod_1 jchar CallCharMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallCharMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallCharMethod_2 jchar CallCharMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallCharMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallCharMethod_3 jchar CallCharMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, MIN_JBYTE, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallCharMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallCharMethod_4 jchar CallCharMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, MIN_JBYTE, NULL, 1, 123, 0, 0, 100, NULL, NULL)CallCharMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallDoubleMethod_1 jdouble CallDoubleMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallDoubleMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallDoubleMethod_2 jdouble CallDoubleMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallDoubleMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallDoubleMethod_3 jdouble CallDoubleMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallDoubleMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallDoubleMethod_4 jdouble CallDoubleMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, MIN_JDOUBLE, NULL, NULL)CallDoubleMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallFloatMethod_1 jfloat CallFloatMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallFloatMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallFloatMethod_2 jfloat CallFloatMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallFloatMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallFloatMethod_3 jfloat CallFloatMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, MIN_JFLOAT, 100, NULL, NULL)CallFloatMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallFloatMethod_4 jfloat CallFloatMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, MAX_JFLOAT, 100, NULL, NULL)CallFloatMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallIntMethod_1 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, NULL)CallIntMethod with sig = \"()I\" return correct value
JNIEnv_CallIntMethod_10 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for public final not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_11 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for public synchronized not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_12 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for public synchronized not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_13 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, 10)CallIntMethod for public not inherited method that thrown exception really thrown exception
JNIEnv_CallIntMethod_14 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for public not inherited method that thrown exception really thrown exception
JNIEnv_CallIntMethod_15 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA with sig = \"()I\" return correct value
JNIEnv_CallIntMethod_16 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', 1, MAX_JINT, 0, 0, MAX_JDOUBLE, NULL, NULL)CallIntMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_17 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', 1, MIN_JINT, 0, 0, MAX_JDOUBLE, NULL, NULL)CallIntMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_18 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_19 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_2 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_3 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for private not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_4 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for protected not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_5 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for no-modifiers not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_6 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for public inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_7 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for private inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_8 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for protected inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallIntMethod_9 jint CallIntMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallIntMethodA for no-modifiers inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallLongMethod_1 jlong CallLongMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallLongMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallLongMethod_2 jlong CallLongMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallLongMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallLongMethod_3 jlong CallLongMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', 1, 123, MAX_JLONG, 0, MAX_JDOUBLE, NULL, NULL)CallLongMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallLongMethod_4 jlong CallLongMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', 1, 123, MIN_JLONG, 0, MAX_JDOUBLE, NULL, NULL)CallLongMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallNonvirtualBooleanMethod_1 jboolean CallNonvirtualBooleanMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualBooleanMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallNonvirtualBooleanMethod_2 jboolean CallNonvirtualBooleanMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualBooleanMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallNonvirtualBooleanMethod_3 jboolean CallNonvirtualBooleanMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallNonvirtualBooleanMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallNonvirtualBooleanMethod_4 jboolean CallNonvirtualBooleanMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_FALSE, 0, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallNonvirtualBooleanMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallNonvirtualByteMethod_1 jbyte CallNonvirtualByteMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualByteMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallNonvirtualByteMethod_2 jbyte CallNonvirtualByteMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualByteMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallNonvirtualByteMethod_3 jbyte CallNonvirtualByteMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, MIN_JBYTE, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallNonvirtualByteMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallNonvirtualByteMethod_4 jbyte CallNonvirtualByteMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, MAX_JBYTE, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallNonvirtualByteMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallNonvirtualCharMethod_1 jchar CallNonvirtualCharMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualCharMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallNonvirtualCharMethod_2 jchar CallNonvirtualCharMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualCharMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallNonvirtualCharMethod_3 jchar CallNonvirtualCharMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, MIN_JBYTE, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallNonvirtualCharMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallNonvirtualCharMethod_4 jchar CallNonvirtualCharMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, MIN_JBYTE, NULL, 1, 123, 0, 0, 100, NULL, NULL)CallNonvirtualCharMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallNonvirtualDoubleMethod_1 jdouble CallNonvirtualDoubleMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualDoubleMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallNonvirtualDoubleMethod_2 jdouble CallNonvirtualDoubleMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualDoubleMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallNonvirtualDoubleMethod_3 jdouble CallNonvirtualDoubleMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallNonvirtualDoubleMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallNonvirtualDoubleMethod_4 jdouble CallNonvirtualDoubleMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, MIN_JDOUBLE, NULL, NULL)CallNonvirtualDoubleMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallNonvirtualFloatMethod_1 jfloat CallNonvirtualFloatMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualFloatMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallNonvirtualFloatMethod_2 jfloat CallNonvirtualFloatMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualFloatMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallNonvirtualFloatMethod_3 jfloat CallNonvirtualFloatMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, MIN_JFLOAT, 100, NULL, NULL)CallNonvirtualFloatMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallNonvirtualFloatMethod_4 jfloat CallNonvirtualFloatMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, MAX_JFLOAT, 100, NULL, NULL)CallNonvirtualFloatMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallNonvirtualIntMethod_1 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, 10)CallNonvirtualIntMethod for public not inherited method that thrown exception really thrown exception
JNIEnv_CallNonvirtualIntMethod_10 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for no-modifiers not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_11 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for public inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_12 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for private inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_13 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for protected inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_14 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for no-modifiers inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_15 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for public final not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_16 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for public synchronized not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_17 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for public synchronized not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_18 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for public synchronized not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_19 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for public synchronized not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_2 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA for public not inherited method that thrown exception really thrown exception
JNIEnv_CallNonvirtualIntMethod_20 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for public synchronized not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_21 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for public synchronized not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_22 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for public final not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_23 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for no-modifiers inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_24 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for protected inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_25 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for private inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_26 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for public inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_27 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for no-modifiers not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_28 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for protected not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_29 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for private not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_30 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA (with class = superclass) for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_31 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', 1, MAX_JINT, 0, 0, MAX_JDOUBLE, NULL, NULL)CallNonvirtualIntMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_32 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', 1, MIN_JINT, 0, 0, MAX_JDOUBLE, NULL, NULL)CallNonvirtualIntMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_33 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_34 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_4 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, NULL)CallNonvirtualIntMethod with sig = \"()I\" return correct value
JNIEnv_CallNonvirtualIntMethod_5 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualIntMethodA with sig = \"()I\" return correct value
JNIEnv_CallNonvirtualIntMethod_7 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_8 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for private not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualIntMethod_9 jint CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, clazz, MethodID, args)CallNonvirtualIntMethodA for protected not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallNonvirtualLongMethod_1 jlong CallNonvirtualLongMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualLongMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallNonvirtualLongMethod_2 jlong CallNonvirtualLongMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualLongMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallNonvirtualLongMethod_3 jlong CallNonvirtualLongMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', 1, 123, MAX_JLONG, 0, MAX_JDOUBLE, NULL, NULL)CallNonvirtualLongMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallNonvirtualLongMethod_4 jlong CallNonvirtualLongMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', 1, 123, MIN_JLONG, 0, MAX_JDOUBLE, NULL, NULL)CallNonvirtualLongMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallNonvirtualObjectMethod_1 jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallNonvirtualObjectMethod_2 jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallNonvirtualObjectMethod_3 jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, jpath, NULL)CallNonvirtualObjectMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallNonvirtualObjectMethod_4 jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallNonvirtualObjectMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallNonvirtualObjectMethod_5 jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_CallNonvirtualObjectMethod_6 jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_CallNonvirtualObjectMethod_7 jobject CallNonvirtualObjectMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, jpath, NULL)CallNonvirtualObjectMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_CallNonvirtualShortMethod_1 jshort CallNonvirtualShortMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualShortMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallNonvirtualShortMethod_2 jshort CallNonvirtualShortMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualShortMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallNonvirtualShortMethod_3 jshort CallNonvirtualShortMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', MAX_JSHORT, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallNonvirtualShortMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallNonvirtualShortMethod_4 jshort CallNonvirtualShortMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallNonvirtualShortMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallNonvirtualVoidMethod_1 void CallNonvirtualVoidMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, args)CallNonvirtualVoidMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallNonvirtualVoidMethod_2 void CallNonvirtualVoidMethod(jobject obj, jclass clazz, jmethodID methodID, ...) (obj, env->GetSuperclass(clazz), MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallNonvirtualVoidMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallObjectMethod_1 jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallObjectMethod_2 jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallObjectMethod_3 jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, jpath, NULL)CallObjectMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallObjectMethod_4 jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallObjectMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallObjectMethod_5 jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_CallObjectMethod_6 jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_CallObjectMethod_7 jobject CallObjectMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, jpath, NULL)CallObjectMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_CallShortMethod_1 jshort CallShortMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallShortMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallShortMethod_2 jshort CallShortMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallShortMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallShortMethod_3 jshort CallShortMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', MAX_JSHORT, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallShortMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallShortMethod_4 jshort CallShortMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallShortMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallVoidMethod_1 void CallVoidMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, args)CallVoidMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallVoidMethod_2 void CallVoidMethod(jobject obj, jmethodID methodID, ...) (obj, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallVoidMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_GetMethodID_1 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (NULL, "Print_string", "(Ljava/lang/String;)V")GetMethodID with class == NULL return 0, its correct
JNIEnv_GetMethodID_10 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_method5", "(ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)GetMethodID for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_GetMethodID_11 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Get_int_field", "()GetMethodID for public method from non-abstract class, not inherited return correct value
JNIEnv_GetMethodID_12 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_public_final", "(I)GetMethodID for public final method from non-abstract class, not inherited return correct value
JNIEnv_GetMethodID_13 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_public_sinc", "(I)GetMethodID for public synchronized method from non-abstract class, not inherited return correct value
JNIEnv_GetMethodID_14 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "mprint", "(I)GetMethodID for public native method from non-abstract class, not inherited return correct value
JNIEnv_GetMethodID_15 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Test_method", "()GetMethodID for public method from children of interface return correct value
JNIEnv_GetMethodID_16 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "Test_method", "()V")GetMethodID for public method from interface return correct value (0)
JNIEnv_GetMethodID_17 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Test2_override", "(I)GetMethodID for public overrided method from non-abstract class, not inherited return correct value
JNIEnv_GetMethodID_18 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "Test8_method1", "()V")GetMethodID for public method from abstract class inherited from interface return correct value
JNIEnv_GetMethodID_19 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "Abs_public_abstract_int", "(I)I")GetMethodID for public abstract method from abstract class return correct value
JNIEnv_GetMethodID_2 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string", NULL)GetMethodID with sig==NULL return 0, its correct
JNIEnv_GetMethodID_20 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "Abs_protected_abstract_int", "(I)I")GetMethodID for protected abstract method from abstract class return correct value
JNIEnv_GetMethodID_21 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "Abs_nomod_abstract_int", "(I)I")GetMethodID for no-modifier abstract method from abstract class return correct value
JNIEnv_GetMethodID_22 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "Test9_abs_public_int", "(I)I")GetMethodID for public abstract method from super-abstract class return correct value
JNIEnv_GetMethodID_23 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "Test9_abs_protected_int", "(I)I")GetMethodID for protected abstract method from super-abstract class return correct value
JNIEnv_GetMethodID_24 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "Test9_abs_nomod_int", "(I)I")GetMethodID for no-modifiers abstract method from super-abstract class return correct value
JNIEnv_GetMethodID_25 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "", "(S)GetMethodID for no-modifiers constructor in non-abstract class return correct value
JNIEnv_GetMethodID_26 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "", "(Z)GetMethodID for protected constructor in non-abstract class return correct value
JNIEnv_GetMethodID_27 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "", "(I)GetMethodID for public constructor in non-abstract class return correct value
JNIEnv_GetMethodID_28 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "", "(Ljava/lang/String;)V")GetMethodID for public constructor in abstract class return correct value
JNIEnv_GetMethodID_29 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "", "(I)V")GetMethodID for private constructor in abstract class return correct value
JNIEnv_GetMethodID_3 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( NULL, "(Ljava/lang/String;)GetMethodID for name = NULL return 0, its correct
JNIEnv_GetMethodID_30 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "", "()V")GetMethodID for protected constructor in abstract class return correct value
JNIEnv_GetMethodID_31 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) (clazz, "", "(ILjava/lang/String;)V")GetMethodID for no-modifiers constructor in abstract class return correct value
JNIEnv_GetMethodID_32 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "", "()GetMethodID for private constructor in non-abstract class return correct value
JNIEnv_GetMethodID_33 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_private", "(Ljava/lang/String;)GetMethodID for private method from non-abstract class, not inherited return correct value
JNIEnv_GetMethodID_34 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_protected", "(Ljava/lang/String;)GetMethodID for protected method from non-abstract class, not inherited return correct value
JNIEnv_GetMethodID_35 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_nomod", "(Ljava/lang/String;)GetMethodID for no-modifiers method from non-abstract class, not inherited return correct value
JNIEnv_GetMethodID_36 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_super_protected", "(Ljava/lang/String;)GetMethodID for protected method from non-abstract class, inherited from superclass return correct value
JNIEnv_GetMethodID_37 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_super_nomod", "(Ljava/lang/String;)GetMethodID for no-modifiers method from non-abstract class, inherited from superclass return correct value
JNIEnv_GetMethodID_38 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Get_int_field_super_private", "()GetMethodID for private method from non-abstract class, inherited from superclass return correct value
JNIEnv_GetMethodID_39 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Get_int_field_super", "()GetMethodID for public method from non-abstract class, inherited from superclass return correct value
JNIEnv_GetMethodID_4 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string", "")GetMethodID with incorrect sig return 0, its correct
JNIEnv_GetMethodID_5 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "name_not_exist", "(Ljava/lang/String;)GetMethodID for not existing name return 0, its correct
JNIEnv_GetMethodID_6 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_method1", "()GetMethodID for public not inherited method (sig = ()V) return correct value
JNIEnv_GetMethodID_7 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_method2", "(ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)GetMethodID for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)V) return correct value
JNIEnv_GetMethodID_8 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_method3", "(ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)GetMethodID for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_GetMethodID_9 jmethodID GetMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_method4", "(ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)GetMethodID for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallStaticBooleanMethod_1 jboolean CallStaticBooleanMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticBooleanMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallStaticBooleanMethod_2 jboolean CallStaticBooleanMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticBooleanMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallStaticBooleanMethod_3 jboolean CallStaticBooleanMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallStaticBooleanMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallStaticBooleanMethod_4 jboolean CallStaticBooleanMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_FALSE, 0, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallStaticBooleanMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallStaticByteMethod_1 jbyte CallStaticByteMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticByteMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallStaticByteMethod_2 jbyte CallStaticByteMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticByteMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallStaticByteMethod_3 jbyte CallStaticByteMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, MIN_JBYTE, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallStaticByteMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallStaticByteMethod_4 jbyte CallStaticByteMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, MAX_JBYTE, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallStaticByteMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)B) return correct value
JNIEnv_CallStaticCharMethod_1 jchar CallStaticCharMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticCharMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallStaticCharMethod_2 jchar CallStaticCharMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticCharMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallStaticCharMethod_3 jchar CallStaticCharMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, MIN_JBYTE, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallStaticCharMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallStaticCharMethod_4 jchar CallStaticCharMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, MIN_JBYTE, NULL, 1, 123, 0, 0, 100, NULL, NULL)CallStaticCharMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)C) return correct value
JNIEnv_CallStaticDoubleMethod_1 jdouble CallStaticDoubleMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticDoubleMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallStaticDoubleMethod_2 jdouble CallStaticDoubleMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticDoubleMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallStaticDoubleMethod_3 jdouble CallStaticDoubleMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallStaticDoubleMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallStaticDoubleMethod_4 jdouble CallStaticDoubleMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, MIN_JDOUBLE, NULL, NULL)CallStaticDoubleMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)D) return correct value
JNIEnv_CallStaticFloatMethod_1 jfloat CallStaticFloatMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticFloatMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallStaticFloatMethod_2 jfloat CallStaticFloatMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticFloatMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallStaticFloatMethod_3 jfloat CallStaticFloatMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, MIN_JFLOAT, 100, NULL, NULL)CallStaticFloatMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallStaticFloatMethod_4 jfloat CallStaticFloatMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, MAX_JFLOAT, 100, NULL, NULL)CallStaticFloatMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)F) return correct value
JNIEnv_CallStaticIntMethod_1 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, NULL)CallStaticIntMethod with sig = \"()I\" return correct value
JNIEnv_CallStaticIntMethod_10 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for no-modifiers not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_11 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for public inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_12 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for private inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_13 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for protected inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_14 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for no-modifiers inherited from superclass method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_15 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for public final not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_16 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for public synchronized not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_17 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for public synchronized not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_18 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_19 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_2 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA with sig = \"()I\" return correct value
JNIEnv_CallStaticIntMethod_20 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', 1, MAX_JINT, 0, 0, MAX_JDOUBLE, NULL, NULL)CallStaticIntMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_21 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', 1, MIN_JINT, 0, 0, MAX_JDOUBLE, NULL, NULL)CallStaticIntMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_4 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, 10)CallStaticIntMethod for public not inherited method that thrown exception really thrown exception
JNIEnv_CallStaticIntMethod_5 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for public not inherited method that thrown exception really thrown exception
JNIEnv_CallStaticIntMethod_7 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_8 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for private not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticIntMethod_9 jint CallStaticIntMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticIntMethodA for protected not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_CallStaticLongMethod_1 jlong CallStaticLongMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticLongMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallStaticLongMethod_2 jlong CallStaticLongMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticLongMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallStaticLongMethod_3 jlong CallStaticLongMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', 1, 123, MAX_JLONG, 0, MAX_JDOUBLE, NULL, NULL)CallStaticLongMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallStaticLongMethod_4 jlong CallStaticLongMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', 1, 123, MIN_JLONG, 0, MAX_JDOUBLE, NULL, NULL)CallStaticLongMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)J) return correct value
JNIEnv_CallStaticObjectMethod_1 jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallStaticObjectMethod_2 jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallStaticObjectMethod_3 jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, jpath, NULL)CallStaticObjectMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallStaticObjectMethod_4 jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallStaticObjectMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_CallStaticObjectMethod_5 jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_CallStaticObjectMethod_6 jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallObjectMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_CallStaticObjectMethod_7 jobject CallStaticObjectMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, jpath, NULL)CallObjectMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_CallStaticShortMethod_1 jshort CallStaticShortMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticShortMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallStaticShortMethod_2 jshort CallStaticShortMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticShortMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallStaticShortMethod_3 jshort CallStaticShortMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', MAX_JSHORT, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallStaticShortMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallStaticShortMethod_4 jshort CallStaticShortMethod(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', MIN_JSHORT, 123, 0, 0, MAX_JDOUBLE, NULL, NULL)CallStaticShortMethod for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)S) return correct value
JNIEnv_CallStaticVoidMethod_1 void CallStaticVoidMethod(jclass cls, jmethodID methodID, ...) (clazz, MethodID, args)CallStaticVoidMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_CallStaticVoidMethod_2 void CallStaticVoidMethod(jclass cls, jmethodID methodID, ...) (clazz, MethodID, JNI_TRUE, 0, 'a', 1, 123, 0, 0, 100, NULL, NULL)CallStaticVoidMethodA for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Z) return correct value
JNIEnv_GetStaticMethodID_1 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) (NULL, "Print_string_static", "(Ljava/lang/String;)V")GetStaticMethodID with class == NULL return 0, its correct
JNIEnv_GetStaticMethodID_10 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_method5_static", "(ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)GetStaticMethodID for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;) return correct value
JNIEnv_GetStaticMethodID_11 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Test2_override_static", "(I)GetStaticMethodID for public overrided method from non-abstract class, not inherited return correct value
JNIEnv_GetStaticMethodID_12 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Get_int_field_static", "()GetStaticMethodID for public static method from non-abstract class, not inherited return correct value
JNIEnv_GetStaticMethodID_13 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_public_final_static", "(I)GetStaticMethodID for public static final method from non-abstract class, not inherited return correct value
JNIEnv_GetStaticMethodID_14 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_public_sinc_static", "(I)GetStaticMethodID for public static synchronized method from non-abstract class, not inherited return correct value
JNIEnv_GetStaticMethodID_15 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "mprint_static", "(I)GetStaticMethodID for public native method from non-abstract class, not inherited return correct value
JNIEnv_GetStaticMethodID_16 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_nomod_static", "(Ljava/lang/String;)GetStaticMethodID for nomod static method from non-abstract class, not inherited return correct value
JNIEnv_GetStaticMethodID_17 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_protected_static", "(Ljava/lang/String;)GetStaticMethodID for protected static method from non-abstract class, not inherited return correct value
JNIEnv_GetStaticMethodID_18 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_private_static", "(Ljava/lang/String;)GetStaticMethodID for private method from non-abstract class, not inherited return correct value
JNIEnv_GetStaticMethodID_19 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Get_int_field_super_static", "()GetStaticMethodID for public method from non-abstract class, inherited from superclass return correct value
JNIEnv_GetStaticMethodID_2 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_static", NULL)GetStaticMethodID with sig==NULL return 0, its correct
JNIEnv_GetStaticMethodID_20 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_super_nomod_static", "(Ljava/lang/String;)GetStaticMethodID for nomod static method from non-abstract class, inherited from superclass return correct value
JNIEnv_GetStaticMethodID_21 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_super_protected_static", "(Ljava/lang/String;)GetStaticMethodID for protected static method from non-abstract class, inherited from superclass return correct value
JNIEnv_GetStaticMethodID_22 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Get_int_field_super_private_static", "()GetStaticMethodID for private method from non-abstract class, inherited from superclass return correct value
JNIEnv_GetStaticMethodID_3 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( NULL, "(Ljava/lang/String;)GetStaticMethodID for name = NULL return 0, its correct
JNIEnv_GetStaticMethodID_4 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Print_string_static", "")GetStaticMethodID with incorrect sig return 0, its correct
JNIEnv_GetStaticMethodID_5 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "name_not_exist", "(Ljava/lang/String;)GetStaticMethodID for not existing name return 0, its correct
JNIEnv_GetStaticMethodID_6 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_method1_static", "()GetStaticMethodID for public not inherited method (sig = ()V) return correct value
JNIEnv_GetStaticMethodID_7 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_method2_static", "(ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)GetStaticMethodID for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)V) return correct value
JNIEnv_GetStaticMethodID_8 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_method3_static", "(ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)GetStaticMethodID for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)I) return correct value
JNIEnv_GetStaticMethodID_9 jmethodID GetStaticMethodID(jclass clazz, const char *name, const char *sig) ( "Test1_method4_static", "(ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)GetStaticMethodID for public not inherited method (sig = (ZBCSIJFDLjava/lang/String;[Ljava/lang/String;)Ljava/lang/String;) return correct value
JNIEnv_FindClass_1 jclass FindClass(const char *name) (NULL)FindClass(NULL) return NULL - correct
JNIEnv_FindClass_2 jclass FindClass(const char *name) ("Test1")FindClass(name of existing class) return correct value
JNIEnv_FindClass_3 jclass FindClass(const char *name) ("")FindClass(empty string) return NULL - correct
JNIEnv_FindClass_4 jclass FindClass(const char *name) ("Testx")FindClass(name of non existing class) return NULL - correct
JNIEnv_FindClass_5 jclass FindClass(const char *name) ("Test4")FindClass(name of existing abstarct class) return correct value
JNIEnv_FindClass_6 jclass FindClass(const char *name) ("Test3")FindClass(name of existing abstarct class) return correct value
JNIEnv_FindClass_7 jclass FindClass(const char *name) ("Ljava/lang/String;")FindClass(java.lang.String) return correct value
JNIEnv_FindClass_8 jclass FindClass(const char *name) ("[Ljava/lang/String;")FindClass([java.lang.String) return correct value
JNIEnv_GetSuperclass_1 jclass GetSuperclass(jclass sub) (NULL)GetSuperclass(NULL) return NULL - correct
JNIEnv_GetSuperclass_2 jclass GetSuperclass(jclass sub) (clazz)GetSuperclass(existing class) return correct value
JNIEnv_GetSuperclass_3 jclass GetSuperclass(jclass sub) (clazz)GetSuperclass(interface) return NULL - correct
JNIEnv_GetSuperclass_4 jclass GetSuperclass(jclass sub) (clazz)GetSuperclass(lava.lang.Object) return correct value
JNIEnv_IsAssignableFrom_1 jboolean IsAssignableFrom(jclass sub, jclass sup) (clazz1, clazz1) )IsAssignableFrom(class, superclass) return correct value
JNIEnv_IsAssignableFrom_2 jboolean IsAssignableFrom(jclass sub, jclass sup) (NULL, NULL) )IsAssignableFrom(NULL, NULL) return correct value
JNIEnv_IsAssignableFrom_3 jboolean IsAssignableFrom(jclass sub, jclass sup) (clazz1, clazz) )IsAssignableFrom(class, is not superclass of class) return correct value
JNIEnv_IsAssignableFrom_4 jboolean IsAssignableFrom(jclass sub, jclass sup) (clazz, clazz) )IsAssignableFrom(class, same class) return correct value
JNIEnv_IsAssignableFrom_5 jboolean IsAssignableFrom(jclass sub, jclass sup) (clazz, clazz1) )IsAssignableFrom(implements of interface, interface) return correct value
JNIEnv_ExceptionClear_1 void ExceptionClear() ()ExceptionClear(exception being thrown) really clear exception!
JNIEnv_ExceptionClear_2 void ExceptionClear() ()ExceptionClear(no exception being thrown) do not failed!
JNIEnv_ExceptionDescribe_1 void ExceptionDescribe() ()ExceptionDescribe(exception being thrown) is correct
JNIEnv_ExceptionDescribe_2 void ExceptionDescribe() ()ExceptionDescribe(no exception being thrown) is correct
JNIEnv_ExceptionOccurred_1 jthrowable ExceptionOccurred() ()ExceptionOccurred(exception being thrown) is correct
JNIEnv_ExceptionOccurred_2 jthrowable ExceptionOccurred() ()ExceptionOccurred(no exception being thrown) is correct
JNIEnv_FatalError_1 void FatalError(const char *msg) ("aaaaaa")Crush - correct
JNIEnv_ThrowNew_1 jint ThrowNew(jclass clazz, const char *msg) (clazz, "AAAAAAAA")ThrowNew(java.lang.ArrayIndexOutOfBoundsException, non empty message) returns correct value and thrown ArrayIndexOutOfBoundsException
JNIEnv_ThrowNew_2 jint ThrowNew(jclass clazz, const char *msg) (clazz, "")ThrowNew(java.lang.ArrayIndexOutOfBoundsException, mess= \"\
JNIEnv_ThrowNew_3 jint ThrowNew(jclass clazz, const char *msg) (clazz, NULL)ThrowNew(java.lang.ArrayIndexOutOfBoundsException, mess= NULL) returns correct value and thrown ArrayIndexOutOfBoundsException
JNIEnv_ThrowNew_4 jint ThrowNew(jclass clazz, const char *msg) (clazz, "test message")ThrowNew(java.lang.String, message not empty) returns correct value and not thrown any exception
JNIEnv_ThrowNew_5 jint ThrowNew(jclass clazz, const char *msg) (NULL, NULL)ThrowNew(NULL, NULL) returns correct value and not thrown any exception
JNIEnv_Throw_1 jint Throw(jthrowable obj) (obj)Throw(java.lang.ArrayIndexOutOfBoundsException) returns correct value and thrown ArrayIndexOutOfBoundsException
JNIEnv_Throw_2 jint Throw(jthrowable obj) (NULL)Throw(NULL) returns correct value and not thrown any Exceptions
JNIEnv_DeleteGlobalRef_1 void DeleteGlobalRef(jobject gref) (obj_ref)DeleteGlobalRef work properly with correct parameter
JNIEnv_DeleteGlobalRef_2 void DeleteGlobalRef(jobject gref) (NULL)DeleteGlobalRef(NULL) passed
JNIEnv_DeleteLocalRef_1 void DeleteLocalRef(jobject obj) (obj)DeleteLocalRef working properly with correct parameter
JNIEnv_DeleteLocalRef_2 void DeleteLocalRef(jobject obj) (NULL)DeleteLocalRef(NULL) passed
JNIEnv_NewGlobalRef_1 jobject NewGlobalRef(jobject lobj) (obj)NewGlobalRef return correct value with correct object as parameter
JNIEnv_NewGlobalRef_2 jobject NewGlobalRef(jobject lobj) (NULL)NewGlobalRef return correct value with object=NULL
JNIEnv_GetJavaVM_1 jint GetJavaVM(JavaVM **vm) (NULL)GetJavaVM work properly with NULL as JavaVM **
JNIEnv_GetJavaVM_2 jint GetJavaVM(JavaVM **vm) (vm)GetJavaVM work properly with correct parameters
JNIEnv_AllocObject_1 jobject AllocObject(jclass clazz) (NULL)AllocObject(NULL) return correct value - NULL
JNIEnv_AllocObject_2 jobject AllocObject(jclass clazz) (clazz)AllocObject(correct class) return correct value
JNIEnv_AllocObject_3 jobject AllocObject(jclass clazz) (clazz)AllocObject(abstract class) return correct value - NULL
JNIEnv_AllocObject_4 jobject AllocObject(jclass clazz) (clazz)AllocObject(interface) return correct value - NULL
JNIEnv_GetObjectClass_1 jclass GetObjectClass(jobject obj) (obj)GetObjectClass(some object) return correct value
JNIEnv_GetObjectClass_2 jclass GetObjectClass(jobject obj) (NULL)GetObjectClass(NULL) return correct value
JNIEnv_IsInstanceOf_1 jboolean IsInstanceOf(jobject obj, jclass clazz) (obj1, clazz1))IsInstanceOf(some obj, its class) return correct value
JNIEnv_IsInstanceOf_2 jboolean IsInstanceOf(jobject obj, jclass clazz) (obj1, clazz2))IsInstanceOf(some obj, its superclass) return correct value
JNIEnv_IsInstanceOf_3 jboolean IsInstanceOf(jobject obj, jclass clazz) (obj1, clazz3))IsInstanceOf(some obj, isn't superclass or class) return correct value
JNIEnv_IsInstanceOf_4 jboolean IsInstanceOf(jobject obj, jclass clazz) (NULL, clazz1))IsInstanceOf(NULL, class) return correct value
JNIEnv_IsInstanceOf_5 jboolean IsInstanceOf(jobject obj, jclass clazz) (NULL, NULL))IsInstanceOf(NULL, NULL) return correct value
JNIEnv_IsSameObject_1 jboolean IsSameObject(jobject obj1, jobject obj2) (obj1, obj2) )IsSameObject(obj, obj) return correct value
JNIEnv_IsSameObject_2 jboolean IsSameObject(jobject obj1, jobject obj2) (obj, obj1))IsSameObject(obj, another obj) return correct value
JNIEnv_IsSameObject_3 jboolean IsSameObject(jobject obj1, jobject obj2) (obj, NULL) )IsSameObject(obj, NULL) return correct value
JNIEnv_IsSameObject_4 jboolean IsSameObject(jobject obj1, jobject obj2) (NULL, NULL) )IsSameObject(NULL, NULL) return correct value
JNIEnv_NewObjectA_1 jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue *args) (clazz, MethodID, args)NewObjectA(all correct, int field) return correct value
JNIEnv_NewObjectA_2 jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue *args) (NULL, (jmethodID)1000, args)NewObjectA for clazz = NULL and invalid constructor ID
JNIEnv_NewObjectA_3 jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue *args) (clazz, MethodID, args)NewObjectA with java\\lang\\String as argument
JNIEnv_NewObjectA_4 jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue *args) (clazz, MethodID, args)NewObjectA with legal class and illegal constructor ID
JNIEnv_NewObjectA_5 jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue *args) (clazz, (jmethodID)1000, args)NewObjectA for abstract class and invalid constructor ID
JNIEnv_NewObjectA_6 jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue *args) (clazz, MethodID, args)NewObjectA for class and private constructor
JNIEnv_NewObjectA_7 jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue *args) (clazz, MethodID, args)NewObjectA for class and protected constructor
JNIEnv_NewObjectA_8 jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue *args) (clazz, MethodID, args)NewObjectA for class and package visible constructor
JNIEnv_NewObjectA_9 jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue *args) (clazz, MethodID, args)NewObjectA for class and public constructor without arguments
JNIEnv_NewObject_1 jobject NewObject(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, 555)NewObject(all correct, int field) return correct value
JNIEnv_NewObject_2 jobject NewObject(jclass clazz, jmethodID methodID, ...) (NULL, (jmethodID)1000, 555)NewObject for clazz = NULL and invalid constructor ID
JNIEnv_NewObject_3 jobject NewObject(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, str)NewObject with java\\lang\\String as argument
JNIEnv_NewObject_4 jobject NewObject(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, 555)NewObject with legal class and illegal constructor ID
JNIEnv_NewObject_5 jobject NewObject(jclass clazz, jmethodID methodID, ...) (clazz, (jmethodID)1000, 555)NewObject for abstract class and invalid constructor ID
JNIEnv_NewObject_6 jobject NewObject(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, NULL)NewObject for class and private constructor
JNIEnv_NewObject_7 jobject NewObject(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, NULL)NewObject for class and protected constructor
JNIEnv_NewObject_8 jobject NewObject(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, NULL)NewObject for class and package visible constructor
JNIEnv_NewObject_9 jobject NewObject(jclass clazz, jmethodID methodID, ...) (clazz, MethodID, NULL)NewObject for class and public constructor without arguments
JNIEnv_GetStringChars_1 const jchar *GetStringChars(jstring str, jboolean *isCopy) (NULL, isCopy)GetStringChars(NULL, isCopy) returns correct value
JNIEnv_GetStringChars_2 const jchar *GetStringChars(jstring str, jboolean *isCopy) (str, isCopy)GetStringChars(empty, isCopy) returns correct value
JNIEnv_GetStringChars_3 const jchar *GetStringChars(jstring str, jboolean *isCopy) (str, isCopy)GetStringChars(empty, isCopy) returns correct value
JNIEnv_GetStringChars_4 const jchar *GetStringChars(jstring str, jboolean *isCopy) (str, NULL)GetStringChars(empty, isCopy) returns correct value
JNIEnv_GetStringLength_1 jsize GetStringLength(jstring str) (NULL)GetStringLength(NULL) returns correct value
JNIEnv_GetStringLength_2 jsize GetStringLength(jstring str) (str)GetStringLength(NULL) returns correct value
JNIEnv_GetStringLength_3 jsize GetStringLength(jstring str) (str)GetStringLength(NULL) returns correct value
JNIEnv_GetStringUTFChars_1 const char* GetStringUTFChars(jstring str, jboolean *isCopy) (str, NULL)GetStringUTFChars returns correct value (non-empty string and isCopy = NULL)
JNIEnv_GetStringUTFChars_2 const char* GetStringUTFChars(jstring str, jboolean *isCopy) (str, &isCopy)GetStringUTFChars returns correct value (string=NULL and isCopy is not NULL)
JNIEnv_GetStringUTFChars_3 const char* GetStringUTFChars(jstring str, jboolean *isCopy) (str, &isCopy)GetStringUTFChars returns correct value (string is empty and isCopy is not NULL)
JNIEnv_GetStringUTFChars_4 const char* GetStringUTFChars(jstring str, jboolean *isCopy) (str, &isCopy)GetStringUTFChars returns correct value (string=12345678 and isCopy is not NULL)
JNIEnv_GetStringUTFLength_1 jsize GetStringUTFLength(jstring str) (str)GetStringUTFLength(correct string) return correct value!
JNIEnv_GetStringUTFLength_2 jsize GetStringUTFLength(jstring str) (str)GetStringUTFLength(empty string) return correct value!
JNIEnv_GetStringUTFLength_3 jsize GetStringUTFLength(jstring str) (str)GetStringUTFLength(string == NULL) return correct value!
JNIEnv_NewStringUTF_1 jstring NewStringUTF(const char *utf) ("12345678")NewStringUTF(non empty string) return correct value
JNIEnv_NewStringUTF_2 jstring NewStringUTF(const char *utf) ("")NewStringUTF(\"\
JNIEnv_NewStringUTF_3 jstring NewStringUTF(const char *utf) (NULL)NewStringUTF(NULL) == NULL, correct!
JNIEnv_NewString_1 jstring NewString(const jchar *unicode, jsize len) (NULL, 0)NewString(NULL, 0) returns correct value
JNIEnv_NewString_2 jstring NewString(const jchar *unicode, jsize len) (str_chars, 0)NewString(correct, 0) returns correct value
JNIEnv_NewString_3 jstring NewString(const jchar *unicode, jsize len) (str_chars, 4)NewString(correct, correct) returns correct value
JNIEnv_ReleaseStringChars_1 void ReleaseStringChars(jstring str, const jchar *chars) (NULL, NULL)ReleaseStringChars(NULL, NULL) correct
JNIEnv_ReleaseStringChars_2 void ReleaseStringChars(jstring str, const jchar *chars) (str, chars)ReleaseStringChars(correct, correct) correct
JNIEnv_ReleaseStringUTFChars_1 void ReleaseStringUTFChars(jstring str, const char* chars) (str, str_chars)ReleaseStringUTFChars(correct, correct) correct
JNIEnv_ReleaseStringUTFChars_2 void ReleaseStringUTFChars(jstring str, const char* chars) (NULL, NULL)ReleaseStringUTFChars(NULL, NULL) do not failed
JNIEnv_GetVersion_1 jint GetVersion() ()GetVersion passed
- diff --git a/modules/oji/tests/script/OJITestsList.lst b/modules/oji/tests/script/OJITestsList.lst deleted file mode 100644 index 2862dbee9f5..00000000000 --- a/modules/oji/tests/script/OJITestsList.lst +++ /dev/null @@ -1,758 +0,0 @@ -########################### LCM tests ####################### -LCM_StartupLiveConnect_1 -LCM_StartupLiveConnect_2 -LCM_ShutdownLiveConnect_1 -LCM_ShutdownLiveConnect_2 -LCM_IsLiveConnectEnabled_1 -LCM_IsLiveConnectEnabled_2 -LCM_InitLiveConnectClasses_1 -LCM_WrapJavaObject_1 -LCM_WrapJavaObject_2 -# -# -############################# TM tests ######################### -# -ThreadManager_PostEvent_1 -ThreadManager_PostEvent_2 -ThreadManager_PostEvent_3 -ThreadManager_PostEvent_4 -ThreadManager_PostEvent_5 -ThreadManager_PostEvent_6 -ThreadManager_PostEvent_7 -ThreadManager_CreateThread_1 -ThreadManager_CreateThread_2 -ThreadManager_CreateThread_3 -ThreadManager_CreateThread_4 -ThreadManager_NotifyAll_1 -ThreadManager_NotifyAll_2 -ThreadManager_NotifyAll_3 -ThreadManager_NotifyAll_4 -ThreadManager_Notify_1 -ThreadManager_Notify_2 -ThreadManager_Notify_3 -ThreadManager_Notify_4 -ThreadManager_Wait_1 -ThreadManager_Wait_2 -ThreadManager_Wait_3 -ThreadManager_Wait_4 -ThreadManager_ExitMonitor_1 -ThreadManager_ExitMonitor_2 -ThreadManager_ExitMonitor_3 -ThreadManager_ExitMonitor_4 -ThreadManager_EnterMonitor_1 -ThreadManager_EnterMonitor_4 -ThreadManager_GetCurrentThread_1 -ThreadManager_Sleep_1 -ThreadManager_Sleep_2 -# -# -############################## JVMManager tests ################# -# -JVMManager_CreateProxyJNI_1 -JVMManager_CreateProxyJNI_2 -JVMManager_CreateProxyJNI_3 -JVMManager_CreateProxyJNI_4 -JVMManager_GetProxyJNI_1 -JVMManager_GetProxyJNI_2 -JVMManager_GetProxyJNI_3 -JVMManager_IsJavaEnabled_1 -JVMManager_ShowJavaConsole_1 -JVMManager_ShowJavaConsole_2 -# -############################# JNIEnv tests ###################### -# -JNIEnv_GetBooleanField_1 -JNIEnv_GetBooleanField_2 -JNIEnv_GetBooleanField_3 -JNIEnv_GetBooleanField_4 -JNIEnv_GetBooleanField_5 -JNIEnv_GetBooleanField_6 -JNIEnv_GetByteField_1 -JNIEnv_GetByteField_2 -JNIEnv_GetByteField_3 -JNIEnv_GetByteField_4 -JNIEnv_GetByteField_5 -JNIEnv_GetByteField_6 -JNIEnv_GetCharField_1 -JNIEnv_GetCharField_2 -JNIEnv_GetCharField_3 -JNIEnv_GetCharField_4 -JNIEnv_GetCharField_5 -JNIEnv_GetDoubleField_1 -JNIEnv_GetDoubleField_2 -JNIEnv_GetDoubleField_3 -JNIEnv_GetDoubleField_4 -JNIEnv_GetDoubleField_5 -JNIEnv_GetDoubleField_6 -JNIEnv_GetFieldID_1 -JNIEnv_GetFieldID_10 -JNIEnv_GetFieldID_11 -JNIEnv_GetFieldID_12 -JNIEnv_GetFieldID_13 -JNIEnv_GetFieldID_14 -JNIEnv_GetFieldID_15 -JNIEnv_GetFieldID_16 -JNIEnv_GetFieldID_17 -JNIEnv_GetFieldID_18 -JNIEnv_GetFieldID_19 -JNIEnv_GetFieldID_2 -JNIEnv_GetFieldID_20 -JNIEnv_GetFieldID_3 -JNIEnv_GetFieldID_4 -JNIEnv_GetFieldID_5 -JNIEnv_GetFieldID_6 -JNIEnv_GetFieldID_7 -JNIEnv_GetFieldID_8 -JNIEnv_GetFieldID_9 -JNIEnv_GetFloatField_1 -JNIEnv_GetFloatField_2 -JNIEnv_GetFloatField_3 -JNIEnv_GetFloatField_4 -JNIEnv_GetFloatField_5 -JNIEnv_GetFloatField_6 -JNIEnv_GetIntField_1 -JNIEnv_GetIntField_2 -JNIEnv_GetIntField_3 -JNIEnv_GetIntField_4 -JNIEnv_GetIntField_5 -JNIEnv_GetIntField_6 -JNIEnv_GetIntField_7 -JNIEnv_GetLongField_1 -JNIEnv_GetLongField_2 -JNIEnv_GetLongField_3 -JNIEnv_GetLongField_4 -JNIEnv_GetLongField_5 -JNIEnv_GetLongField_6 -JNIEnv_GetObjectField_1 -JNIEnv_GetObjectField_2 -JNIEnv_GetObjectField_3 -JNIEnv_GetObjectField_4 -JNIEnv_GetObjectField_5 -JNIEnv_GetShortField_1 -JNIEnv_GetShortField_2 -JNIEnv_GetShortField_3 -JNIEnv_GetShortField_4 -JNIEnv_GetShortField_5 -JNIEnv_GetShortField_6 -JNIEnv_SetBooleanField_1 -JNIEnv_SetBooleanField_2 -JNIEnv_SetBooleanField_3 -JNIEnv_SetBooleanField_4 -JNIEnv_SetBooleanField_5 -JNIEnv_SetBooleanField_6 -JNIEnv_SetBooleanField_7 -JNIEnv_SetByteField_1 -JNIEnv_SetByteField_2 -JNIEnv_SetByteField_3 -JNIEnv_SetByteField_4 -JNIEnv_SetByteField_5 -JNIEnv_SetByteField_6 -JNIEnv_SetCharField_1 -JNIEnv_SetCharField_2 -JNIEnv_SetCharField_3 -JNIEnv_SetCharField_4 -JNIEnv_SetCharField_5 -JNIEnv_SetCharField_6 -JNIEnv_SetDoubleField_1 -JNIEnv_SetDoubleField_2 -JNIEnv_SetDoubleField_3 -JNIEnv_SetDoubleField_4 -JNIEnv_SetDoubleField_5 -JNIEnv_SetDoubleField_6 -JNIEnv_SetFloatField_1 -JNIEnv_SetFloatField_2 -JNIEnv_SetFloatField_3 -JNIEnv_SetFloatField_4 -JNIEnv_SetFloatField_5 -JNIEnv_SetIntField_1 -JNIEnv_SetIntField_2 -JNIEnv_SetIntField_3 -JNIEnv_SetIntField_4 -JNIEnv_SetIntField_5 -JNIEnv_SetLongField_1 -JNIEnv_SetLongField_2 -JNIEnv_SetLongField_3 -JNIEnv_SetLongField_4 -JNIEnv_SetLongField_5 -JNIEnv_SetObjectField_1 -JNIEnv_SetObjectField_2 -JNIEnv_SetObjectField_3 -JNIEnv_SetObjectField_4 -JNIEnv_SetObjectField_5 -JNIEnv_SetShortField_1 -JNIEnv_SetShortField_2 -JNIEnv_SetShortField_3 -JNIEnv_SetShortField_4 -JNIEnv_SetShortField_5 -JNIEnv_GetStaticBooleanField_1 -JNIEnv_GetStaticBooleanField_2 -JNIEnv_GetStaticBooleanField_3 -JNIEnv_GetStaticBooleanField_4 -JNIEnv_GetStaticBooleanField_5 -JNIEnv_GetStaticBooleanField_6 -JNIEnv_GetStaticByteField_1 -JNIEnv_GetStaticByteField_2 -JNIEnv_GetStaticByteField_3 -JNIEnv_GetStaticByteField_4 -JNIEnv_GetStaticByteField_5 -JNIEnv_GetStaticByteField_6 -JNIEnv_GetStaticCharField_1 -JNIEnv_GetStaticCharField_2 -JNIEnv_GetStaticCharField_3 -JNIEnv_GetStaticCharField_4 -JNIEnv_GetStaticCharField_5 -JNIEnv_GetStaticDoubleField_1 -JNIEnv_GetStaticDoubleField_2 -JNIEnv_GetStaticDoubleField_3 -JNIEnv_GetStaticDoubleField_4 -JNIEnv_GetStaticDoubleField_5 -JNIEnv_GetStaticFieldID_1 -JNIEnv_GetStaticFieldID_10 -JNIEnv_GetStaticFieldID_11 -JNIEnv_GetStaticFieldID_12 -JNIEnv_GetStaticFieldID_13 -JNIEnv_GetStaticFieldID_14 -JNIEnv_GetStaticFieldID_15 -JNIEnv_GetStaticFieldID_16 -JNIEnv_GetStaticFieldID_17 -JNIEnv_GetStaticFieldID_18 -JNIEnv_GetStaticFieldID_19 -JNIEnv_GetStaticFieldID_2 -JNIEnv_GetStaticFieldID_20 -JNIEnv_GetStaticFieldID_3 -JNIEnv_GetStaticFieldID_4 -JNIEnv_GetStaticFieldID_5 -JNIEnv_GetStaticFieldID_6 -JNIEnv_GetStaticFieldID_7 -JNIEnv_GetStaticFieldID_8 -JNIEnv_GetStaticFieldID_9 -JNIEnv_GetStaticFloatField_1 -JNIEnv_GetStaticFloatField_2 -JNIEnv_GetStaticFloatField_3 -JNIEnv_GetStaticFloatField_4 -JNIEnv_GetStaticFloatField_5 -JNIEnv_GetStaticFloatField_6 -JNIEnv_GetStaticIntField_1 -JNIEnv_GetStaticIntField_2 -JNIEnv_GetStaticIntField_3 -JNIEnv_GetStaticIntField_4 -JNIEnv_GetStaticIntField_5 -JNIEnv_GetStaticIntField_6 -JNIEnv_GetStaticLongField_1 -JNIEnv_GetStaticLongField_2 -JNIEnv_SetStaticIntField_1 -JNIEnv_GetStaticLongField_3 -JNIEnv_GetStaticLongField_4 -JNIEnv_GetStaticLongField_5 -JNIEnv_GetStaticLongField_6 -JNIEnv_GetStaticObjectField_1 -JNIEnv_GetStaticObjectField_2 -JNIEnv_GetStaticObjectField_3 -JNIEnv_GetStaticObjectField_4 -JNIEnv_GetStaticObjectField_5 -JNIEnv_GetStaticShortField_1 -JNIEnv_GetStaticShortField_2 -JNIEnv_GetStaticShortField_3 -JNIEnv_GetStaticShortField_4 -JNIEnv_GetStaticShortField_5 -JNIEnv_GetStaticShortField_6 -JNIEnv_SetStaticBooleanField_1 -JNIEnv_SetStaticBooleanField_2 -JNIEnv_SetStaticBooleanField_3 -JNIEnv_SetStaticBooleanField_4 -JNIEnv_SetStaticBooleanField_5 -JNIEnv_SetStaticBooleanField_6 -JNIEnv_SetStaticByteField_1 -JNIEnv_SetStaticByteField_2 -JNIEnv_SetStaticByteField_3 -JNIEnv_SetStaticByteField_4 -JNIEnv_SetStaticByteField_5 -JNIEnv_SetStaticByteField_6 -JNIEnv_SetStaticCharField_1 -JNIEnv_SetStaticCharField_2 -JNIEnv_SetStaticCharField_3 -JNIEnv_SetStaticCharField_4 -JNIEnv_SetStaticCharField_5 -JNIEnv_SetStaticCharField_6 -JNIEnv_SetStaticDoubleField_1 -JNIEnv_SetStaticDoubleField_2 -JNIEnv_SetStaticDoubleField_3 -JNIEnv_SetStaticDoubleField_4 -JNIEnv_SetStaticDoubleField_5 -JNIEnv_SetStaticDoubleField_6 -JNIEnv_SetStaticFloatField_1 -JNIEnv_SetStaticFloatField_2 -JNIEnv_SetStaticFloatField_3 -JNIEnv_SetStaticFloatField_4 -JNIEnv_SetStaticFloatField_5 -JNIEnv_SetStaticIntField_2 -JNIEnv_SetStaticIntField_3 -JNIEnv_SetStaticIntField_4 -JNIEnv_SetStaticIntField_5 -JNIEnv_SetStaticLongField_1 -JNIEnv_SetStaticLongField_2 -JNIEnv_SetStaticLongField_3 -JNIEnv_SetStaticLongField_4 -JNIEnv_SetStaticLongField_5 -JNIEnv_SetStaticObjectField_1 -JNIEnv_SetStaticObjectField_2 -JNIEnv_SetStaticObjectField_3 -JNIEnv_SetStaticObjectField_4 -JNIEnv_SetStaticObjectField_5 -JNIEnv_SetStaticShortField_1 -JNIEnv_SetStaticShortField_2 -JNIEnv_SetStaticShortField_3 -JNIEnv_SetStaticShortField_4 -JNIEnv_SetStaticShortField_5 -JNIEnv_GetArrayLength_1 -JNIEnv_GetArrayLength_2 -JNIEnv_GetArrayLength_3 -JNIEnv_GetBooleanArrayElements_1 -JNIEnv_GetBooleanArrayElements_2 -JNIEnv_GetBooleanArrayElements_3 -JNIEnv_GetBooleanArrayRegion_1 -JNIEnv_GetByteArrayElements_1 -JNIEnv_GetByteArrayElements_2 -JNIEnv_GetByteArrayElements_3 -JNIEnv_GetByteArrayRegion_1 -JNIEnv_GetCharArrayElements_1 -JNIEnv_GetCharArrayElements_2 -JNIEnv_GetCharArrayElements_3 -JNIEnv_GetCharArrayRegion_1 -JNIEnv_GetDoubleArrayElements_1 -JNIEnv_GetDoubleArrayElements_2 -JNIEnv_GetDoubleArrayElements_3 -JNIEnv_GetDoubleArrayRegion_1 -JNIEnv_GetFloatArrayElements_1 -JNIEnv_GetFloatArrayElements_2 -JNIEnv_GetFloatArrayElements_3 -JNIEnv_GetFloatArrayRegion_1 -JNIEnv_GetIntArrayElements_1 -JNIEnv_GetIntArrayElements_2 -JNIEnv_GetIntArrayRegion_1 -JNIEnv_GetIntArrayElements_3 -JNIEnv_GetIntArrayRegion_2 -JNIEnv_GetIntArrayRegion_3 -JNIEnv_GetIntArrayRegion_4 -JNIEnv_GetLongArrayElements_1 -JNIEnv_GetLongArrayElements_2 -JNIEnv_GetLongArrayElements_3 -JNIEnv_GetLongArrayRegion_1 -JNIEnv_GetObjectArrayElement_1 -JNIEnv_GetObjectArrayElement_2 -JNIEnv_GetObjectArrayElement_3 -JNIEnv_GetObjectArrayElement_4 -JNIEnv_GetObjectArrayElement_5 -JNIEnv_GetShortArrayElements_1 -JNIEnv_GetShortArrayElements_2 -JNIEnv_GetShortArrayElements_3 -JNIEnv_GetShortArrayRegion_1 -JNIEnv_NewBooleanArray_1 -JNIEnv_NewBooleanArray_2 -JNIEnv_NewBooleanArray_3 -JNIEnv_NewByteArray_1 -JNIEnv_NewByteArray_2 -JNIEnv_NewByteArray_3 -JNIEnv_NewCharArray_1 -JNIEnv_NewCharArray_2 -JNIEnv_NewCharArray_3 -JNIEnv_NewDoubleArray_1 -JNIEnv_NewDoubleArray_2 -JNIEnv_NewDoubleArray_3 -JNIEnv_NewFloatArray_1 -JNIEnv_NewFloatArray_2 -JNIEnv_NewFloatArray_3 -JNIEnv_NewIntArray_1 -JNIEnv_NewIntArray_2 -JNIEnv_NewIntArray_3 -JNIEnv_NewLongArray_1 -JNIEnv_NewLongArray_2 -JNIEnv_NewLongArray_3 -JNIEnv_NewObjectArray_1 -JNIEnv_NewObjectArray_2 -JNIEnv_NewObjectArray_3 -JNIEnv_NewObjectArray_4 -JNIEnv_NewObjectArray_5 -JNIEnv_NewObjectArray_6 -JNIEnv_NewShortArray_1 -JNIEnv_NewShortArray_2 -JNIEnv_NewShortArray_3 -JNIEnv_ReleaseBooleanArrayElements_1 -JNIEnv_ReleaseBooleanArrayElements_2 -JNIEnv_ReleaseBooleanArrayElements_3 -JNIEnv_ReleaseByteArrayElements_1 -JNIEnv_ReleaseByteArrayElements_2 -JNIEnv_ReleaseByteArrayElements_3 -JNIEnv_ReleaseCharArrayElements_1 -JNIEnv_ReleaseCharArrayElements_2 -JNIEnv_ReleaseCharArrayElements_3 -JNIEnv_ReleaseDoubleArrayElements_1 -JNIEnv_ReleaseDoubleArrayElements_2 -JNIEnv_ReleaseDoubleArrayElements_3 -JNIEnv_ReleaseFloatArrayElements_1 -JNIEnv_ReleaseFloatArrayElements_2 -JNIEnv_ReleaseFloatArrayElements_3 -JNIEnv_ReleaseIntArrayElements_1 -JNIEnv_ReleaseIntArrayElements_2 -JNIEnv_ReleaseIntArrayElements_3 -JNIEnv_ReleaseLongArrayElements_1 -JNIEnv_ReleaseLongArrayElements_2 -JNIEnv_ReleaseLongArrayElements_3 -JNIEnv_ReleaseShortArrayElements_1 -JNIEnv_ReleaseShortArrayElements_2 -JNIEnv_ReleaseShortArrayElements_3 -JNIEnv_SetBooleanArrayRegion_1 -JNIEnv_SetByteArrayRegion_1 -JNIEnv_SetCharArrayRegion_1 -JNIEnv_SetDoubleArrayRegion_1 -JNIEnv_SetFloatArrayRegion_1 -JNIEnv_SetIntArrayRegion_1 -JNIEnv_SetIntArrayRegion_2 -JNIEnv_SetIntArrayRegion_3 -JNIEnv_SetIntArrayRegion_4 -JNIEnv_SetLongArrayRegion_1 -JNIEnv_SetObjectArrayElement_1 -JNIEnv_SetObjectArrayElement_2 -JNIEnv_SetObjectArrayElement_3 -JNIEnv_SetObjectArrayElement_4 -JNIEnv_SetObjectArrayElement_5 -JNIEnv_SetShortArrayRegion_1 -JNIEnv_CallBooleanMethod_1 -JNIEnv_CallBooleanMethod_2 -JNIEnv_CallBooleanMethod_3 -JNIEnv_CallBooleanMethod_4 -JNIEnv_CallByteMethod_1 -JNIEnv_CallByteMethod_2 -JNIEnv_CallByteMethod_3 -JNIEnv_CallByteMethod_4 -JNIEnv_CallCharMethod_1 -JNIEnv_CallCharMethod_2 -JNIEnv_CallCharMethod_3 -JNIEnv_CallCharMethod_4 -JNIEnv_CallDoubleMethod_1 -JNIEnv_CallDoubleMethod_2 -JNIEnv_CallDoubleMethod_3 -JNIEnv_CallDoubleMethod_4 -JNIEnv_CallFloatMethod_1 -JNIEnv_CallFloatMethod_2 -JNIEnv_CallFloatMethod_3 -JNIEnv_CallFloatMethod_4 -JNIEnv_CallIntMethod_1 -JNIEnv_CallIntMethod_10 -JNIEnv_CallIntMethod_11 -JNIEnv_CallIntMethod_12 -JNIEnv_CallIntMethod_13 -JNIEnv_CallIntMethod_14 -JNIEnv_CallIntMethod_15 -JNIEnv_CallIntMethod_16 -JNIEnv_CallIntMethod_17 -JNIEnv_CallIntMethod_18 -JNIEnv_CallIntMethod_19 -JNIEnv_CallIntMethod_2 -JNIEnv_CallIntMethod_3 -JNIEnv_CallIntMethod_4 -JNIEnv_CallIntMethod_5 -JNIEnv_CallIntMethod_6 -JNIEnv_CallIntMethod_7 -JNIEnv_CallIntMethod_8 -JNIEnv_CallIntMethod_9 -JNIEnv_CallLongMethod_1 -JNIEnv_CallLongMethod_2 -JNIEnv_CallLongMethod_3 -JNIEnv_CallLongMethod_4 -JNIEnv_CallNonvirtualBooleanMethod_1 -JNIEnv_CallNonvirtualBooleanMethod_2 -JNIEnv_CallNonvirtualByteMethod_1 -JNIEnv_CallNonvirtualBooleanMethod_3 -JNIEnv_CallNonvirtualBooleanMethod_4 -JNIEnv_CallNonvirtualByteMethod_2 -JNIEnv_CallNonvirtualByteMethod_3 -JNIEnv_CallNonvirtualByteMethod_4 -JNIEnv_CallNonvirtualCharMethod_1 -JNIEnv_CallNonvirtualCharMethod_2 -JNIEnv_CallNonvirtualCharMethod_3 -JNIEnv_CallNonvirtualCharMethod_4 -JNIEnv_CallNonvirtualDoubleMethod_1 -JNIEnv_CallNonvirtualDoubleMethod_2 -JNIEnv_CallNonvirtualDoubleMethod_3 -JNIEnv_CallNonvirtualDoubleMethod_4 -JNIEnv_CallNonvirtualFloatMethod_1 -JNIEnv_CallNonvirtualFloatMethod_2 -JNIEnv_CallNonvirtualFloatMethod_3 -JNIEnv_CallNonvirtualFloatMethod_4 -JNIEnv_CallNonvirtualIntMethod_1 -JNIEnv_CallNonvirtualIntMethod_10 -JNIEnv_CallNonvirtualIntMethod_11 -JNIEnv_CallNonvirtualIntMethod_12 -JNIEnv_CallNonvirtualIntMethod_13 -JNIEnv_CallNonvirtualIntMethod_14 -JNIEnv_CallNonvirtualIntMethod_15 -JNIEnv_GetMethodID_1 -JNIEnv_CallNonvirtualIntMethod_16 -JNIEnv_CallNonvirtualIntMethod_17 -JNIEnv_CallNonvirtualIntMethod_18 -JNIEnv_CallNonvirtualIntMethod_19 -JNIEnv_CallNonvirtualIntMethod_2 -JNIEnv_CallNonvirtualIntMethod_20 -JNIEnv_CallNonvirtualIntMethod_21 -JNIEnv_CallNonvirtualIntMethod_22 -JNIEnv_CallNonvirtualIntMethod_23 -JNIEnv_CallNonvirtualIntMethod_24 -JNIEnv_CallNonvirtualIntMethod_25 -JNIEnv_CallNonvirtualIntMethod_26 -JNIEnv_CallObjectMethod_1 -JNIEnv_CallNonvirtualIntMethod_27 -JNIEnv_CallNonvirtualIntMethod_28 -JNIEnv_CallNonvirtualIntMethod_29 -JNIEnv_CallNonvirtualIntMethod_30 -JNIEnv_CallNonvirtualIntMethod_31 -JNIEnv_CallNonvirtualIntMethod_32 -JNIEnv_CallNonvirtualIntMethod_33 -JNIEnv_CallNonvirtualIntMethod_34 -JNIEnv_CallNonvirtualIntMethod_4 -JNIEnv_CallNonvirtualIntMethod_5 -JNIEnv_CallNonvirtualIntMethod_7 -JNIEnv_CallNonvirtualIntMethod_8 -JNIEnv_CallObjectMethod_2 -JNIEnv_CallNonvirtualIntMethod_9 -JNIEnv_CallNonvirtualLongMethod_1 -JNIEnv_CallNonvirtualLongMethod_2 -JNIEnv_CallNonvirtualLongMethod_3 -JNIEnv_CallNonvirtualLongMethod_4 -JNIEnv_CallNonvirtualObjectMethod_1 -JNIEnv_CallNonvirtualObjectMethod_2 -JNIEnv_CallNonvirtualObjectMethod_3 -JNIEnv_CallNonvirtualObjectMethod_4 -JNIEnv_CallNonvirtualObjectMethod_5 -JNIEnv_CallNonvirtualObjectMethod_6 -JNIEnv_CallNonvirtualObjectMethod_7 -JNIEnv_CallNonvirtualShortMethod_1 -JNIEnv_CallNonvirtualShortMethod_2 -JNIEnv_CallNonvirtualShortMethod_3 -JNIEnv_CallNonvirtualShortMethod_4 -JNIEnv_CallNonvirtualVoidMethod_1 -JNIEnv_CallNonvirtualVoidMethod_2 -JNIEnv_CallObjectMethod_3 -JNIEnv_CallObjectMethod_4 -JNIEnv_CallObjectMethod_5 -JNIEnv_CallObjectMethod_6 -JNIEnv_CallObjectMethod_7 -JNIEnv_CallShortMethod_1 -JNIEnv_CallShortMethod_2 -JNIEnv_CallShortMethod_3 -JNIEnv_CallShortMethod_4 -JNIEnv_CallVoidMethod_1 -JNIEnv_CallVoidMethod_2 -JNIEnv_GetMethodID_10 -JNIEnv_GetMethodID_11 -JNIEnv_GetMethodID_12 -JNIEnv_GetMethodID_13 -JNIEnv_GetMethodID_14 -JNIEnv_GetMethodID_15 -JNIEnv_GetMethodID_16 -JNIEnv_GetMethodID_17 -JNIEnv_GetMethodID_18 -JNIEnv_GetMethodID_19 -JNIEnv_GetMethodID_2 -JNIEnv_GetMethodID_20 -JNIEnv_GetMethodID_21 -JNIEnv_GetMethodID_22 -JNIEnv_GetMethodID_23 -JNIEnv_GetMethodID_24 -JNIEnv_GetMethodID_25 -JNIEnv_GetMethodID_26 -JNIEnv_GetMethodID_27 -JNIEnv_GetMethodID_28 -JNIEnv_GetMethodID_29 -JNIEnv_GetMethodID_3 -JNIEnv_GetMethodID_30 -JNIEnv_GetMethodID_31 -JNIEnv_GetMethodID_32 -JNIEnv_GetMethodID_33 -JNIEnv_GetMethodID_34 -JNIEnv_GetMethodID_35 -JNIEnv_GetMethodID_36 -JNIEnv_GetMethodID_37 -JNIEnv_GetMethodID_38 -JNIEnv_GetMethodID_39 -JNIEnv_GetMethodID_4 -JNIEnv_GetMethodID_5 -JNIEnv_GetMethodID_6 -JNIEnv_GetMethodID_7 -JNIEnv_GetMethodID_8 -JNIEnv_GetMethodID_9 -JNIEnv_CallStaticBooleanMethod_1 -JNIEnv_CallStaticBooleanMethod_2 -JNIEnv_CallStaticBooleanMethod_3 -JNIEnv_CallStaticBooleanMethod_4 -JNIEnv_CallStaticByteMethod_1 -JNIEnv_CallStaticByteMethod_2 -JNIEnv_CallStaticByteMethod_3 -JNIEnv_CallStaticByteMethod_4 -JNIEnv_CallStaticCharMethod_1 -JNIEnv_CallStaticCharMethod_2 -JNIEnv_CallStaticCharMethod_3 -JNIEnv_CallStaticCharMethod_4 -JNIEnv_CallStaticDoubleMethod_1 -JNIEnv_CallStaticDoubleMethod_2 -JNIEnv_CallStaticDoubleMethod_3 -JNIEnv_CallStaticDoubleMethod_4 -JNIEnv_CallStaticFloatMethod_1 -JNIEnv_CallStaticFloatMethod_2 -JNIEnv_CallStaticFloatMethod_3 -JNIEnv_CallStaticFloatMethod_4 -JNIEnv_CallStaticIntMethod_1 -JNIEnv_CallStaticIntMethod_10 -JNIEnv_CallStaticIntMethod_11 -JNIEnv_CallStaticIntMethod_12 -JNIEnv_CallStaticIntMethod_13 -JNIEnv_CallStaticIntMethod_14 -JNIEnv_CallStaticIntMethod_15 -JNIEnv_CallStaticIntMethod_16 -JNIEnv_CallStaticIntMethod_17 -JNIEnv_CallStaticIntMethod_18 -JNIEnv_CallStaticIntMethod_19 -JNIEnv_CallStaticIntMethod_2 -JNIEnv_CallStaticIntMethod_20 -JNIEnv_CallStaticIntMethod_21 -JNIEnv_CallStaticIntMethod_4 -JNIEnv_CallStaticIntMethod_5 -JNIEnv_CallStaticIntMethod_7 -JNIEnv_CallStaticIntMethod_8 -JNIEnv_CallStaticIntMethod_9 -JNIEnv_CallStaticLongMethod_1 -JNIEnv_CallStaticLongMethod_2 -JNIEnv_CallStaticLongMethod_3 -JNIEnv_CallStaticLongMethod_4 -JNIEnv_CallStaticObjectMethod_1 -JNIEnv_CallStaticObjectMethod_2 -JNIEnv_CallStaticObjectMethod_3 -JNIEnv_CallStaticObjectMethod_4 -JNIEnv_CallStaticObjectMethod_5 -JNIEnv_CallStaticObjectMethod_6 -JNIEnv_CallStaticObjectMethod_7 -JNIEnv_CallStaticShortMethod_1 -JNIEnv_CallStaticShortMethod_2 -JNIEnv_CallStaticShortMethod_3 -JNIEnv_CallStaticShortMethod_4 -JNIEnv_CallStaticVoidMethod_1 -JNIEnv_CallStaticVoidMethod_2 -JNIEnv_GetStaticMethodID_1 -JNIEnv_GetStaticMethodID_10 -JNIEnv_GetStaticMethodID_11 -JNIEnv_GetStaticMethodID_12 -JNIEnv_GetStaticMethodID_13 -JNIEnv_GetStaticMethodID_14 -JNIEnv_GetStaticMethodID_15 -JNIEnv_GetStaticMethodID_16 -JNIEnv_GetStaticMethodID_17 -JNIEnv_GetStaticMethodID_18 -JNIEnv_GetStaticMethodID_19 -JNIEnv_GetStaticMethodID_2 -JNIEnv_GetStaticMethodID_20 -JNIEnv_GetStaticMethodID_21 -JNIEnv_GetStaticMethodID_22 -JNIEnv_GetStaticMethodID_3 -JNIEnv_GetStaticMethodID_4 -JNIEnv_GetStaticMethodID_5 -JNIEnv_GetStaticMethodID_6 -JNIEnv_GetStaticMethodID_7 -JNIEnv_GetStaticMethodID_8 -JNIEnv_GetStaticMethodID_9 -JNIEnv_FindClass_1 -JNIEnv_FindClass_2 -JNIEnv_FindClass_3 -JNIEnv_FindClass_4 -JNIEnv_FindClass_5 -JNIEnv_FindClass_6 -JNIEnv_FindClass_7 -JNIEnv_FindClass_8 -JNIEnv_GetSuperclass_1 -JNIEnv_GetSuperclass_2 -JNIEnv_GetSuperclass_3 -JNIEnv_GetSuperclass_4 -JNIEnv_IsAssignableFrom_1 -JNIEnv_IsAssignableFrom_2 -JNIEnv_IsAssignableFrom_3 -JNIEnv_IsAssignableFrom_4 -JNIEnv_IsAssignableFrom_5 -JNIEnv_ExceptionClear_1 -JNIEnv_ExceptionClear_2 -JNIEnv_ExceptionDescribe_1 -JNIEnv_ExceptionDescribe_2 -JNIEnv_ExceptionOccured_1 -JNIEnv_ExceptionOccured_2 -JNIEnv_FatalError_1 -JNIEnv_ThrowNew_1 -JNIEnv_ThrowNew_2 -JNIEnv_ThrowNew_3 -JNIEnv_ThrowNew_4 -JNIEnv_ThrowNew_5 -JNIEnv_Throw_1 -JNIEnv_Throw_2 -JNIEnv_DeleteGlobalRef_1 -JNIEnv_DeleteGlobalRef_2 -JNIEnv_DeleteLocalRef_1 -JNIEnv_DeleteLocalRef_2 -JNIEnv_NewGlobalRef_1 -JNIEnv_NewGlobalRef_2 -JNIEnv_GetJavaVM_1 -JNIEnv_GetJavaVM_2 -JNIEnv_AllocObject_1 -JNIEnv_AllocObject_2 -JNIEnv_AllocObject_3 -JNIEnv_AllocObject_4 -JNIEnv_GetObjectClass_1 -JNIEnv_GetObjectClass_2 -JNIEnv_IsInstanceOf_1 -JNIEnv_IsInstanceOf_2 -JNIEnv_IsInstanceOf_3 -JNIEnv_IsInstanceOf_4 -JNIEnv_IsInstanceOf_5 -JNIEnv_IsSameObject_1 -JNIEnv_IsSameObject_2 -JNIEnv_IsSameObject_3 -JNIEnv_IsSameObject_4 -JNIEnv_NewObjectA_1 -JNIEnv_NewObjectA_2 -JNIEnv_NewObjectA_3 -JNIEnv_NewObjectA_4 -JNIEnv_NewObjectA_5 -JNIEnv_NewObjectA_6 -JNIEnv_NewObjectA_7 -JNIEnv_NewObjectA_8 -JNIEnv_NewObjectA_9 -JNIEnv_NewObject_1 -JNIEnv_NewObject_2 -JNIEnv_NewObject_3 -JNIEnv_NewObject_4 -JNIEnv_NewObject_5 -JNIEnv_NewObject_6 -JNIEnv_NewObject_7 -JNIEnv_NewObject_8 -JNIEnv_NewObject_9 -JNIEnv_GetStringChars_1 -JNIEnv_GetStringChars_2 -JNIEnv_GetStringChars_3 -JNIEnv_GetStringChars_4 -JNIEnv_GetStringLength_1 -JNIEnv_GetStringLength_2 -JNIEnv_GetStringLength_3 -JNIEnv_GetStringUTFChars_1 -JNIEnv_GetStringUTFChars_2 -JNIEnv_GetStringUTFChars_3 -JNIEnv_GetStringUTFChars_4 -JNIEnv_GetStringUTFLength_1 -JNIEnv_GetStringUTFLength_2 -JNIEnv_GetStringUTFLength_3 -JNIEnv_NewStringUTF_1 -JNIEnv_NewStringUTF_2 -JNIEnv_NewStringUTF_3 -JNIEnv_NewString_1 -JNIEnv_NewString_2 -JNIEnv_NewString_3 -JNIEnv_ReleaseStringChars_1 -JNIEnv_ReleaseStringChars_2 -JNIEnv_ReleaseStringUTFChars_1 -JNIEnv_ReleaseStringUTFChars_2 -JNIEnv_GetVersion_1 diff --git a/modules/oji/tests/script/OJIValidTests.lst b/modules/oji/tests/script/OJIValidTests.lst deleted file mode 100644 index 1a47ed053ba..00000000000 --- a/modules/oji/tests/script/OJIValidTests.lst +++ /dev/null @@ -1,558 +0,0 @@ -# -####################### Proxy JNI tests ####################### -# -JNIEnv_AllocObject_2 -JNIEnv_AllocObject_3 -JNIEnv_AllocObject_4 -JNIEnv_CallBooleanMethod_1 -JNIEnv_CallBooleanMethod_2 -JNIEnv_CallBooleanMethod_3 -JNIEnv_CallBooleanMethod_4 -JNIEnv_CallByteMethod_1 -JNIEnv_CallByteMethod_2 -JNIEnv_CallByteMethod_3 -JNIEnv_CallByteMethod_4 -JNIEnv_CallCharMethod_1 -JNIEnv_CallCharMethod_2 -JNIEnv_CallDoubleMethod_1 -JNIEnv_CallDoubleMethod_2 -JNIEnv_CallDoubleMethod_3 -JNIEnv_CallDoubleMethod_4 -JNIEnv_CallFloatMethod_1 -JNIEnv_CallFloatMethod_2 -JNIEnv_CallFloatMethod_3 -JNIEnv_CallFloatMethod_4 -JNIEnv_CallIntMethod_10 -JNIEnv_CallIntMethod_11 -JNIEnv_CallIntMethod_13 -JNIEnv_CallIntMethod_14 -JNIEnv_CallIntMethod_15 -JNIEnv_CallIntMethod_16 -JNIEnv_CallIntMethod_17 -JNIEnv_CallIntMethod_18 -JNIEnv_CallIntMethod_19 -JNIEnv_CallIntMethod_1 -JNIEnv_CallIntMethod_2 -JNIEnv_CallIntMethod_3 -JNIEnv_CallIntMethod_4 -JNIEnv_CallIntMethod_5 -JNIEnv_CallIntMethod_6 -JNIEnv_CallIntMethod_7 -JNIEnv_CallIntMethod_8 -JNIEnv_CallIntMethod_9 -JNIEnv_CallLongMethod_1 -JNIEnv_CallLongMethod_2 -JNIEnv_CallLongMethod_3 -JNIEnv_CallLongMethod_4 -JNIEnv_CallNonvirtualBooleanMethod_1 -JNIEnv_CallNonvirtualBooleanMethod_2 -JNIEnv_CallNonvirtualBooleanMethod_3 -JNIEnv_CallNonvirtualBooleanMethod_4 -JNIEnv_CallNonvirtualByteMethod_1 -JNIEnv_CallNonvirtualByteMethod_2 -JNIEnv_CallNonvirtualByteMethod_3 -JNIEnv_CallNonvirtualByteMethod_4 -JNIEnv_CallNonvirtualCharMethod_1 -JNIEnv_CallNonvirtualCharMethod_2 -JNIEnv_CallNonvirtualCharMethod_3 -JNIEnv_CallNonvirtualCharMethod_4 -JNIEnv_CallNonvirtualDoubleMethod_1 -JNIEnv_CallNonvirtualDoubleMethod_2 -JNIEnv_CallNonvirtualDoubleMethod_3 -JNIEnv_CallNonvirtualDoubleMethod_4 -JNIEnv_CallNonvirtualFloatMethod_1 -JNIEnv_CallNonvirtualFloatMethod_2 -JNIEnv_CallNonvirtualFloatMethod_3 -JNIEnv_CallNonvirtualFloatMethod_4 -JNIEnv_CallNonvirtualIntMethod_10 -JNIEnv_CallNonvirtualIntMethod_11 -JNIEnv_CallNonvirtualIntMethod_12 -JNIEnv_CallNonvirtualIntMethod_13 -JNIEnv_CallNonvirtualIntMethod_14 -JNIEnv_CallNonvirtualIntMethod_15 -JNIEnv_CallNonvirtualIntMethod_16 -JNIEnv_CallNonvirtualIntMethod_18 -JNIEnv_CallNonvirtualIntMethod_19 -JNIEnv_CallNonvirtualIntMethod_1 -JNIEnv_CallNonvirtualIntMethod_21 -JNIEnv_CallNonvirtualIntMethod_22 -JNIEnv_CallNonvirtualIntMethod_23 -JNIEnv_CallNonvirtualIntMethod_24 -JNIEnv_CallNonvirtualIntMethod_25 -JNIEnv_CallNonvirtualIntMethod_26 -JNIEnv_CallNonvirtualIntMethod_27 -JNIEnv_CallNonvirtualIntMethod_28 -JNIEnv_CallNonvirtualIntMethod_29 -JNIEnv_CallNonvirtualIntMethod_2 -JNIEnv_CallNonvirtualIntMethod_30 -JNIEnv_CallNonvirtualIntMethod_31 -JNIEnv_CallNonvirtualIntMethod_32 -JNIEnv_CallNonvirtualIntMethod_33 -JNIEnv_CallNonvirtualIntMethod_34 -JNIEnv_CallNonvirtualIntMethod_4 -JNIEnv_CallNonvirtualIntMethod_5 -JNIEnv_CallNonvirtualIntMethod_7 -JNIEnv_CallNonvirtualIntMethod_8 -JNIEnv_CallNonvirtualIntMethod_9 -JNIEnv_CallNonvirtualLongMethod_1 -JNIEnv_CallNonvirtualLongMethod_2 -JNIEnv_CallNonvirtualLongMethod_3 -JNIEnv_CallNonvirtualLongMethod_4 -JNIEnv_CallNonvirtualObjectMethod_1 -JNIEnv_CallNonvirtualObjectMethod_2 -JNIEnv_CallNonvirtualObjectMethod_3 -JNIEnv_CallNonvirtualObjectMethod_4 -JNIEnv_CallNonvirtualObjectMethod_5 -JNIEnv_CallNonvirtualObjectMethod_6 -JNIEnv_CallNonvirtualObjectMethod_7 -JNIEnv_CallNonvirtualShortMethod_1 -JNIEnv_CallNonvirtualShortMethod_2 -JNIEnv_CallNonvirtualShortMethod_3 -JNIEnv_CallNonvirtualShortMethod_4 -JNIEnv_CallNonvirtualVoidMethod_1 -JNIEnv_CallNonvirtualVoidMethod_2 -JNIEnv_CallObjectMethod_1 -JNIEnv_CallObjectMethod_2 -JNIEnv_CallObjectMethod_3 -JNIEnv_CallObjectMethod_4 -JNIEnv_CallObjectMethod_5 -JNIEnv_CallObjectMethod_6 -JNIEnv_CallObjectMethod_7 -JNIEnv_CallShortMethod_1 -JNIEnv_CallShortMethod_2 -JNIEnv_CallShortMethod_3 -JNIEnv_CallShortMethod_4 -JNIEnv_CallStaticBooleanMethod_1 -JNIEnv_CallStaticBooleanMethod_2 -JNIEnv_CallStaticBooleanMethod_3 -JNIEnv_CallStaticBooleanMethod_4 -JNIEnv_CallStaticByteMethod_1 -JNIEnv_CallStaticByteMethod_2 -JNIEnv_CallStaticByteMethod_3 -JNIEnv_CallStaticByteMethod_4 -JNIEnv_CallStaticCharMethod_1 -JNIEnv_CallStaticCharMethod_2 -JNIEnv_CallStaticCharMethod_3 -JNIEnv_CallStaticCharMethod_4 -JNIEnv_CallStaticDoubleMethod_1 -JNIEnv_CallStaticDoubleMethod_2 -JNIEnv_CallStaticDoubleMethod_3 -JNIEnv_CallStaticDoubleMethod_4 -JNIEnv_CallStaticFloatMethod_1 -JNIEnv_CallStaticFloatMethod_2 -JNIEnv_CallStaticFloatMethod_3 -JNIEnv_CallStaticFloatMethod_4 -JNIEnv_CallStaticIntMethod_10 -JNIEnv_CallStaticIntMethod_11 -JNIEnv_CallStaticIntMethod_12 -JNIEnv_CallStaticIntMethod_13 -JNIEnv_CallStaticIntMethod_14 -JNIEnv_CallStaticIntMethod_15 -JNIEnv_CallStaticIntMethod_16 -JNIEnv_CallStaticIntMethod_18 -JNIEnv_CallStaticIntMethod_19 -JNIEnv_CallStaticIntMethod_1 -JNIEnv_CallStaticIntMethod_20 -JNIEnv_CallStaticIntMethod_21 -JNIEnv_CallStaticIntMethod_2 -JNIEnv_CallStaticIntMethod_4 -JNIEnv_CallStaticIntMethod_5 -JNIEnv_CallStaticIntMethod_7 -JNIEnv_CallStaticIntMethod_8 -JNIEnv_CallStaticIntMethod_9 -JNIEnv_CallStaticLongMethod_1 -JNIEnv_CallStaticLongMethod_2 -JNIEnv_CallStaticLongMethod_3 -JNIEnv_CallStaticLongMethod_4 -JNIEnv_CallStaticObjectMethod_1 -JNIEnv_CallStaticObjectMethod_2 -JNIEnv_CallStaticObjectMethod_3 -JNIEnv_CallStaticObjectMethod_4 -JNIEnv_CallStaticObjectMethod_5 -JNIEnv_CallStaticObjectMethod_6 -JNIEnv_CallStaticObjectMethod_7 -JNIEnv_CallStaticShortMethod_1 -JNIEnv_CallStaticShortMethod_2 -JNIEnv_CallStaticShortMethod_3 -JNIEnv_CallStaticShortMethod_4 -JNIEnv_CallStaticVoidMethod_1 -JNIEnv_CallStaticVoidMethod_2 -JNIEnv_CallVoidMethod_1 -JNIEnv_CallVoidMethod_2 -JNIEnv_DeleteGlobalRef_1 -JNIEnv_DeleteGlobalRef_2 -JNIEnv_DeleteLocalRef_1 -JNIEnv_DeleteLocalRef_2 -JNIEnv_ExceptionClear_1 -JNIEnv_ExceptionClear_2 -JNIEnv_ExceptionDescribe_1 -JNIEnv_ExceptionDescribe_2 -JNIEnv_FindClass_2 -JNIEnv_FindClass_3 -JNIEnv_FindClass_4 -JNIEnv_FindClass_5 -JNIEnv_FindClass_6 -JNIEnv_FindClass_7 -JNIEnv_FindClass_8 -JNIEnv_GetArrayLength_1 -JNIEnv_GetArrayLength_3 -JNIEnv_GetBooleanArrayElements_2 -JNIEnv_GetBooleanArrayElements_3 -JNIEnv_GetBooleanArrayRegion_1 -JNIEnv_GetBooleanField_1 -JNIEnv_GetBooleanField_5 -JNIEnv_GetBooleanField_6 -JNIEnv_GetByteArrayElements_2 -JNIEnv_GetByteArrayElements_3 -JNIEnv_GetByteArrayRegion_1 -JNIEnv_GetByteField_1 -JNIEnv_GetByteField_5 -JNIEnv_GetByteField_6 -JNIEnv_GetCharArrayElements_2 -JNIEnv_GetCharArrayElements_3 -JNIEnv_GetCharArrayRegion_1 -JNIEnv_GetCharField_1 -JNIEnv_GetCharField_5 -JNIEnv_GetDoubleArrayElements_2 -JNIEnv_GetDoubleArrayElements_3 -JNIEnv_GetDoubleArrayRegion_1 -JNIEnv_GetDoubleField_1 -JNIEnv_GetDoubleField_5 -JNIEnv_GetDoubleField_6 -JNIEnv_GetFieldID_10 -JNIEnv_GetFieldID_11 -JNIEnv_GetFieldID_12 -JNIEnv_GetFieldID_13 -JNIEnv_GetFieldID_15 -JNIEnv_GetFieldID_16 -JNIEnv_GetFieldID_17 -JNIEnv_GetFieldID_18 -JNIEnv_GetFieldID_19 -JNIEnv_GetFieldID_20 -JNIEnv_GetFieldID_3 -JNIEnv_GetFieldID_4 -JNIEnv_GetFieldID_6 -JNIEnv_GetFieldID_7 -JNIEnv_GetFieldID_8 -JNIEnv_GetFieldID_9 -JNIEnv_GetFloatArrayElements_2 -JNIEnv_GetFloatArrayElements_3 -JNIEnv_GetFloatArrayRegion_1 -JNIEnv_GetFloatField_1 -JNIEnv_GetFloatField_5 -JNIEnv_GetFloatField_6 -JNIEnv_GetIntArrayElements_2 -JNIEnv_GetIntArrayElements_3 -JNIEnv_GetIntArrayRegion_1 -JNIEnv_GetIntArrayRegion_2 -JNIEnv_GetIntArrayRegion_4 -JNIEnv_GetIntField_1 -JNIEnv_GetIntField_5 -JNIEnv_GetIntField_6 -JNIEnv_GetIntField_7 -JNIEnv_GetJavaVM_2 -JNIEnv_GetLongArrayElements_2 -JNIEnv_GetLongArrayElements_3 -JNIEnv_GetLongArrayRegion_1 -JNIEnv_GetLongField_1 -JNIEnv_GetLongField_5 -JNIEnv_GetLongField_6 -JNIEnv_GetMethodID_10 -JNIEnv_GetMethodID_11 -JNIEnv_GetMethodID_12 -JNIEnv_GetMethodID_13 -JNIEnv_GetMethodID_15 -JNIEnv_GetMethodID_16 -JNIEnv_GetMethodID_17 -JNIEnv_GetMethodID_18 -JNIEnv_GetMethodID_19 -JNIEnv_GetMethodID_20 -JNIEnv_GetMethodID_21 -JNIEnv_GetMethodID_22 -JNIEnv_GetMethodID_23 -JNIEnv_GetMethodID_24 -JNIEnv_GetMethodID_25 -JNIEnv_GetMethodID_26 -JNIEnv_GetMethodID_27 -JNIEnv_GetMethodID_28 -JNIEnv_GetMethodID_29 -JNIEnv_GetMethodID_30 -JNIEnv_GetMethodID_31 -JNIEnv_GetMethodID_32 -JNIEnv_GetMethodID_33 -JNIEnv_GetMethodID_34 -JNIEnv_GetMethodID_35 -JNIEnv_GetMethodID_36 -JNIEnv_GetMethodID_37 -JNIEnv_GetMethodID_38 -JNIEnv_GetMethodID_39 -JNIEnv_GetMethodID_5 -JNIEnv_GetMethodID_6 -JNIEnv_GetMethodID_7 -JNIEnv_GetMethodID_8 -JNIEnv_GetMethodID_9 -JNIEnv_GetObjectArrayElement_1 -JNIEnv_GetObjectArrayElement_2 -JNIEnv_GetObjectArrayElement_4 -JNIEnv_GetObjectArrayElement_5 -JNIEnv_GetObjectClass_1 -JNIEnv_GetObjectField_1 -JNIEnv_GetShortArrayElements_2 -JNIEnv_GetShortArrayElements_3 -JNIEnv_GetShortArrayRegion_1 -JNIEnv_GetShortField_1 -JNIEnv_GetShortField_5 -JNIEnv_GetShortField_6 -JNIEnv_GetStaticBooleanField_1 -JNIEnv_GetStaticBooleanField_5 -JNIEnv_GetStaticBooleanField_6 -JNIEnv_GetStaticByteField_1 -JNIEnv_GetStaticByteField_5 -JNIEnv_GetStaticByteField_6 -JNIEnv_GetStaticCharField_1 -JNIEnv_GetStaticCharField_5 -JNIEnv_GetStaticDoubleField_1 -JNIEnv_GetStaticDoubleField_5 -JNIEnv_GetStaticFieldID_10 -JNIEnv_GetStaticFieldID_11 -JNIEnv_GetStaticFieldID_12 -JNIEnv_GetStaticFieldID_13 -JNIEnv_GetStaticFieldID_14 -JNIEnv_GetStaticFieldID_15 -JNIEnv_GetStaticFieldID_16 -JNIEnv_GetStaticFieldID_17 -JNIEnv_GetStaticFieldID_18 -JNIEnv_GetStaticFieldID_19 -JNIEnv_GetStaticFieldID_20 -JNIEnv_GetStaticFieldID_4 -JNIEnv_GetStaticFieldID_5 -JNIEnv_GetStaticFieldID_6 -JNIEnv_GetStaticFieldID_7 -JNIEnv_GetStaticFieldID_8 -JNIEnv_GetStaticFieldID_9 -JNIEnv_GetStaticFloatField_1 -JNIEnv_GetStaticFloatField_5 -JNIEnv_GetStaticFloatField_6 -JNIEnv_GetStaticIntField_1 -JNIEnv_GetStaticIntField_5 -JNIEnv_GetStaticIntField_6 -JNIEnv_GetStaticLongField_1 -JNIEnv_GetStaticLongField_5 -JNIEnv_GetStaticLongField_6 -JNIEnv_GetStaticMethodID_10 -JNIEnv_GetStaticMethodID_11 -JNIEnv_GetStaticMethodID_12 -JNIEnv_GetStaticMethodID_13 -JNIEnv_GetStaticMethodID_14 -JNIEnv_GetStaticMethodID_16 -JNIEnv_GetStaticMethodID_17 -JNIEnv_GetStaticMethodID_18 -JNIEnv_GetStaticMethodID_19 -JNIEnv_GetStaticMethodID_20 -JNIEnv_GetStaticMethodID_21 -JNIEnv_GetStaticMethodID_6 -JNIEnv_GetStaticMethodID_7 -JNIEnv_GetStaticMethodID_8 -JNIEnv_GetStaticMethodID_9 -JNIEnv_GetStaticObjectField_1 -JNIEnv_GetStaticObjectField_5 -JNIEnv_GetStaticShortField_1 -JNIEnv_GetStaticShortField_5 -JNIEnv_GetStaticShortField_6 -JNIEnv_GetStringChars_4 -JNIEnv_GetStringLength_2 -JNIEnv_GetStringLength_3 -JNIEnv_GetStringUTFChars_1 -JNIEnv_GetStringUTFChars_3 -JNIEnv_GetStringUTFChars_4 -JNIEnv_GetStringUTFLength_1 -JNIEnv_GetStringUTFLength_2 -JNIEnv_GetSuperclass_2 -JNIEnv_GetSuperclass_3 -JNIEnv_GetSuperclass_4 -JNIEnv_GetVersion_1 -JNIEnv_IsAssignableFrom_1 -JNIEnv_IsAssignableFrom_3 -JNIEnv_IsAssignableFrom_4 -JNIEnv_IsAssignableFrom_5 -JNIEnv_IsInstanceOf_1 -JNIEnv_IsInstanceOf_2 -JNIEnv_IsInstanceOf_3 -JNIEnv_IsInstanceOf_4 -JNIEnv_IsInstanceOf_5 -JNIEnv_IsSameObject_1 -JNIEnv_IsSameObject_2 -JNIEnv_IsSameObject_3 -JNIEnv_IsSameObject_4 -JNIEnv_NewBooleanArray_1 -JNIEnv_NewBooleanArray_2 -JNIEnv_NewBooleanArray_3 -JNIEnv_NewByteArray_1 -JNIEnv_NewByteArray_2 -JNIEnv_NewByteArray_3 -JNIEnv_NewCharArray_1 -JNIEnv_NewCharArray_2 -JNIEnv_NewCharArray_3 -JNIEnv_NewDoubleArray_1 -JNIEnv_NewDoubleArray_2 -JNIEnv_NewDoubleArray_3 -JNIEnv_NewFloatArray_1 -JNIEnv_NewFloatArray_2 -JNIEnv_NewFloatArray_3 -JNIEnv_NewGlobalRef_1 -JNIEnv_NewGlobalRef_2 -JNIEnv_NewIntArray_1 -JNIEnv_NewIntArray_2 -JNIEnv_NewIntArray_3 -JNIEnv_NewLongArray_1 -JNIEnv_NewLongArray_2 -JNIEnv_NewLongArray_3 -JNIEnv_NewObjectA_1 -JNIEnv_NewObjectA_3 -JNIEnv_NewObjectA_4 -JNIEnv_NewObjectA_9 -JNIEnv_NewObjectArray_1 -JNIEnv_NewObjectArray_3 -JNIEnv_NewObjectArray_4 -JNIEnv_NewObjectArray_5 -JNIEnv_NewObject_1 -JNIEnv_NewObject_3 -JNIEnv_NewObject_4 -JNIEnv_NewObject_9 -JNIEnv_NewShortArray_1 -JNIEnv_NewShortArray_2 -JNIEnv_NewShortArray_3 -JNIEnv_NewStringUTF_1 -JNIEnv_NewStringUTF_2 -JNIEnv_NewStringUTF_3 -JNIEnv_NewString_2 -JNIEnv_NewString_3 -JNIEnv_ReleaseBooleanArrayElements_1 -JNIEnv_ReleaseBooleanArrayElements_2 -JNIEnv_ReleaseBooleanArrayElements_3 -JNIEnv_ReleaseByteArrayElements_1 -JNIEnv_ReleaseByteArrayElements_2 -JNIEnv_ReleaseByteArrayElements_3 -JNIEnv_ReleaseCharArrayElements_1 -JNIEnv_ReleaseCharArrayElements_2 -JNIEnv_ReleaseCharArrayElements_3 -JNIEnv_ReleaseDoubleArrayElements_1 -JNIEnv_ReleaseDoubleArrayElements_2 -JNIEnv_ReleaseDoubleArrayElements_3 -JNIEnv_ReleaseFloatArrayElements_1 -JNIEnv_ReleaseFloatArrayElements_2 -JNIEnv_ReleaseFloatArrayElements_3 -JNIEnv_ReleaseIntArrayElements_1 -JNIEnv_ReleaseIntArrayElements_2 -JNIEnv_ReleaseIntArrayElements_3 -JNIEnv_ReleaseLongArrayElements_1 -JNIEnv_ReleaseLongArrayElements_2 -JNIEnv_ReleaseLongArrayElements_3 -JNIEnv_ReleaseShortArrayElements_1 -JNIEnv_ReleaseShortArrayElements_2 -JNIEnv_ReleaseShortArrayElements_3 -JNIEnv_ReleaseStringChars_2 -JNIEnv_ReleaseStringUTFChars_1 -JNIEnv_ReleaseStringUTFChars_2 -JNIEnv_SetBooleanArrayRegion_1 -JNIEnv_SetBooleanField_1 -JNIEnv_SetBooleanField_5 -JNIEnv_SetBooleanField_6 -JNIEnv_SetBooleanField_7 -JNIEnv_SetByteArrayRegion_1 -JNIEnv_SetByteField_1 -JNIEnv_SetByteField_5 -JNIEnv_SetByteField_6 -JNIEnv_SetCharArrayRegion_1 -JNIEnv_SetCharField_1 -JNIEnv_SetCharField_5 -JNIEnv_SetCharField_6 -JNIEnv_SetDoubleArrayRegion_1 -JNIEnv_SetDoubleField_1 -JNIEnv_SetDoubleField_5 -JNIEnv_SetDoubleField_6 -JNIEnv_SetFloatArrayRegion_1 -JNIEnv_SetFloatField_1 -JNIEnv_SetFloatField_5 -JNIEnv_SetIntArrayRegion_1 -JNIEnv_SetIntArrayRegion_2 -JNIEnv_SetIntArrayRegion_4 -JNIEnv_SetIntField_1 -JNIEnv_SetIntField_5 -JNIEnv_SetLongArrayRegion_1 -JNIEnv_SetLongField_1 -JNIEnv_SetLongField_5 -JNIEnv_SetObjectArrayElement_1 -JNIEnv_SetObjectArrayElement_2 -JNIEnv_SetObjectArrayElement_3 -JNIEnv_SetObjectArrayElement_4 -JNIEnv_SetObjectArrayElement_5 -JNIEnv_SetObjectField_5 -JNIEnv_SetShortArrayRegion_1 -JNIEnv_SetShortField_1 -JNIEnv_SetShortField_5 -JNIEnv_SetStaticBooleanField_1 -JNIEnv_SetStaticBooleanField_5 -JNIEnv_SetStaticBooleanField_6 -JNIEnv_SetStaticByteField_1 -JNIEnv_SetStaticByteField_5 -JNIEnv_SetStaticByteField_6 -JNIEnv_SetStaticCharField_1 -JNIEnv_SetStaticCharField_5 -JNIEnv_SetStaticCharField_6 -JNIEnv_SetStaticDoubleField_1 -JNIEnv_SetStaticDoubleField_5 -JNIEnv_SetStaticDoubleField_6 -JNIEnv_SetStaticFloatField_1 -JNIEnv_SetStaticFloatField_5 -JNIEnv_SetStaticIntField_1 -JNIEnv_SetStaticIntField_5 -JNIEnv_SetStaticLongField_1 -JNIEnv_SetStaticLongField_5 -JNIEnv_SetStaticObjectField_1 -JNIEnv_SetStaticObjectField_5 -JNIEnv_SetStaticShortField_1 -JNIEnv_SetStaticShortField_5 -JNIEnv_ThrowNew_1 -JNIEnv_ThrowNew_2 -JNIEnv_ThrowNew_3 -JNIEnv_ThrowNew_4 -# -####################### JVM Manager tests ####################### -# -JVMManager_CreateProxyJNI_1 -JVMManager_CreateProxyJNI_4 -JVMManager_GetProxyJNI_2 -JVMManager_GetProxyJNI_3 -JVMManager_ShowJavaConsole_1 -JVMManager_ShowJavaConsole_2 -# -####################### Live Connect Manager tests ############## -# -LCM_IsLiveConnectEnabled_2 -LCM_WrapJavaObject_1 -# -####################### Thread Manager tests #################### -# -ThreadManager_CreateThread_4 -ThreadManager_EnterMonitor_4 -ThreadManager_ExitMonitor_1 -ThreadManager_ExitMonitor_3 -ThreadManager_ExitMonitor_4 -ThreadManager_GetCurrentThread_1 -ThreadManager_NotifyAll_3 -ThreadManager_NotifyAll_4 -ThreadManager_Notify_1 -ThreadManager_Notify_3 -ThreadManager_Notify_4 -ThreadManager_PostEvent_2 -ThreadManager_PostEvent_3 -ThreadManager_PostEvent_5 -ThreadManager_PostEvent_6 -ThreadManager_PostEvent_7 -ThreadManager_Sleep_1 -ThreadManager_Sleep_2 -ThreadManager_Wait_1 -ThreadManager_Wait_2 -ThreadManager_Wait_3 -ThreadManager_Wait_4 diff --git a/modules/oji/tests/script/autorun.pl b/modules/oji/tests/script/autorun.pl deleted file mode 100755 index 22bdaccc8c0..00000000000 --- a/modules/oji/tests/script/autorun.pl +++ /dev/null @@ -1,740 +0,0 @@ -#!/usr/bin/perl -# -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Sun Microsystems, Inc. -# Portions created by the Initial Developer are Copyright (C) 1999 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** - -# Created By: Raju Pallath -# Creation Date: Aug 2nd 1999 -# -# Ported by: Konstantin S. Ermakov -# Ported date: Aug 24th 1999 -# -# This script is used to invoke all test case for OJI API -# through apprunner and to recored their results -# -# - -# Attach Perl Libraries -################################################################### -use POSIX ":sys_wait_h"; #used by waitpid -use Cwd; -use File::Copy; -#use Win32::Process; -#use IO::Handle; -################################################################### - - -######################## -# # -# User's settings # -# # -######################## - -#Mozilla's executable -$MOZILLA_EXECUTABLE="mozilla-bin"; -if ($^O =~ /Win32/i) { - $MOZILLA_EXECUTABLE="mozilla.exe"; -} - -#sometimes we need to specify additional parameters for mozilla -$ADDITIONAL_PARAMETERS="-P default"; - -# time in seconds after which the apprunner has to be killed. -# by default the apprunner will be up for so much time regardless of -# whether over or not. User can either decrease it or increase it. -# -$DELAY_FACTOR = 50; - -$FULL_TEST_LIST="OJITestsList.lst"; - -$TEST_RESULTS="OJITestResults.txt"; - -$TEST_DESCRIPTIONS="../OJIAPITestsDescr.html"; -$TARGET_WINDOW="Test Descriptions"; - -$curdir = cwd(); -$DEFAULT_TEST_URL="file:///$curdir"; - -# time period in seconds of periodically checking: is the apprunner still alive -$DELAY_OF_CYCLE = 1; - - -############################################################## -############################################################## -############################################################## - - -$DOCROOT = $ENV{"TEST_URL"} ? $ENV{"TEST_URL"} : $DEFAULT_TEST_URL; - -# delimiter for logfile -$delimiter="###################################################\n"; -$nosort=0; - - -################################################################## -# Usage -################################################################## -sub usage() { - - print "\n"; - print "##################################################################\n"; - print " perl autorun.pl [ -help ] [ -genhtml [ ALL/PASS/FAILED/ ] ] [ -compare [ ] ] [ -t ]\n"; - print "\n"; - print " -help This message.\n\n"; - print " -compare \n"; - print " Compares two test result files and generates the diff files\n"; - print " the resulting diff files in text (.txt)\n"; - print " and HTML (.html) formats\n"; - print " files to be compared (optional parameters)\n"; - print " should contain test results in text format\n"; - print " (generated by autorun.pl as BWTest.txt);\n"; - print " if ommited the default values are used: \n"; - print " => log/BWTest.txt \n"; - print " => log/BWTest.txt.bak \n\n"; - print " -genhtml