Warning, file /multimedia/kmplayer/src/moz-sdk/jri.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 0002 /* ***** BEGIN LICENSE BLOCK ***** 0003 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 0004 * 0005 * The contents of this file are subject to the Mozilla Public License Version 0006 * 1.1 (the "License"); you may not use this file except in compliance with 0007 * the License. You may obtain a copy of the License at 0008 * http://www.mozilla.org/MPL/ 0009 * 0010 * Software distributed under the License is distributed on an "AS IS" basis, 0011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 0012 * for the specific language governing rights and limitations under the 0013 * License. 0014 * 0015 * The Original Code is mozilla.org code. 0016 * 0017 * The Initial Developer of the Original Code is 0018 * Netscape Communications Corporation. 0019 * Portions created by the Initial Developer are Copyright (C) 1998 0020 * the Initial Developer. All Rights Reserved. 0021 * 0022 * Contributor(s): 0023 * 0024 * Alternatively, the contents of this file may be used under the terms of 0025 * either the GNU General Public License Version 2 or later (the "GPL"), or 0026 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), 0027 * in which case the provisions of the GPL or the LGPL are applicable instead 0028 * of those above. If you wish to allow use of your version of this file only 0029 * under the terms of either the GPL or the LGPL, and not to allow others to 0030 * use your version of this file under the terms of the MPL, indicate your 0031 * decision by deleting the provisions above and replace them with the notice 0032 * and other provisions required by the GPL or the LGPL. If you do not delete 0033 * the provisions above, a recipient may use your version of this file under 0034 * the terms of any one of the MPL, the GPL or the LGPL. 0035 * 0036 * ***** END LICENSE BLOCK ***** */ 0037 0038 /******************************************************************************* 0039 * Java Runtime Interface 0040 ******************************************************************************/ 0041 0042 #ifndef JRI_H 0043 #define JRI_H 0044 0045 #include "jritypes.h" 0046 0047 #ifdef __cplusplus 0048 extern "C" { 0049 #endif /* __cplusplus */ 0050 0051 /******************************************************************************* 0052 * JRIEnv 0053 ******************************************************************************/ 0054 0055 /* The type of the JRIEnv interface. */ 0056 typedef struct JRIEnvInterface JRIEnvInterface; 0057 0058 /* The type of a JRIEnv instance. */ 0059 typedef const JRIEnvInterface* JRIEnv; 0060 0061 /******************************************************************************* 0062 * JRIEnv Operations 0063 ******************************************************************************/ 0064 0065 #define JRI_DefineClass(env, classLoader, buf, bufLen) \ 0066 (((*(env))->DefineClass)(env, JRI_DefineClass_op, classLoader, buf, bufLen)) 0067 0068 #define JRI_FindClass(env, name) \ 0069 (((*(env))->FindClass)(env, JRI_FindClass_op, name)) 0070 0071 #define JRI_Throw(env, obj) \ 0072 (((*(env))->Throw)(env, JRI_Throw_op, obj)) 0073 0074 #define JRI_ThrowNew(env, clazz, message) \ 0075 (((*(env))->ThrowNew)(env, JRI_ThrowNew_op, clazz, message)) 0076 0077 #define JRI_ExceptionOccurred(env) \ 0078 (((*(env))->ExceptionOccurred)(env, JRI_ExceptionOccurred_op)) 0079 0080 #define JRI_ExceptionDescribe(env) \ 0081 (((*(env))->ExceptionDescribe)(env, JRI_ExceptionDescribe_op)) 0082 0083 #define JRI_ExceptionClear(env) \ 0084 (((*(env))->ExceptionClear)(env, JRI_ExceptionClear_op)) 0085 0086 #define JRI_NewGlobalRef(env, ref) \ 0087 (((*(env))->NewGlobalRef)(env, JRI_NewGlobalRef_op, ref)) 0088 0089 #define JRI_DisposeGlobalRef(env, gref) \ 0090 (((*(env))->DisposeGlobalRef)(env, JRI_DisposeGlobalRef_op, gref)) 0091 0092 #define JRI_GetGlobalRef(env, gref) \ 0093 (((*(env))->GetGlobalRef)(env, JRI_GetGlobalRef_op, gref)) 0094 0095 #define JRI_SetGlobalRef(env, gref, ref) \ 0096 (((*(env))->SetGlobalRef)(env, JRI_SetGlobalRef_op, gref, ref)) 0097 0098 #define JRI_IsSameObject(env, a, b) \ 0099 (((*(env))->IsSameObject)(env, JRI_IsSameObject_op, a, b)) 0100 0101 #define JRI_NewObject(env) ((*(env))->NewObject) 0102 #define JRI_NewObjectV(env, clazz, methodID, args) \ 0103 (((*(env))->NewObjectV)(env, JRI_NewObject_op_va_list, clazz, methodID, args)) 0104 #define JRI_NewObjectA(env, clazz, method, args) \ 0105 (((*(env))->NewObjectA)(env, JRI_NewObject_op_array, clazz, methodID, args)) 0106 0107 #define JRI_GetObjectClass(env, obj) \ 0108 (((*(env))->GetObjectClass)(env, JRI_GetObjectClass_op, obj)) 0109 0110 #define JRI_IsInstanceOf(env, obj, clazz) \ 0111 (((*(env))->IsInstanceOf)(env, JRI_IsInstanceOf_op, obj, clazz)) 0112 0113 #define JRI_GetMethodID(env, clazz, name, sig) \ 0114 (((*(env))->GetMethodID)(env, JRI_GetMethodID_op, clazz, name, sig)) 0115 0116 #define JRI_CallMethod(env) ((*(env))->CallMethod) 0117 #define JRI_CallMethodV(env, obj, methodID, args) \ 0118 (((*(env))->CallMethodV)(env, JRI_CallMethod_op_va_list, obj, methodID, args)) 0119 #define JRI_CallMethodA(env, obj, methodID, args) \ 0120 (((*(env))->CallMethodA)(env, JRI_CallMethod_op_array, obj, methodID, args)) 0121 0122 #define JRI_CallMethodBoolean(env) ((*(env))->CallMethodBoolean) 0123 #define JRI_CallMethodBooleanV(env, obj, methodID, args) \ 0124 (((*(env))->CallMethodBooleanV)(env, JRI_CallMethodBoolean_op_va_list, obj, methodID, args)) 0125 #define JRI_CallMethodBooleanA(env, obj, methodID, args) \ 0126 (((*(env))->CallMethodBooleanA)(env, JRI_CallMethodBoolean_op_array, obj, methodID, args)) 0127 0128 #define JRI_CallMethodByte(env) ((*(env))->CallMethodByte) 0129 #define JRI_CallMethodByteV(env, obj, methodID, args) \ 0130 (((*(env))->CallMethodByteV)(env, JRI_CallMethodByte_op_va_list, obj, methodID, args)) 0131 #define JRI_CallMethodByteA(env, obj, methodID, args) \ 0132 (((*(env))->CallMethodByteA)(env, JRI_CallMethodByte_op_array, obj, methodID, args)) 0133 0134 #define JRI_CallMethodChar(env) ((*(env))->CallMethodChar) 0135 #define JRI_CallMethodCharV(env, obj, methodID, args) \ 0136 (((*(env))->CallMethodCharV)(env, JRI_CallMethodChar_op_va_list, obj, methodID, args)) 0137 #define JRI_CallMethodCharA(env, obj, methodID, args) \ 0138 (((*(env))->CallMethodCharA)(env, JRI_CallMethodChar_op_array, obj, methodID, args)) 0139 0140 #define JRI_CallMethodShort(env) ((*(env))->CallMethodShort) 0141 #define JRI_CallMethodShortV(env, obj, methodID, args) \ 0142 (((*(env))->CallMethodShortV)(env, JRI_CallMethodShort_op_va_list, obj, methodID, args)) 0143 #define JRI_CallMethodShortA(env, obj, methodID, args) \ 0144 (((*(env))->CallMethodShortA)(env, JRI_CallMethodShort_op_array, obj, methodID, args)) 0145 0146 #define JRI_CallMethodInt(env) ((*(env))->CallMethodInt) 0147 #define JRI_CallMethodIntV(env, obj, methodID, args) \ 0148 (((*(env))->CallMethodIntV)(env, JRI_CallMethodInt_op_va_list, obj, methodID, args)) 0149 #define JRI_CallMethodIntA(env, obj, methodID, args) \ 0150 (((*(env))->CallMethodIntA)(env, JRI_CallMethodInt_op_array, obj, methodID, args)) 0151 0152 #define JRI_CallMethodLong(env) ((*(env))->CallMethodLong) 0153 #define JRI_CallMethodLongV(env, obj, methodID, args) \ 0154 (((*(env))->CallMethodLongV)(env, JRI_CallMethodLong_op_va_list, obj, methodID, args)) 0155 #define JRI_CallMethodLongA(env, obj, methodID, args) \ 0156 (((*(env))->CallMethodLongA)(env, JRI_CallMethodLong_op_array, obj, methodID, args)) 0157 0158 #define JRI_CallMethodFloat(env) ((*(env))->CallMethodFloat) 0159 #define JRI_CallMethodFloatV(env, obj, methodID, args) \ 0160 (((*(env))->CallMethodFloatV)(env, JRI_CallMethodFloat_op_va_list, obj, methodID, args)) 0161 #define JRI_CallMethodFloatA(env, obj, methodID, args) \ 0162 (((*(env))->CallMethodFloatA)(env, JRI_CallMethodFloat_op_array, obj, methodID, args)) 0163 0164 #define JRI_CallMethodDouble(env) ((*(env))->CallMethodDouble) 0165 #define JRI_CallMethodDoubleV(env, obj, methodID, args) \ 0166 (((*(env))->CallMethodDoubleV)(env, JRI_CallMethodDouble_op_va_list, obj, methodID, args)) 0167 #define JRI_CallMethodDoubleA(env, obj, methodID, args) \ 0168 (((*(env))->CallMethodDoubleA)(env, JRI_CallMethodDouble_op_array, obj, methodID, args)) 0169 0170 #define JRI_GetFieldID(env, clazz, name, sig) \ 0171 (((*(env))->GetFieldID)(env, JRI_GetFieldID_op, clazz, name, sig)) 0172 0173 #define JRI_GetField(env, obj, fieldID) \ 0174 (((*(env))->GetField)(env, JRI_GetField_op, obj, fieldID)) 0175 0176 #define JRI_GetFieldBoolean(env, obj, fieldID) \ 0177 (((*(env))->GetFieldBoolean)(env, JRI_GetFieldBoolean_op, obj, fieldID)) 0178 0179 #define JRI_GetFieldByte(env, obj, fieldID) \ 0180 (((*(env))->GetFieldByte)(env, JRI_GetFieldByte_op, obj, fieldID)) 0181 0182 #define JRI_GetFieldChar(env, obj, fieldID) \ 0183 (((*(env))->GetFieldChar)(env, JRI_GetFieldChar_op, obj, fieldID)) 0184 0185 #define JRI_GetFieldShort(env, obj, fieldID) \ 0186 (((*(env))->GetFieldShort)(env, JRI_GetFieldShort_op, obj, fieldID)) 0187 0188 #define JRI_GetFieldInt(env, obj, fieldID) \ 0189 (((*(env))->GetFieldInt)(env, JRI_GetFieldInt_op, obj, fieldID)) 0190 0191 #define JRI_GetFieldLong(env, obj, fieldID) \ 0192 (((*(env))->GetFieldLong)(env, JRI_GetFieldLong_op, obj, fieldID)) 0193 0194 #define JRI_GetFieldFloat(env, obj, fieldID) \ 0195 (((*(env))->GetFieldFloat)(env, JRI_GetFieldFloat_op, obj, fieldID)) 0196 0197 #define JRI_GetFieldDouble(env, obj, fieldID) \ 0198 (((*(env))->GetFieldDouble)(env, JRI_GetFieldDouble_op, obj, fieldID)) 0199 0200 #define JRI_SetField(env, obj, fieldID, value) \ 0201 (((*(env))->SetField)(env, JRI_SetField_op, obj, fieldID, value)) 0202 0203 #define JRI_SetFieldBoolean(env, obj, fieldID, value) \ 0204 (((*(env))->SetFieldBoolean)(env, JRI_SetFieldBoolean_op, obj, fieldID, value)) 0205 0206 #define JRI_SetFieldByte(env, obj, fieldID, value) \ 0207 (((*(env))->SetFieldByte)(env, JRI_SetFieldByte_op, obj, fieldID, value)) 0208 0209 #define JRI_SetFieldChar(env, obj, fieldID, value) \ 0210 (((*(env))->SetFieldChar)(env, JRI_SetFieldChar_op, obj, fieldID, value)) 0211 0212 #define JRI_SetFieldShort(env, obj, fieldID, value) \ 0213 (((*(env))->SetFieldShort)(env, JRI_SetFieldShort_op, obj, fieldID, value)) 0214 0215 #define JRI_SetFieldInt(env, obj, fieldID, value) \ 0216 (((*(env))->SetFieldInt)(env, JRI_SetFieldInt_op, obj, fieldID, value)) 0217 0218 #define JRI_SetFieldLong(env, obj, fieldID, value) \ 0219 (((*(env))->SetFieldLong)(env, JRI_SetFieldLong_op, obj, fieldID, value)) 0220 0221 #define JRI_SetFieldFloat(env, obj, fieldID, value) \ 0222 (((*(env))->SetFieldFloat)(env, JRI_SetFieldFloat_op, obj, fieldID, value)) 0223 0224 #define JRI_SetFieldDouble(env, obj, fieldID, value) \ 0225 (((*(env))->SetFieldDouble)(env, JRI_SetFieldDouble_op, obj, fieldID, value)) 0226 0227 #define JRI_IsSubclassOf(env, a, b) \ 0228 (((*(env))->IsSubclassOf)(env, JRI_IsSubclassOf_op, a, b)) 0229 0230 #define JRI_GetStaticMethodID(env, clazz, name, sig) \ 0231 (((*(env))->GetStaticMethodID)(env, JRI_GetStaticMethodID_op, clazz, name, sig)) 0232 0233 #define JRI_CallStaticMethod(env) ((*(env))->CallStaticMethod) 0234 #define JRI_CallStaticMethodV(env, clazz, methodID, args) \ 0235 (((*(env))->CallStaticMethodV)(env, JRI_CallStaticMethod_op_va_list, clazz, methodID, args)) 0236 #define JRI_CallStaticMethodA(env, clazz, methodID, args) \ 0237 (((*(env))->CallStaticMethodA)(env, JRI_CallStaticMethod_op_array, clazz, methodID, args)) 0238 0239 #define JRI_CallStaticMethodBoolean(env) ((*(env))->CallStaticMethodBoolean) 0240 #define JRI_CallStaticMethodBooleanV(env, clazz, methodID, args) \ 0241 (((*(env))->CallStaticMethodBooleanV)(env, JRI_CallStaticMethodBoolean_op_va_list, clazz, methodID, args)) 0242 #define JRI_CallStaticMethodBooleanA(env, clazz, methodID, args) \ 0243 (((*(env))->CallStaticMethodBooleanA)(env, JRI_CallStaticMethodBoolean_op_array, clazz, methodID, args)) 0244 0245 #define JRI_CallStaticMethodByte(env) ((*(env))->CallStaticMethodByte) 0246 #define JRI_CallStaticMethodByteV(env, clazz, methodID, args) \ 0247 (((*(env))->CallStaticMethodByteV)(env, JRI_CallStaticMethodByte_op_va_list, clazz, methodID, args)) 0248 #define JRI_CallStaticMethodByteA(env, clazz, methodID, args) \ 0249 (((*(env))->CallStaticMethodByteA)(env, JRI_CallStaticMethodByte_op_array, clazz, methodID, args)) 0250 0251 #define JRI_CallStaticMethodChar(env) ((*(env))->CallStaticMethodChar) 0252 #define JRI_CallStaticMethodCharV(env, clazz, methodID, args) \ 0253 (((*(env))->CallStaticMethodCharV)(env, JRI_CallStaticMethodChar_op_va_list, clazz, methodID, args)) 0254 #define JRI_CallStaticMethodCharA(env, clazz, methodID, args) \ 0255 (((*(env))->CallStaticMethodCharA)(env, JRI_CallStaticMethodChar_op_array, clazz, methodID, args)) 0256 0257 #define JRI_CallStaticMethodShort(env) ((*(env))->CallStaticMethodShort) 0258 #define JRI_CallStaticMethodShortV(env, clazz, methodID, args) \ 0259 (((*(env))->CallStaticMethodShortV)(env, JRI_CallStaticMethodShort_op_va_list, clazz, methodID, args)) 0260 #define JRI_CallStaticMethodShortA(env, clazz, methodID, args) \ 0261 (((*(env))->CallStaticMethodShortA)(env, JRI_CallStaticMethodShort_op_array, clazz, methodID, args)) 0262 0263 #define JRI_CallStaticMethodInt(env) ((*(env))->CallStaticMethodInt) 0264 #define JRI_CallStaticMethodIntV(env, clazz, methodID, args) \ 0265 (((*(env))->CallStaticMethodIntV)(env, JRI_CallStaticMethodInt_op_va_list, clazz, methodID, args)) 0266 #define JRI_CallStaticMethodIntA(env, clazz, methodID, args) \ 0267 (((*(env))->CallStaticMethodIntA)(env, JRI_CallStaticMethodInt_op_array, clazz, methodID, args)) 0268 0269 #define JRI_CallStaticMethodLong(env) ((*(env))->CallStaticMethodLong) 0270 #define JRI_CallStaticMethodLongV(env, clazz, methodID, args) \ 0271 (((*(env))->CallStaticMethodLongV)(env, JRI_CallStaticMethodLong_op_va_list, clazz, methodID, args)) 0272 #define JRI_CallStaticMethodLongA(env, clazz, methodID, args) \ 0273 (((*(env))->CallStaticMethodLongA)(env, JRI_CallStaticMethodLong_op_array, clazz, methodID, args)) 0274 0275 #define JRI_CallStaticMethodFloat(env) ((*(env))->CallStaticMethodFloat) 0276 #define JRI_CallStaticMethodFloatV(env, clazz, methodID, args) \ 0277 (((*(env))->CallStaticMethodFloatV)(env, JRI_CallStaticMethodFloat_op_va_list, clazz, methodID, args)) 0278 #define JRI_CallStaticMethodFloatA(env, clazz, methodID, args) \ 0279 (((*(env))->CallStaticMethodFloatA)(env, JRI_CallStaticMethodFloat_op_array, clazz, methodID, args)) 0280 0281 #define JRI_CallStaticMethodDouble(env) ((*(env))->CallStaticMethodDouble) 0282 #define JRI_CallStaticMethodDoubleV(env, clazz, methodID, args) \ 0283 (((*(env))->CallStaticMethodDoubleV)(env, JRI_CallStaticMethodDouble_op_va_list, clazz, methodID, args)) 0284 #define JRI_CallStaticMethodDoubleA(env, clazz, methodID, args) \ 0285 (((*(env))->CallStaticMethodDoubleA)(env, JRI_CallStaticMethodDouble_op_array, clazz, methodID, args)) 0286 0287 #define JRI_GetStaticFieldID(env, clazz, name, sig) \ 0288 (((*(env))->GetStaticFieldID)(env, JRI_GetStaticFieldID_op, clazz, name, sig)) 0289 0290 #define JRI_GetStaticField(env, clazz, fieldID) \ 0291 (((*(env))->GetStaticField)(env, JRI_GetStaticField_op, clazz, fieldID)) 0292 0293 #define JRI_GetStaticFieldBoolean(env, clazz, fieldID) \ 0294 (((*(env))->GetStaticFieldBoolean)(env, JRI_GetStaticFieldBoolean_op, clazz, fieldID)) 0295 0296 #define JRI_GetStaticFieldByte(env, clazz, fieldID) \ 0297 (((*(env))->GetStaticFieldByte)(env, JRI_GetStaticFieldByte_op, clazz, fieldID)) 0298 0299 #define JRI_GetStaticFieldChar(env, clazz, fieldID) \ 0300 (((*(env))->GetStaticFieldChar)(env, JRI_GetStaticFieldChar_op, clazz, fieldID)) 0301 0302 #define JRI_GetStaticFieldShort(env, clazz, fieldID) \ 0303 (((*(env))->GetStaticFieldShort)(env, JRI_GetStaticFieldShort_op, clazz, fieldID)) 0304 0305 #define JRI_GetStaticFieldInt(env, clazz, fieldID) \ 0306 (((*(env))->GetStaticFieldInt)(env, JRI_GetStaticFieldInt_op, clazz, fieldID)) 0307 0308 #define JRI_GetStaticFieldLong(env, clazz, fieldID) \ 0309 (((*(env))->GetStaticFieldLong)(env, JRI_GetStaticFieldLong_op, clazz, fieldID)) 0310 0311 #define JRI_GetStaticFieldFloat(env, clazz, fieldID) \ 0312 (((*(env))->GetStaticFieldFloat)(env, JRI_GetStaticFieldFloat_op, clazz, fieldID)) 0313 0314 #define JRI_GetStaticFieldDouble(env, clazz, fieldID) \ 0315 (((*(env))->GetStaticFieldDouble)(env, JRI_GetStaticFieldDouble_op, clazz, fieldID)) 0316 0317 #define JRI_SetStaticField(env, clazz, fieldID, value) \ 0318 (((*(env))->SetStaticField)(env, JRI_SetStaticField_op, clazz, fieldID, value)) 0319 0320 #define JRI_SetStaticFieldBoolean(env, clazz, fieldID, value) \ 0321 (((*(env))->SetStaticFieldBoolean)(env, JRI_SetStaticFieldBoolean_op, clazz, fieldID, value)) 0322 0323 #define JRI_SetStaticFieldByte(env, clazz, fieldID, value) \ 0324 (((*(env))->SetStaticFieldByte)(env, JRI_SetStaticFieldByte_op, clazz, fieldID, value)) 0325 0326 #define JRI_SetStaticFieldChar(env, clazz, fieldID, value) \ 0327 (((*(env))->SetStaticFieldChar)(env, JRI_SetStaticFieldChar_op, clazz, fieldID, value)) 0328 0329 #define JRI_SetStaticFieldShort(env, clazz, fieldID, value) \ 0330 (((*(env))->SetStaticFieldShort)(env, JRI_SetStaticFieldShort_op, clazz, fieldID, value)) 0331 0332 #define JRI_SetStaticFieldInt(env, clazz, fieldID, value) \ 0333 (((*(env))->SetStaticFieldInt)(env, JRI_SetStaticFieldInt_op, clazz, fieldID, value)) 0334 0335 #define JRI_SetStaticFieldLong(env, clazz, fieldID, value) \ 0336 (((*(env))->SetStaticFieldLong)(env, JRI_SetStaticFieldLong_op, clazz, fieldID, value)) 0337 0338 #define JRI_SetStaticFieldFloat(env, clazz, fieldID, value) \ 0339 (((*(env))->SetStaticFieldFloat)(env, JRI_SetStaticFieldFloat_op, clazz, fieldID, value)) 0340 0341 #define JRI_SetStaticFieldDouble(env, clazz, fieldID, value) \ 0342 (((*(env))->SetStaticFieldDouble)(env, JRI_SetStaticFieldDouble_op, clazz, fieldID, value)) 0343 0344 #define JRI_NewString(env, unicode, len) \ 0345 (((*(env))->NewString)(env, JRI_NewString_op, unicode, len)) 0346 0347 #define JRI_GetStringLength(env, string) \ 0348 (((*(env))->GetStringLength)(env, JRI_GetStringLength_op, string)) 0349 0350 #define JRI_GetStringChars(env, string) \ 0351 (((*(env))->GetStringChars)(env, JRI_GetStringChars_op, string)) 0352 0353 #define JRI_NewStringUTF(env, utf, len) \ 0354 (((*(env))->NewStringUTF)(env, JRI_NewStringUTF_op, utf, len)) 0355 0356 #define JRI_GetStringUTFLength(env, string) \ 0357 (((*(env))->GetStringUTFLength)(env, JRI_GetStringUTFLength_op, string)) 0358 0359 #define JRI_GetStringUTFChars(env, string) \ 0360 (((*(env))->GetStringUTFChars)(env, JRI_GetStringUTFChars_op, string)) 0361 0362 #define JRI_NewScalarArray(env, length, elementSig, initialElements) \ 0363 (((*(env))->NewScalarArray)(env, JRI_NewScalarArray_op, length, elementSig, initialElements)) 0364 0365 #define JRI_GetScalarArrayLength(env, array) \ 0366 (((*(env))->GetScalarArrayLength)(env, JRI_GetScalarArrayLength_op, array)) 0367 0368 #define JRI_GetScalarArrayElements(env, array) \ 0369 (((*(env))->GetScalarArrayElements)(env, JRI_GetScalarArrayElements_op, array)) 0370 0371 #define JRI_NewObjectArray(env, length, elementClass, initialElement) \ 0372 (((*(env))->NewObjectArray)(env, JRI_NewObjectArray_op, length, elementClass, initialElement)) 0373 0374 #define JRI_GetObjectArrayLength(env, array) \ 0375 (((*(env))->GetObjectArrayLength)(env, JRI_GetObjectArrayLength_op, array)) 0376 0377 #define JRI_GetObjectArrayElement(env, array, index) \ 0378 (((*(env))->GetObjectArrayElement)(env, JRI_GetObjectArrayElement_op, array, index)) 0379 0380 #define JRI_SetObjectArrayElement(env, array, index, value) \ 0381 (((*(env))->SetObjectArrayElement)(env, JRI_SetObjectArrayElement_op, array, index, value)) 0382 0383 #define JRI_RegisterNatives(env, clazz, nameAndSigArray, nativeProcArray) \ 0384 (((*(env))->RegisterNatives)(env, JRI_RegisterNatives_op, clazz, nameAndSigArray, nativeProcArray)) 0385 0386 #define JRI_UnregisterNatives(env, clazz) \ 0387 (((*(env))->UnregisterNatives)(env, JRI_UnregisterNatives_op, clazz)) 0388 0389 #define JRI_NewStringPlatform(env, string, len, encoding, encodingLength) \ 0390 (((*(env))->NewStringPlatform)(env, JRI_NewStringPlatform_op, string, len, encoding, encodingLength)) 0391 0392 #define JRI_GetStringPlatformChars(env, string, encoding, encodingLength) \ 0393 (((*(env))->GetStringPlatformChars)(env, JRI_GetStringPlatformChars_op, string, encoding, encodingLength)) 0394 0395 0396 /******************************************************************************* 0397 * JRIEnv Interface 0398 ******************************************************************************/ 0399 0400 struct java_lang_ClassLoader; 0401 struct java_lang_Class; 0402 struct java_lang_Throwable; 0403 struct java_lang_Object; 0404 struct java_lang_String; 0405 0406 struct JRIEnvInterface { 0407 void* reserved0; 0408 void* reserved1; 0409 void* reserved2; 0410 void* reserved3; 0411 struct java_lang_Class* (*FindClass)(JRIEnv* env, jint op, const char* a); 0412 void (*Throw)(JRIEnv* env, jint op, struct java_lang_Throwable* a); 0413 void (*ThrowNew)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b); 0414 struct java_lang_Throwable* (*ExceptionOccurred)(JRIEnv* env, jint op); 0415 void (*ExceptionDescribe)(JRIEnv* env, jint op); 0416 void (*ExceptionClear)(JRIEnv* env, jint op); 0417 jglobal (*NewGlobalRef)(JRIEnv* env, jint op, void* a); 0418 void (*DisposeGlobalRef)(JRIEnv* env, jint op, jglobal a); 0419 void* (*GetGlobalRef)(JRIEnv* env, jint op, jglobal a); 0420 void (*SetGlobalRef)(JRIEnv* env, jint op, jglobal a, void* b); 0421 jbool (*IsSameObject)(JRIEnv* env, jint op, void* a, void* b); 0422 void* (*NewObject)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); 0423 void* (*NewObjectV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); 0424 void* (*NewObjectA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); 0425 struct java_lang_Class* (*GetObjectClass)(JRIEnv* env, jint op, void* a); 0426 jbool (*IsInstanceOf)(JRIEnv* env, jint op, void* a, struct java_lang_Class* b); 0427 jint (*GetMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); 0428 void* (*CallMethod)(JRIEnv* env, jint op, void* a, jint b, ...); 0429 void* (*CallMethodV)(JRIEnv* env, jint op, void* a, jint b, va_list c); 0430 void* (*CallMethodA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); 0431 jbool (*CallMethodBoolean)(JRIEnv* env, jint op, void* a, jint b, ...); 0432 jbool (*CallMethodBooleanV)(JRIEnv* env, jint op, void* a, jint b, va_list c); 0433 jbool (*CallMethodBooleanA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); 0434 jbyte (*CallMethodByte)(JRIEnv* env, jint op, void* a, jint b, ...); 0435 jbyte (*CallMethodByteV)(JRIEnv* env, jint op, void* a, jint b, va_list c); 0436 jbyte (*CallMethodByteA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); 0437 jchar (*CallMethodChar)(JRIEnv* env, jint op, void* a, jint b, ...); 0438 jchar (*CallMethodCharV)(JRIEnv* env, jint op, void* a, jint b, va_list c); 0439 jchar (*CallMethodCharA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); 0440 jshort (*CallMethodShort)(JRIEnv* env, jint op, void* a, jint b, ...); 0441 jshort (*CallMethodShortV)(JRIEnv* env, jint op, void* a, jint b, va_list c); 0442 jshort (*CallMethodShortA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); 0443 jint (*CallMethodInt)(JRIEnv* env, jint op, void* a, jint b, ...); 0444 jint (*CallMethodIntV)(JRIEnv* env, jint op, void* a, jint b, va_list c); 0445 jint (*CallMethodIntA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); 0446 jlong (*CallMethodLong)(JRIEnv* env, jint op, void* a, jint b, ...); 0447 jlong (*CallMethodLongV)(JRIEnv* env, jint op, void* a, jint b, va_list c); 0448 jlong (*CallMethodLongA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); 0449 jfloat (*CallMethodFloat)(JRIEnv* env, jint op, void* a, jint b, ...); 0450 jfloat (*CallMethodFloatV)(JRIEnv* env, jint op, void* a, jint b, va_list c); 0451 jfloat (*CallMethodFloatA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); 0452 jdouble (*CallMethodDouble)(JRIEnv* env, jint op, void* a, jint b, ...); 0453 jdouble (*CallMethodDoubleV)(JRIEnv* env, jint op, void* a, jint b, va_list c); 0454 jdouble (*CallMethodDoubleA)(JRIEnv* env, jint op, void* a, jint b, JRIValue* c); 0455 jint (*GetFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); 0456 void* (*GetField)(JRIEnv* env, jint op, void* a, jint b); 0457 jbool (*GetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b); 0458 jbyte (*GetFieldByte)(JRIEnv* env, jint op, void* a, jint b); 0459 jchar (*GetFieldChar)(JRIEnv* env, jint op, void* a, jint b); 0460 jshort (*GetFieldShort)(JRIEnv* env, jint op, void* a, jint b); 0461 jint (*GetFieldInt)(JRIEnv* env, jint op, void* a, jint b); 0462 jlong (*GetFieldLong)(JRIEnv* env, jint op, void* a, jint b); 0463 jfloat (*GetFieldFloat)(JRIEnv* env, jint op, void* a, jint b); 0464 jdouble (*GetFieldDouble)(JRIEnv* env, jint op, void* a, jint b); 0465 void (*SetField)(JRIEnv* env, jint op, void* a, jint b, void* c); 0466 void (*SetFieldBoolean)(JRIEnv* env, jint op, void* a, jint b, jbool c); 0467 void (*SetFieldByte)(JRIEnv* env, jint op, void* a, jint b, jbyte c); 0468 void (*SetFieldChar)(JRIEnv* env, jint op, void* a, jint b, jchar c); 0469 void (*SetFieldShort)(JRIEnv* env, jint op, void* a, jint b, jshort c); 0470 void (*SetFieldInt)(JRIEnv* env, jint op, void* a, jint b, jint c); 0471 void (*SetFieldLong)(JRIEnv* env, jint op, void* a, jint b, jlong c); 0472 void (*SetFieldFloat)(JRIEnv* env, jint op, void* a, jint b, jfloat c); 0473 void (*SetFieldDouble)(JRIEnv* env, jint op, void* a, jint b, jdouble c); 0474 jbool (*IsSubclassOf)(JRIEnv* env, jint op, struct java_lang_Class* a, struct java_lang_Class* b); 0475 jint (*GetStaticMethodID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); 0476 void* (*CallStaticMethod)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); 0477 void* (*CallStaticMethodV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); 0478 void* (*CallStaticMethodA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); 0479 jbool (*CallStaticMethodBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); 0480 jbool (*CallStaticMethodBooleanV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); 0481 jbool (*CallStaticMethodBooleanA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); 0482 jbyte (*CallStaticMethodByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); 0483 jbyte (*CallStaticMethodByteV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); 0484 jbyte (*CallStaticMethodByteA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); 0485 jchar (*CallStaticMethodChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); 0486 jchar (*CallStaticMethodCharV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); 0487 jchar (*CallStaticMethodCharA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); 0488 jshort (*CallStaticMethodShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); 0489 jshort (*CallStaticMethodShortV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); 0490 jshort (*CallStaticMethodShortA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); 0491 jint (*CallStaticMethodInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); 0492 jint (*CallStaticMethodIntV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); 0493 jint (*CallStaticMethodIntA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); 0494 jlong (*CallStaticMethodLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); 0495 jlong (*CallStaticMethodLongV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); 0496 jlong (*CallStaticMethodLongA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); 0497 jfloat (*CallStaticMethodFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); 0498 jfloat (*CallStaticMethodFloatV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); 0499 jfloat (*CallStaticMethodFloatA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); 0500 jdouble (*CallStaticMethodDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, ...); 0501 jdouble (*CallStaticMethodDoubleV)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, va_list c); 0502 jdouble (*CallStaticMethodDoubleA)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, JRIValue* c); 0503 jint (*GetStaticFieldID)(JRIEnv* env, jint op, struct java_lang_Class* a, const char* b, const char* c); 0504 void* (*GetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); 0505 jbool (*GetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); 0506 jbyte (*GetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); 0507 jchar (*GetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); 0508 jshort (*GetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); 0509 jint (*GetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); 0510 jlong (*GetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); 0511 jfloat (*GetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); 0512 jdouble (*GetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b); 0513 void (*SetStaticField)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, void* c); 0514 void (*SetStaticFieldBoolean)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbool c); 0515 void (*SetStaticFieldByte)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jbyte c); 0516 void (*SetStaticFieldChar)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jchar c); 0517 void (*SetStaticFieldShort)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jshort c); 0518 void (*SetStaticFieldInt)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jint c); 0519 void (*SetStaticFieldLong)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jlong c); 0520 void (*SetStaticFieldFloat)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jfloat c); 0521 void (*SetStaticFieldDouble)(JRIEnv* env, jint op, struct java_lang_Class* a, jint b, jdouble c); 0522 struct java_lang_String* (*NewString)(JRIEnv* env, jint op, const jchar* a, jint b); 0523 jint (*GetStringLength)(JRIEnv* env, jint op, struct java_lang_String* a); 0524 const jchar* (*GetStringChars)(JRIEnv* env, jint op, struct java_lang_String* a); 0525 struct java_lang_String* (*NewStringUTF)(JRIEnv* env, jint op, const jbyte* a, jint b); 0526 jint (*GetStringUTFLength)(JRIEnv* env, jint op, struct java_lang_String* a); 0527 const jbyte* (*GetStringUTFChars)(JRIEnv* env, jint op, struct java_lang_String* a); 0528 void* (*NewScalarArray)(JRIEnv* env, jint op, jint a, const char* b, const jbyte* c); 0529 jint (*GetScalarArrayLength)(JRIEnv* env, jint op, void* a); 0530 jbyte* (*GetScalarArrayElements)(JRIEnv* env, jint op, void* a); 0531 void* (*NewObjectArray)(JRIEnv* env, jint op, jint a, struct java_lang_Class* b, void* c); 0532 jint (*GetObjectArrayLength)(JRIEnv* env, jint op, void* a); 0533 void* (*GetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b); 0534 void (*SetObjectArrayElement)(JRIEnv* env, jint op, void* a, jint b, void* c); 0535 void (*RegisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a, char** b, void** c); 0536 void (*UnregisterNatives)(JRIEnv* env, jint op, struct java_lang_Class* a); 0537 struct java_lang_Class* (*DefineClass)(JRIEnv* env, jint op, struct java_lang_ClassLoader* a, jbyte* b, jsize bLen); 0538 struct java_lang_String* (*NewStringPlatform)(JRIEnv* env, jint op, const jbyte* a, jint b, const jbyte* c, jint d); 0539 const jbyte* (*GetStringPlatformChars)(JRIEnv* env, jint op, struct java_lang_String* a, const jbyte* b, jint c); 0540 }; 0541 0542 /* 0543 ** **************************************************************************** 0544 ** JRIEnv Operation IDs 0545 ** *************************************************************************** 0546 */ 0547 0548 typedef enum JRIEnvOperations { 0549 JRI_Reserved0_op, 0550 JRI_Reserved1_op, 0551 JRI_Reserved2_op, 0552 JRI_Reserved3_op, 0553 JRI_FindClass_op, 0554 JRI_Throw_op, 0555 JRI_ThrowNew_op, 0556 JRI_ExceptionOccurred_op, 0557 JRI_ExceptionDescribe_op, 0558 JRI_ExceptionClear_op, 0559 JRI_NewGlobalRef_op, 0560 JRI_DisposeGlobalRef_op, 0561 JRI_GetGlobalRef_op, 0562 JRI_SetGlobalRef_op, 0563 JRI_IsSameObject_op, 0564 JRI_NewObject_op, 0565 JRI_NewObject_op_va_list, 0566 JRI_NewObject_op_array, 0567 JRI_GetObjectClass_op, 0568 JRI_IsInstanceOf_op, 0569 JRI_GetMethodID_op, 0570 JRI_CallMethod_op, 0571 JRI_CallMethod_op_va_list, 0572 JRI_CallMethod_op_array, 0573 JRI_CallMethodBoolean_op, 0574 JRI_CallMethodBoolean_op_va_list, 0575 JRI_CallMethodBoolean_op_array, 0576 JRI_CallMethodByte_op, 0577 JRI_CallMethodByte_op_va_list, 0578 JRI_CallMethodByte_op_array, 0579 JRI_CallMethodChar_op, 0580 JRI_CallMethodChar_op_va_list, 0581 JRI_CallMethodChar_op_array, 0582 JRI_CallMethodShort_op, 0583 JRI_CallMethodShort_op_va_list, 0584 JRI_CallMethodShort_op_array, 0585 JRI_CallMethodInt_op, 0586 JRI_CallMethodInt_op_va_list, 0587 JRI_CallMethodInt_op_array, 0588 JRI_CallMethodLong_op, 0589 JRI_CallMethodLong_op_va_list, 0590 JRI_CallMethodLong_op_array, 0591 JRI_CallMethodFloat_op, 0592 JRI_CallMethodFloat_op_va_list, 0593 JRI_CallMethodFloat_op_array, 0594 JRI_CallMethodDouble_op, 0595 JRI_CallMethodDouble_op_va_list, 0596 JRI_CallMethodDouble_op_array, 0597 JRI_GetFieldID_op, 0598 JRI_GetField_op, 0599 JRI_GetFieldBoolean_op, 0600 JRI_GetFieldByte_op, 0601 JRI_GetFieldChar_op, 0602 JRI_GetFieldShort_op, 0603 JRI_GetFieldInt_op, 0604 JRI_GetFieldLong_op, 0605 JRI_GetFieldFloat_op, 0606 JRI_GetFieldDouble_op, 0607 JRI_SetField_op, 0608 JRI_SetFieldBoolean_op, 0609 JRI_SetFieldByte_op, 0610 JRI_SetFieldChar_op, 0611 JRI_SetFieldShort_op, 0612 JRI_SetFieldInt_op, 0613 JRI_SetFieldLong_op, 0614 JRI_SetFieldFloat_op, 0615 JRI_SetFieldDouble_op, 0616 JRI_IsSubclassOf_op, 0617 JRI_GetStaticMethodID_op, 0618 JRI_CallStaticMethod_op, 0619 JRI_CallStaticMethod_op_va_list, 0620 JRI_CallStaticMethod_op_array, 0621 JRI_CallStaticMethodBoolean_op, 0622 JRI_CallStaticMethodBoolean_op_va_list, 0623 JRI_CallStaticMethodBoolean_op_array, 0624 JRI_CallStaticMethodByte_op, 0625 JRI_CallStaticMethodByte_op_va_list, 0626 JRI_CallStaticMethodByte_op_array, 0627 JRI_CallStaticMethodChar_op, 0628 JRI_CallStaticMethodChar_op_va_list, 0629 JRI_CallStaticMethodChar_op_array, 0630 JRI_CallStaticMethodShort_op, 0631 JRI_CallStaticMethodShort_op_va_list, 0632 JRI_CallStaticMethodShort_op_array, 0633 JRI_CallStaticMethodInt_op, 0634 JRI_CallStaticMethodInt_op_va_list, 0635 JRI_CallStaticMethodInt_op_array, 0636 JRI_CallStaticMethodLong_op, 0637 JRI_CallStaticMethodLong_op_va_list, 0638 JRI_CallStaticMethodLong_op_array, 0639 JRI_CallStaticMethodFloat_op, 0640 JRI_CallStaticMethodFloat_op_va_list, 0641 JRI_CallStaticMethodFloat_op_array, 0642 JRI_CallStaticMethodDouble_op, 0643 JRI_CallStaticMethodDouble_op_va_list, 0644 JRI_CallStaticMethodDouble_op_array, 0645 JRI_GetStaticFieldID_op, 0646 JRI_GetStaticField_op, 0647 JRI_GetStaticFieldBoolean_op, 0648 JRI_GetStaticFieldByte_op, 0649 JRI_GetStaticFieldChar_op, 0650 JRI_GetStaticFieldShort_op, 0651 JRI_GetStaticFieldInt_op, 0652 JRI_GetStaticFieldLong_op, 0653 JRI_GetStaticFieldFloat_op, 0654 JRI_GetStaticFieldDouble_op, 0655 JRI_SetStaticField_op, 0656 JRI_SetStaticFieldBoolean_op, 0657 JRI_SetStaticFieldByte_op, 0658 JRI_SetStaticFieldChar_op, 0659 JRI_SetStaticFieldShort_op, 0660 JRI_SetStaticFieldInt_op, 0661 JRI_SetStaticFieldLong_op, 0662 JRI_SetStaticFieldFloat_op, 0663 JRI_SetStaticFieldDouble_op, 0664 JRI_NewString_op, 0665 JRI_GetStringLength_op, 0666 JRI_GetStringChars_op, 0667 JRI_NewStringUTF_op, 0668 JRI_GetStringUTFLength_op, 0669 JRI_GetStringUTFChars_op, 0670 JRI_NewScalarArray_op, 0671 JRI_GetScalarArrayLength_op, 0672 JRI_GetScalarArrayElements_op, 0673 JRI_NewObjectArray_op, 0674 JRI_GetObjectArrayLength_op, 0675 JRI_GetObjectArrayElement_op, 0676 JRI_SetObjectArrayElement_op, 0677 JRI_RegisterNatives_op, 0678 JRI_UnregisterNatives_op, 0679 JRI_DefineClass_op, 0680 JRI_NewStringPlatform_op, 0681 JRI_GetStringPlatformChars_op 0682 } JRIEnvOperations; 0683 0684 #ifdef __cplusplus 0685 } /* extern "C" */ 0686 #endif /* __cplusplus */ 0687 0688 #endif /* JRI_H */ 0689 /******************************************************************************/