| Index: chrome/test/chromedriver/third_party/jni/jni.h
|
| diff --git a/chrome/test/chromedriver/third_party/jni/jni.h b/chrome/test/chromedriver/third_party/jni/jni.h
|
| deleted file mode 100644
|
| index 2c44f07fcbc5139e4922e82ca6606f7a0dc60df4..0000000000000000000000000000000000000000
|
| --- a/chrome/test/chromedriver/third_party/jni/jni.h
|
| +++ /dev/null
|
| @@ -1,1162 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2006 The Android Open Source Project
|
| - *
|
| - * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
|
| - *
|
| - * Unless required by applicable law or agreed to in writing, software
|
| - * distributed under the License is distributed on an "AS IS" BASIS,
|
| - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| - * See the License for the specific language governing permissions and
|
| - * limitations under the License.
|
| - */
|
| -
|
| -/*
|
| - * JNI specification, as defined by Sun:
|
| - * http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/jniTOC.html
|
| - *
|
| - * Everything here is expected to be VM-neutral.
|
| - */
|
| -
|
| -#ifndef JNI_H_
|
| -#define JNI_H_
|
| -
|
| -#include <stdarg.h>
|
| -
|
| -#ifdef _WIN32
|
| -#define JNIIMPORT __declspec(dllimport)
|
| -#define JNIEXPORT __declspec(dllexport)
|
| -#define JNICALL __stdcall
|
| -#else
|
| -#define JNIIMPORT
|
| -#define JNIEXPORT __attribute__ ((visibility ("default")))
|
| -#define JNICALL
|
| -#endif
|
| -
|
| -/*
|
| - * Primitive types that match up with Java equivalents.
|
| - */
|
| -#ifdef HAVE_INTTYPES_H
|
| -# include <inttypes.h> /* C99 */
|
| -typedef uint8_t jboolean; /* unsigned 8 bits */
|
| -typedef int8_t jbyte; /* signed 8 bits */
|
| -typedef uint16_t jchar; /* unsigned 16 bits */
|
| -typedef int16_t jshort; /* signed 16 bits */
|
| -typedef int32_t jint; /* signed 32 bits */
|
| -typedef int64_t jlong; /* signed 64 bits */
|
| -typedef float jfloat; /* 32-bit IEEE 754 */
|
| -typedef double jdouble; /* 64-bit IEEE 754 */
|
| -#else
|
| -typedef unsigned char jboolean; /* unsigned 8 bits */
|
| -typedef signed char jbyte; /* signed 8 bits */
|
| -typedef unsigned short jchar; /* unsigned 16 bits */
|
| -typedef short jshort; /* signed 16 bits */
|
| -typedef int jint; /* signed 32 bits */
|
| -typedef long long jlong; /* signed 64 bits */
|
| -typedef float jfloat; /* 32-bit IEEE 754 */
|
| -typedef double jdouble; /* 64-bit IEEE 754 */
|
| -#endif
|
| -
|
| -/* "cardinal indices and sizes" */
|
| -typedef jint jsize;
|
| -
|
| -#ifdef __cplusplus
|
| -/*
|
| - * Reference types, in C++
|
| - */
|
| -class _jobject {};
|
| -class _jclass : public _jobject {};
|
| -class _jstring : public _jobject {};
|
| -class _jarray : public _jobject {};
|
| -class _jobjectArray : public _jarray {};
|
| -class _jbooleanArray : public _jarray {};
|
| -class _jbyteArray : public _jarray {};
|
| -class _jcharArray : public _jarray {};
|
| -class _jshortArray : public _jarray {};
|
| -class _jintArray : public _jarray {};
|
| -class _jlongArray : public _jarray {};
|
| -class _jfloatArray : public _jarray {};
|
| -class _jdoubleArray : public _jarray {};
|
| -class _jthrowable : public _jobject {};
|
| -
|
| -typedef _jobject* jobject;
|
| -typedef _jclass* jclass;
|
| -typedef _jstring* jstring;
|
| -typedef _jarray* jarray;
|
| -typedef _jobjectArray* jobjectArray;
|
| -typedef _jbooleanArray* jbooleanArray;
|
| -typedef _jbyteArray* jbyteArray;
|
| -typedef _jcharArray* jcharArray;
|
| -typedef _jshortArray* jshortArray;
|
| -typedef _jintArray* jintArray;
|
| -typedef _jlongArray* jlongArray;
|
| -typedef _jfloatArray* jfloatArray;
|
| -typedef _jdoubleArray* jdoubleArray;
|
| -typedef _jthrowable* jthrowable;
|
| -typedef _jobject* jweak;
|
| -
|
| -
|
| -#else /* not __cplusplus */
|
| -
|
| -/*
|
| - * Reference types, in C.
|
| - */
|
| -typedef void* jobject;
|
| -typedef jobject jclass;
|
| -typedef jobject jstring;
|
| -typedef jobject jarray;
|
| -typedef jarray jobjectArray;
|
| -typedef jarray jbooleanArray;
|
| -typedef jarray jbyteArray;
|
| -typedef jarray jcharArray;
|
| -typedef jarray jshortArray;
|
| -typedef jarray jintArray;
|
| -typedef jarray jlongArray;
|
| -typedef jarray jfloatArray;
|
| -typedef jarray jdoubleArray;
|
| -typedef jobject jthrowable;
|
| -typedef jobject jweak;
|
| -
|
| -#endif /* not __cplusplus */
|
| -
|
| -struct _jfieldID; /* opaque structure */
|
| -typedef struct _jfieldID* jfieldID; /* field IDs */
|
| -
|
| -struct _jmethodID; /* opaque structure */
|
| -typedef struct _jmethodID* jmethodID; /* method IDs */
|
| -
|
| -struct JNIInvokeInterface;
|
| -
|
| -typedef union jvalue {
|
| - jboolean z;
|
| - jbyte b;
|
| - jchar c;
|
| - jshort s;
|
| - jint i;
|
| - jlong j;
|
| - jfloat f;
|
| - jdouble d;
|
| - jobject l;
|
| -} jvalue;
|
| -
|
| -typedef enum jobjectRefType {
|
| - JNIInvalidRefType = 0,
|
| - JNILocalRefType = 1,
|
| - JNIGlobalRefType = 2,
|
| - JNIWeakGlobalRefType = 3
|
| -} jobjectRefType;
|
| -
|
| -typedef struct {
|
| - const char* name;
|
| - const char* signature;
|
| - void* fnPtr;
|
| -} JNINativeMethod;
|
| -
|
| -struct _JNIEnv;
|
| -struct _JavaVM;
|
| -typedef const struct JNINativeInterface* C_JNIEnv;
|
| -
|
| -#if defined(__cplusplus)
|
| -typedef _JNIEnv JNIEnv;
|
| -typedef _JavaVM JavaVM;
|
| -#else
|
| -typedef const struct JNINativeInterface* JNIEnv;
|
| -typedef const struct JNIInvokeInterface* JavaVM;
|
| -#endif
|
| -
|
| -/*
|
| - * Table of interface function pointers.
|
| - */
|
| -struct JNINativeInterface {
|
| - void* reserved0;
|
| - void* reserved1;
|
| - void* reserved2;
|
| - void* reserved3;
|
| -
|
| - jint (JNICALL *GetVersion)(JNIEnv *);
|
| -
|
| - jclass (JNICALL *DefineClass)(JNIEnv*, const char*, jobject, const jbyte*,
|
| - jsize);
|
| - jclass (JNICALL *FindClass)(JNIEnv*, const char*);
|
| -
|
| - jmethodID (JNICALL *FromReflectedMethod)(JNIEnv*, jobject);
|
| - jfieldID (JNICALL *FromReflectedField)(JNIEnv*, jobject);
|
| - /* spec doesn't show jboolean parameter */
|
| - jobject (JNICALL *ToReflectedMethod)(JNIEnv*, jclass, jmethodID, jboolean);
|
| -
|
| - jclass (JNICALL *GetSuperclass)(JNIEnv*, jclass);
|
| - jboolean (JNICALL *IsAssignableFrom)(JNIEnv*, jclass, jclass);
|
| -
|
| - /* spec doesn't show jboolean parameter */
|
| - jobject (JNICALL *ToReflectedField)(JNIEnv*, jclass, jfieldID, jboolean);
|
| -
|
| - jint (JNICALL *Throw)(JNIEnv*, jthrowable);
|
| - jint (JNICALL *ThrowNew)(JNIEnv *, jclass, const char *);
|
| - jthrowable (JNICALL *ExceptionOccurred)(JNIEnv*);
|
| - void (JNICALL *ExceptionDescribe)(JNIEnv*);
|
| - void (JNICALL *ExceptionClear)(JNIEnv*);
|
| - void (JNICALL *FatalError)(JNIEnv*, const char*);
|
| -
|
| - jint (JNICALL *PushLocalFrame)(JNIEnv*, jint);
|
| - jobject (JNICALL *PopLocalFrame)(JNIEnv*, jobject);
|
| -
|
| - jobject (JNICALL *NewGlobalRef)(JNIEnv*, jobject);
|
| - void (JNICALL *DeleteGlobalRef)(JNIEnv*, jobject);
|
| - void (JNICALL *DeleteLocalRef)(JNIEnv*, jobject);
|
| - jboolean (JNICALL *IsSameObject)(JNIEnv*, jobject, jobject);
|
| -
|
| - jobject (JNICALL *NewLocalRef)(JNIEnv*, jobject);
|
| - jint (JNICALL *EnsureLocalCapacity)(JNIEnv*, jint);
|
| -
|
| - jobject (JNICALL *AllocObject)(JNIEnv*, jclass);
|
| - jobject (JNICALL *NewObject)(JNIEnv*, jclass, jmethodID, ...);
|
| - jobject (JNICALL *NewObjectV)(JNIEnv*, jclass, jmethodID, va_list);
|
| - jobject (JNICALL *NewObjectA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
| -
|
| - jclass (JNICALL *GetObjectClass)(JNIEnv*, jobject);
|
| - jboolean (JNICALL *IsInstanceOf)(JNIEnv*, jobject, jclass);
|
| - jmethodID (JNICALL *GetMethodID)(JNIEnv*, jclass, const char*, const char*);
|
| -
|
| - jobject (JNICALL *CallObjectMethod)(JNIEnv*, jobject, jmethodID, ...);
|
| - jobject (JNICALL *CallObjectMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
| - jobject (JNICALL *CallObjectMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
| - jboolean (JNICALL *CallBooleanMethod)(JNIEnv*, jobject, jmethodID, ...);
|
| - jboolean (JNICALL *CallBooleanMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
| - jboolean (JNICALL *CallBooleanMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
| - jbyte (JNICALL *CallByteMethod)(JNIEnv*, jobject, jmethodID, ...);
|
| - jbyte (JNICALL *CallByteMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
| - jbyte (JNICALL *CallByteMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
| - jchar (JNICALL *CallCharMethod)(JNIEnv*, jobject, jmethodID, ...);
|
| - jchar (JNICALL *CallCharMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
| - jchar (JNICALL *CallCharMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
| - jshort (JNICALL *CallShortMethod)(JNIEnv*, jobject, jmethodID, ...);
|
| - jshort (JNICALL *CallShortMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
| - jshort (JNICALL *CallShortMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
| - jint (JNICALL *CallIntMethod)(JNIEnv*, jobject, jmethodID, ...);
|
| - jint (JNICALL *CallIntMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
| - jint (JNICALL *CallIntMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
| - jlong (JNICALL *CallLongMethod)(JNIEnv*, jobject, jmethodID, ...);
|
| - jlong (JNICALL *CallLongMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
| - jlong (JNICALL *CallLongMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
| - jfloat (JNICALL *CallFloatMethod)(JNIEnv*, jobject, jmethodID, ...);
|
| - jfloat (JNICALL *CallFloatMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
| - jfloat (JNICALL *CallFloatMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
| - jdouble (JNICALL *CallDoubleMethod)(JNIEnv*, jobject, jmethodID, ...);
|
| - jdouble (JNICALL *CallDoubleMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
| - jdouble (JNICALL *CallDoubleMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
| - void (JNICALL *CallVoidMethod)(JNIEnv*, jobject, jmethodID, ...);
|
| - void (JNICALL *CallVoidMethodV)(JNIEnv*, jobject, jmethodID, va_list);
|
| - void (JNICALL *CallVoidMethodA)(JNIEnv*, jobject, jmethodID, jvalue*);
|
| -
|
| - jobject (JNICALL *CallNonvirtualObjectMethod)(JNIEnv*, jobject, jclass,
|
| - jmethodID, ...);
|
| - jobject (JNICALL *CallNonvirtualObjectMethodV)(JNIEnv*, jobject, jclass,
|
| - jmethodID, va_list);
|
| - jobject (JNICALL *CallNonvirtualObjectMethodA)(JNIEnv*, jobject, jclass,
|
| - jmethodID, jvalue*);
|
| - jboolean (JNICALL *CallNonvirtualBooleanMethod)(JNIEnv*, jobject, jclass,
|
| - jmethodID, ...);
|
| - jboolean (JNICALL *CallNonvirtualBooleanMethodV)(JNIEnv*, jobject, jclass,
|
| - jmethodID, va_list);
|
| - jboolean (JNICALL *CallNonvirtualBooleanMethodA)(JNIEnv*, jobject, jclass,
|
| - jmethodID, jvalue*);
|
| - jbyte (JNICALL *CallNonvirtualByteMethod)(JNIEnv*, jobject, jclass,
|
| - jmethodID, ...);
|
| - jbyte (JNICALL *CallNonvirtualByteMethodV)(JNIEnv*, jobject, jclass,
|
| - jmethodID, va_list);
|
| - jbyte (JNICALL *CallNonvirtualByteMethodA)(JNIEnv*, jobject, jclass,
|
| - jmethodID, jvalue*);
|
| - jchar (JNICALL *CallNonvirtualCharMethod)(JNIEnv*, jobject, jclass,
|
| - jmethodID, ...);
|
| - jchar (JNICALL *CallNonvirtualCharMethodV)(JNIEnv*, jobject, jclass,
|
| - jmethodID, va_list);
|
| - jchar (JNICALL *CallNonvirtualCharMethodA)(JNIEnv*, jobject, jclass,
|
| - jmethodID, jvalue*);
|
| - jshort (JNICALL *CallNonvirtualShortMethod)(JNIEnv*, jobject, jclass,
|
| - jmethodID, ...);
|
| - jshort (JNICALL *CallNonvirtualShortMethodV)(JNIEnv*, jobject, jclass,
|
| - jmethodID, va_list);
|
| - jshort (JNICALL *CallNonvirtualShortMethodA)(JNIEnv*, jobject, jclass,
|
| - jmethodID, jvalue*);
|
| - jint (JNICALL *CallNonvirtualIntMethod)(JNIEnv*, jobject, jclass,
|
| - jmethodID, ...);
|
| - jint (JNICALL *CallNonvirtualIntMethodV)(JNIEnv*, jobject, jclass,
|
| - jmethodID, va_list);
|
| - jint (JNICALL *CallNonvirtualIntMethodA)(JNIEnv*, jobject, jclass,
|
| - jmethodID, jvalue*);
|
| - jlong (JNICALL *CallNonvirtualLongMethod)(JNIEnv*, jobject, jclass,
|
| - jmethodID, ...);
|
| - jlong (JNICALL *CallNonvirtualLongMethodV)(JNIEnv*, jobject, jclass,
|
| - jmethodID, va_list);
|
| - jlong (JNICALL *CallNonvirtualLongMethodA)(JNIEnv*, jobject, jclass,
|
| - jmethodID, jvalue*);
|
| - jfloat (JNICALL *CallNonvirtualFloatMethod)(JNIEnv*, jobject, jclass,
|
| - jmethodID, ...);
|
| - jfloat (JNICALL *CallNonvirtualFloatMethodV)(JNIEnv*, jobject, jclass,
|
| - jmethodID, va_list);
|
| - jfloat (JNICALL *CallNonvirtualFloatMethodA)(JNIEnv*, jobject, jclass,
|
| - jmethodID, jvalue*);
|
| - jdouble (JNICALL *CallNonvirtualDoubleMethod)(JNIEnv*, jobject, jclass,
|
| - jmethodID, ...);
|
| - jdouble (JNICALL *CallNonvirtualDoubleMethodV)(JNIEnv*, jobject, jclass,
|
| - jmethodID, va_list);
|
| - jdouble (JNICALL *CallNonvirtualDoubleMethodA)(JNIEnv*, jobject, jclass,
|
| - jmethodID, jvalue*);
|
| - void (JNICALL *CallNonvirtualVoidMethod)(JNIEnv*, jobject, jclass,
|
| - jmethodID, ...);
|
| - void (JNICALL *CallNonvirtualVoidMethodV)(JNIEnv*, jobject, jclass,
|
| - jmethodID, va_list);
|
| - void (JNICALL *CallNonvirtualVoidMethodA)(JNIEnv*, jobject, jclass,
|
| - jmethodID, jvalue*);
|
| -
|
| - jfieldID (JNICALL *GetFieldID)(JNIEnv*, jclass, const char*, const char*);
|
| -
|
| - jobject (JNICALL *GetObjectField)(JNIEnv*, jobject, jfieldID);
|
| - jboolean (JNICALL *GetBooleanField)(JNIEnv*, jobject, jfieldID);
|
| - jbyte (JNICALL *GetByteField)(JNIEnv*, jobject, jfieldID);
|
| - jchar (JNICALL *GetCharField)(JNIEnv*, jobject, jfieldID);
|
| - jshort (JNICALL *GetShortField)(JNIEnv*, jobject, jfieldID);
|
| - jint (JNICALL *GetIntField)(JNIEnv*, jobject, jfieldID);
|
| - jlong (JNICALL *GetLongField)(JNIEnv*, jobject, jfieldID);
|
| - jfloat (JNICALL *GetFloatField)(JNIEnv*, jobject, jfieldID);
|
| - jdouble (JNICALL *GetDoubleField)(JNIEnv*, jobject, jfieldID);
|
| -
|
| - void (JNICALL *SetObjectField)(JNIEnv*, jobject, jfieldID, jobject);
|
| - void (JNICALL *SetBooleanField)(JNIEnv*, jobject, jfieldID, jboolean);
|
| - void (JNICALL *SetByteField)(JNIEnv*, jobject, jfieldID, jbyte);
|
| - void (JNICALL *SetCharField)(JNIEnv*, jobject, jfieldID, jchar);
|
| - void (JNICALL *SetShortField)(JNIEnv*, jobject, jfieldID, jshort);
|
| - void (JNICALL *SetIntField)(JNIEnv*, jobject, jfieldID, jint);
|
| - void (JNICALL *SetLongField)(JNIEnv*, jobject, jfieldID, jlong);
|
| - void (JNICALL *SetFloatField)(JNIEnv*, jobject, jfieldID, jfloat);
|
| - void (JNICALL *SetDoubleField)(JNIEnv*, jobject, jfieldID, jdouble);
|
| -
|
| - jmethodID (JNICALL *GetStaticMethodID)(JNIEnv*, jclass, const char*, const char*);
|
| -
|
| - jobject (JNICALL *CallStaticObjectMethod)(JNIEnv*, jclass, jmethodID, ...);
|
| - jobject (JNICALL *CallStaticObjectMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
| - jobject (JNICALL *CallStaticObjectMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
| - jboolean (JNICALL *CallStaticBooleanMethod)(JNIEnv*, jclass, jmethodID, ...);
|
| - jboolean (JNICALL *CallStaticBooleanMethodV)(JNIEnv*, jclass, jmethodID,
|
| - va_list);
|
| - jboolean (JNICALL *CallStaticBooleanMethodA)(JNIEnv*, jclass, jmethodID,
|
| - jvalue*);
|
| - jbyte (JNICALL *CallStaticByteMethod)(JNIEnv*, jclass, jmethodID, ...);
|
| - jbyte (JNICALL *CallStaticByteMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
| - jbyte (JNICALL *CallStaticByteMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
| - jchar (JNICALL *CallStaticCharMethod)(JNIEnv*, jclass, jmethodID, ...);
|
| - jchar (JNICALL *CallStaticCharMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
| - jchar (JNICALL *CallStaticCharMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
| - jshort (JNICALL *CallStaticShortMethod)(JNIEnv*, jclass, jmethodID, ...);
|
| - jshort (JNICALL *CallStaticShortMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
| - jshort (JNICALL *CallStaticShortMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
| - jint (JNICALL *CallStaticIntMethod)(JNIEnv*, jclass, jmethodID, ...);
|
| - jint (JNICALL *CallStaticIntMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
| - jint (JNICALL *CallStaticIntMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
| - jlong (JNICALL *CallStaticLongMethod)(JNIEnv*, jclass, jmethodID, ...);
|
| - jlong (JNICALL *CallStaticLongMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
| - jlong (JNICALL *CallStaticLongMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
| - jfloat (JNICALL *CallStaticFloatMethod)(JNIEnv*, jclass, jmethodID, ...);
|
| - jfloat (JNICALL *CallStaticFloatMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
| - jfloat (JNICALL *CallStaticFloatMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
| - jdouble (JNICALL *CallStaticDoubleMethod)(JNIEnv*, jclass, jmethodID, ...);
|
| - jdouble (JNICALL *CallStaticDoubleMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
| - jdouble (JNICALL *CallStaticDoubleMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
| - void (JNICALL *CallStaticVoidMethod)(JNIEnv*, jclass, jmethodID, ...);
|
| - void (JNICALL *CallStaticVoidMethodV)(JNIEnv*, jclass, jmethodID, va_list);
|
| - void (JNICALL *CallStaticVoidMethodA)(JNIEnv*, jclass, jmethodID, jvalue*);
|
| -
|
| - jfieldID (JNICALL *GetStaticFieldID)(JNIEnv*, jclass, const char*,
|
| - const char*);
|
| -
|
| - jobject (JNICALL *GetStaticObjectField)(JNIEnv*, jclass, jfieldID);
|
| - jboolean (JNICALL *GetStaticBooleanField)(JNIEnv*, jclass, jfieldID);
|
| - jbyte (JNICALL *GetStaticByteField)(JNIEnv*, jclass, jfieldID);
|
| - jchar (JNICALL *GetStaticCharField)(JNIEnv*, jclass, jfieldID);
|
| - jshort (JNICALL *GetStaticShortField)(JNIEnv*, jclass, jfieldID);
|
| - jint (JNICALL *GetStaticIntField)(JNIEnv*, jclass, jfieldID);
|
| - jlong (JNICALL *GetStaticLongField)(JNIEnv*, jclass, jfieldID);
|
| - jfloat (JNICALL *GetStaticFloatField)(JNIEnv*, jclass, jfieldID);
|
| - jdouble (JNICALL *GetStaticDoubleField)(JNIEnv*, jclass, jfieldID);
|
| -
|
| - void (JNICALL *SetStaticObjectField)(JNIEnv*, jclass, jfieldID, jobject);
|
| - void (JNICALL *SetStaticBooleanField)(JNIEnv*, jclass, jfieldID, jboolean);
|
| - void (JNICALL *SetStaticByteField)(JNIEnv*, jclass, jfieldID, jbyte);
|
| - void (JNICALL *SetStaticCharField)(JNIEnv*, jclass, jfieldID, jchar);
|
| - void (JNICALL *SetStaticShortField)(JNIEnv*, jclass, jfieldID, jshort);
|
| - void (JNICALL *SetStaticIntField)(JNIEnv*, jclass, jfieldID, jint);
|
| - void (JNICALL *SetStaticLongField)(JNIEnv*, jclass, jfieldID, jlong);
|
| - void (JNICALL *SetStaticFloatField)(JNIEnv*, jclass, jfieldID, jfloat);
|
| - void (JNICALL *SetStaticDoubleField)(JNIEnv*, jclass, jfieldID, jdouble);
|
| -
|
| - jstring (JNICALL *NewString)(JNIEnv*, const jchar*, jsize);
|
| - jsize (JNICALL *GetStringLength)(JNIEnv*, jstring);
|
| - const jchar* (JNICALL *GetStringChars)(JNIEnv*, jstring, jboolean*);
|
| - void (JNICALL *ReleaseStringChars)(JNIEnv*, jstring, const jchar*);
|
| - jstring (JNICALL *NewStringUTF)(JNIEnv*, const char*);
|
| - jsize (JNICALL *GetStringUTFLength)(JNIEnv*, jstring);
|
| - /* JNI spec says this returns const jbyte*, but that's inconsistent */
|
| - const char* (JNICALL *GetStringUTFChars)(JNIEnv*, jstring, jboolean*);
|
| - void (JNICALL *ReleaseStringUTFChars)(JNIEnv*, jstring, const char*);
|
| - jsize (JNICALL *GetArrayLength)(JNIEnv*, jarray);
|
| - jobjectArray (JNICALL *NewObjectArray)(JNIEnv*, jsize, jclass, jobject);
|
| - jobject (JNICALL *GetObjectArrayElement)(JNIEnv*, jobjectArray, jsize);
|
| - void (JNICALL *SetObjectArrayElement)(JNIEnv*, jobjectArray, jsize, jobject);
|
| -
|
| - jbooleanArray (JNICALL *NewBooleanArray)(JNIEnv*, jsize);
|
| - jbyteArray (JNICALL *NewByteArray)(JNIEnv*, jsize);
|
| - jcharArray (JNICALL *NewCharArray)(JNIEnv*, jsize);
|
| - jshortArray (JNICALL *NewShortArray)(JNIEnv*, jsize);
|
| - jintArray (JNICALL *NewIntArray)(JNIEnv*, jsize);
|
| - jlongArray (JNICALL *NewLongArray)(JNIEnv*, jsize);
|
| - jfloatArray (JNICALL *NewFloatArray)(JNIEnv*, jsize);
|
| - jdoubleArray (JNICALL *NewDoubleArray)(JNIEnv*, jsize);
|
| -
|
| - jboolean* (JNICALL *GetBooleanArrayElements)(JNIEnv*, jbooleanArray, jboolean*);
|
| - jbyte* (JNICALL *GetByteArrayElements)(JNIEnv*, jbyteArray, jboolean*);
|
| - jchar* (JNICALL *GetCharArrayElements)(JNIEnv*, jcharArray, jboolean*);
|
| - jshort* (JNICALL *GetShortArrayElements)(JNIEnv*, jshortArray, jboolean*);
|
| - jint* (JNICALL *GetIntArrayElements)(JNIEnv*, jintArray, jboolean*);
|
| - jlong* (JNICALL *GetLongArrayElements)(JNIEnv*, jlongArray, jboolean*);
|
| - jfloat* (JNICALL *GetFloatArrayElements)(JNIEnv*, jfloatArray, jboolean*);
|
| - jdouble* (JNICALL *GetDoubleArrayElements)(JNIEnv*, jdoubleArray, jboolean*);
|
| -
|
| - void (JNICALL *ReleaseBooleanArrayElements)(JNIEnv*, jbooleanArray,
|
| - jboolean*, jint);
|
| - void (JNICALL *ReleaseByteArrayElements)(JNIEnv*, jbyteArray,
|
| - jbyte*, jint);
|
| - void (JNICALL *ReleaseCharArrayElements)(JNIEnv*, jcharArray,
|
| - jchar*, jint);
|
| - void (JNICALL *ReleaseShortArrayElements)(JNIEnv*, jshortArray,
|
| - jshort*, jint);
|
| - void (JNICALL *ReleaseIntArrayElements)(JNIEnv*, jintArray,
|
| - jint*, jint);
|
| - void (JNICALL *ReleaseLongArrayElements)(JNIEnv*, jlongArray,
|
| - jlong*, jint);
|
| - void (JNICALL *ReleaseFloatArrayElements)(JNIEnv*, jfloatArray,
|
| - jfloat*, jint);
|
| - void (JNICALL *ReleaseDoubleArrayElements)(JNIEnv*, jdoubleArray,
|
| - jdouble*, jint);
|
| -
|
| - void (JNICALL *GetBooleanArrayRegion)(JNIEnv*, jbooleanArray,
|
| - jsize, jsize, jboolean*);
|
| - void (JNICALL *GetByteArrayRegion)(JNIEnv*, jbyteArray,
|
| - jsize, jsize, jbyte*);
|
| - void (JNICALL *GetCharArrayRegion)(JNIEnv*, jcharArray,
|
| - jsize, jsize, jchar*);
|
| - void (JNICALL *GetShortArrayRegion)(JNIEnv*, jshortArray,
|
| - jsize, jsize, jshort*);
|
| - void (JNICALL *GetIntArrayRegion)(JNIEnv*, jintArray,
|
| - jsize, jsize, jint*);
|
| - void (JNICALL *GetLongArrayRegion)(JNIEnv*, jlongArray,
|
| - jsize, jsize, jlong*);
|
| - void (JNICALL *GetFloatArrayRegion)(JNIEnv*, jfloatArray,
|
| - jsize, jsize, jfloat*);
|
| - void (JNICALL *GetDoubleArrayRegion)(JNIEnv*, jdoubleArray,
|
| - jsize, jsize, jdouble*);
|
| -
|
| - /* spec shows these without const; some jni.h do, some don't */
|
| - void (JNICALL *SetBooleanArrayRegion)(JNIEnv*, jbooleanArray,
|
| - jsize, jsize, const jboolean*);
|
| - void (JNICALL *SetByteArrayRegion)(JNIEnv*, jbyteArray,
|
| - jsize, jsize, const jbyte*);
|
| - void (JNICALL *SetCharArrayRegion)(JNIEnv*, jcharArray,
|
| - jsize, jsize, const jchar*);
|
| - void (JNICALL *SetShortArrayRegion)(JNIEnv*, jshortArray,
|
| - jsize, jsize, const jshort*);
|
| - void (JNICALL *SetIntArrayRegion)(JNIEnv*, jintArray,
|
| - jsize, jsize, const jint*);
|
| - void (JNICALL *SetLongArrayRegion)(JNIEnv*, jlongArray,
|
| - jsize, jsize, const jlong*);
|
| - void (JNICALL *SetFloatArrayRegion)(JNIEnv*, jfloatArray,
|
| - jsize, jsize, const jfloat*);
|
| - void (JNICALL *SetDoubleArrayRegion)(JNIEnv*, jdoubleArray,
|
| - jsize, jsize, const jdouble*);
|
| -
|
| - jint (JNICALL *RegisterNatives)(JNIEnv*, jclass, const JNINativeMethod*,
|
| - jint);
|
| - jint (JNICALL *UnregisterNatives)(JNIEnv*, jclass);
|
| - jint (JNICALL *MonitorEnter)(JNIEnv*, jobject);
|
| - jint (JNICALL *MonitorExit)(JNIEnv*, jobject);
|
| - jint (JNICALL *GetJavaVM)(JNIEnv*, JavaVM**);
|
| -
|
| - void (JNICALL *GetStringRegion)(JNIEnv*, jstring, jsize, jsize, jchar*);
|
| - void (JNICALL *GetStringUTFRegion)(JNIEnv*, jstring, jsize, jsize, char*);
|
| -
|
| - void* (JNICALL *GetPrimitiveArrayCritical)(JNIEnv*, jarray, jboolean*);
|
| - void (JNICALL *ReleasePrimitiveArrayCritical)(JNIEnv*, jarray, void*, jint);
|
| -
|
| - const jchar* (JNICALL *GetStringCritical)(JNIEnv*, jstring, jboolean*);
|
| - void (JNICALL *ReleaseStringCritical)(JNIEnv*, jstring, const jchar*);
|
| -
|
| - jweak (JNICALL *NewWeakGlobalRef)(JNIEnv*, jobject);
|
| - void (JNICALL *DeleteWeakGlobalRef)(JNIEnv*, jweak);
|
| -
|
| - jboolean (JNICALL *ExceptionCheck)(JNIEnv*);
|
| -
|
| - jobject (JNICALL *NewDirectByteBuffer)(JNIEnv*, void*, jlong);
|
| - void* (JNICALL *GetDirectBufferAddress)(JNIEnv*, jobject);
|
| - jlong (JNICALL *GetDirectBufferCapacity)(JNIEnv*, jobject);
|
| -
|
| - /* added in JNI 1.6 */
|
| - jobjectRefType (JNICALL *GetObjectRefType)(JNIEnv*, jobject);
|
| -};
|
| -
|
| -/*
|
| - * C++ object wrapper.
|
| - *
|
| - * This is usually overlaid on a C struct whose first element is a
|
| - * JNINativeInterface*. We rely somewhat on compiler behavior.
|
| - */
|
| -struct _JNIEnv {
|
| - /* do not rename this; it does not seem to be entirely opaque */
|
| - const struct JNINativeInterface* functions;
|
| -
|
| -#if defined(__cplusplus)
|
| -
|
| - jint GetVersion()
|
| - { return functions->GetVersion(this); }
|
| -
|
| - jclass DefineClass(const char *name, jobject loader, const jbyte* buf,
|
| - jsize bufLen)
|
| - { return functions->DefineClass(this, name, loader, buf, bufLen); }
|
| -
|
| - jclass FindClass(const char* name)
|
| - { return functions->FindClass(this, name); }
|
| -
|
| - jmethodID FromReflectedMethod(jobject method)
|
| - { return functions->FromReflectedMethod(this, method); }
|
| -
|
| - jfieldID FromReflectedField(jobject field)
|
| - { return functions->FromReflectedField(this, field); }
|
| -
|
| - jobject ToReflectedMethod(jclass cls, jmethodID methodID, jboolean isStatic)
|
| - { return functions->ToReflectedMethod(this, cls, methodID, isStatic); }
|
| -
|
| - jclass GetSuperclass(jclass clazz)
|
| - { return functions->GetSuperclass(this, clazz); }
|
| -
|
| - jboolean IsAssignableFrom(jclass clazz1, jclass clazz2)
|
| - { return functions->IsAssignableFrom(this, clazz1, clazz2); }
|
| -
|
| - jobject ToReflectedField(jclass cls, jfieldID fieldID, jboolean isStatic)
|
| - { return functions->ToReflectedField(this, cls, fieldID, isStatic); }
|
| -
|
| - jint Throw(jthrowable obj)
|
| - { return functions->Throw(this, obj); }
|
| -
|
| - jint ThrowNew(jclass clazz, const char* message)
|
| - { return functions->ThrowNew(this, clazz, message); }
|
| -
|
| - jthrowable ExceptionOccurred()
|
| - { return functions->ExceptionOccurred(this); }
|
| -
|
| - void ExceptionDescribe()
|
| - { functions->ExceptionDescribe(this); }
|
| -
|
| - void ExceptionClear()
|
| - { functions->ExceptionClear(this); }
|
| -
|
| - void FatalError(const char* msg)
|
| - { functions->FatalError(this, msg); }
|
| -
|
| - jint PushLocalFrame(jint capacity)
|
| - { return functions->PushLocalFrame(this, capacity); }
|
| -
|
| - jobject PopLocalFrame(jobject result)
|
| - { return functions->PopLocalFrame(this, result); }
|
| -
|
| - jobject NewGlobalRef(jobject obj)
|
| - { return functions->NewGlobalRef(this, obj); }
|
| -
|
| - void DeleteGlobalRef(jobject globalRef)
|
| - { functions->DeleteGlobalRef(this, globalRef); }
|
| -
|
| - void DeleteLocalRef(jobject localRef)
|
| - { functions->DeleteLocalRef(this, localRef); }
|
| -
|
| - jboolean IsSameObject(jobject ref1, jobject ref2)
|
| - { return functions->IsSameObject(this, ref1, ref2); }
|
| -
|
| - jobject NewLocalRef(jobject ref)
|
| - { return functions->NewLocalRef(this, ref); }
|
| -
|
| - jint EnsureLocalCapacity(jint capacity)
|
| - { return functions->EnsureLocalCapacity(this, capacity); }
|
| -
|
| - jobject AllocObject(jclass clazz)
|
| - { return functions->AllocObject(this, clazz); }
|
| -
|
| - jobject NewObject(jclass clazz, jmethodID methodID, ...)
|
| - {
|
| - va_list args;
|
| - va_start(args, methodID);
|
| - jobject result = functions->NewObjectV(this, clazz, methodID, args);
|
| - va_end(args);
|
| - return result;
|
| - }
|
| -
|
| - jobject NewObjectV(jclass clazz, jmethodID methodID, va_list args)
|
| - { return functions->NewObjectV(this, clazz, methodID, args); }
|
| -
|
| - jobject NewObjectA(jclass clazz, jmethodID methodID, jvalue* args)
|
| - { return functions->NewObjectA(this, clazz, methodID, args); }
|
| -
|
| - jclass GetObjectClass(jobject obj)
|
| - { return functions->GetObjectClass(this, obj); }
|
| -
|
| - jboolean IsInstanceOf(jobject obj, jclass clazz)
|
| - { return functions->IsInstanceOf(this, obj, clazz); }
|
| -
|
| - jmethodID GetMethodID(jclass clazz, const char* name, const char* sig)
|
| - { return functions->GetMethodID(this, clazz, name, sig); }
|
| -
|
| -#define CALL_TYPE_METHOD(_jtype, _jname) \
|
| - _jtype Call##_jname##Method(jobject obj, jmethodID methodID, ...) \
|
| - { \
|
| - _jtype result; \
|
| - va_list args; \
|
| - va_start(args, methodID); \
|
| - result = functions->Call##_jname##MethodV(this, obj, methodID, \
|
| - args); \
|
| - va_end(args); \
|
| - return result; \
|
| - }
|
| -#define CALL_TYPE_METHODV(_jtype, _jname) \
|
| - _jtype Call##_jname##MethodV(jobject obj, jmethodID methodID, \
|
| - va_list args) \
|
| - { return functions->Call##_jname##MethodV(this, obj, methodID, args); }
|
| -#define CALL_TYPE_METHODA(_jtype, _jname) \
|
| - _jtype Call##_jname##MethodA(jobject obj, jmethodID methodID, \
|
| - jvalue* args) \
|
| - { return functions->Call##_jname##MethodA(this, obj, methodID, args); }
|
| -
|
| -#define CALL_TYPE(_jtype, _jname) \
|
| - CALL_TYPE_METHOD(_jtype, _jname) \
|
| - CALL_TYPE_METHODV(_jtype, _jname) \
|
| - CALL_TYPE_METHODA(_jtype, _jname)
|
| -
|
| - CALL_TYPE(jobject, Object)
|
| - CALL_TYPE(jboolean, Boolean)
|
| - CALL_TYPE(jbyte, Byte)
|
| - CALL_TYPE(jchar, Char)
|
| - CALL_TYPE(jshort, Short)
|
| - CALL_TYPE(jint, Int)
|
| - CALL_TYPE(jlong, Long)
|
| - CALL_TYPE(jfloat, Float)
|
| - CALL_TYPE(jdouble, Double)
|
| -
|
| - void CallVoidMethod(jobject obj, jmethodID methodID, ...)
|
| - {
|
| - va_list args;
|
| - va_start(args, methodID);
|
| - functions->CallVoidMethodV(this, obj, methodID, args);
|
| - va_end(args);
|
| - }
|
| - void CallVoidMethodV(jobject obj, jmethodID methodID, va_list args)
|
| - { functions->CallVoidMethodV(this, obj, methodID, args); }
|
| - void CallVoidMethodA(jobject obj, jmethodID methodID, jvalue* args)
|
| - { functions->CallVoidMethodA(this, obj, methodID, args); }
|
| -
|
| -#define CALL_NONVIRT_TYPE_METHOD(_jtype, _jname) \
|
| - _jtype CallNonvirtual##_jname##Method(jobject obj, jclass clazz, \
|
| - jmethodID methodID, ...) \
|
| - { \
|
| - _jtype result; \
|
| - va_list args; \
|
| - va_start(args, methodID); \
|
| - result = functions->CallNonvirtual##_jname##MethodV(this, obj, \
|
| - clazz, methodID, args); \
|
| - va_end(args); \
|
| - return result; \
|
| - }
|
| -#define CALL_NONVIRT_TYPE_METHODV(_jtype, _jname) \
|
| - _jtype CallNonvirtual##_jname##MethodV(jobject obj, jclass clazz, \
|
| - jmethodID methodID, va_list args) \
|
| - { return functions->CallNonvirtual##_jname##MethodV(this, obj, clazz, \
|
| - methodID, args); }
|
| -#define CALL_NONVIRT_TYPE_METHODA(_jtype, _jname) \
|
| - _jtype CallNonvirtual##_jname##MethodA(jobject obj, jclass clazz, \
|
| - jmethodID methodID, jvalue* args) \
|
| - { return functions->CallNonvirtual##_jname##MethodA(this, obj, clazz, \
|
| - methodID, args); }
|
| -
|
| -#define CALL_NONVIRT_TYPE(_jtype, _jname) \
|
| - CALL_NONVIRT_TYPE_METHOD(_jtype, _jname) \
|
| - CALL_NONVIRT_TYPE_METHODV(_jtype, _jname) \
|
| - CALL_NONVIRT_TYPE_METHODA(_jtype, _jname)
|
| -
|
| - CALL_NONVIRT_TYPE(jobject, Object)
|
| - CALL_NONVIRT_TYPE(jboolean, Boolean)
|
| - CALL_NONVIRT_TYPE(jbyte, Byte)
|
| - CALL_NONVIRT_TYPE(jchar, Char)
|
| - CALL_NONVIRT_TYPE(jshort, Short)
|
| - CALL_NONVIRT_TYPE(jint, Int)
|
| - CALL_NONVIRT_TYPE(jlong, Long)
|
| - CALL_NONVIRT_TYPE(jfloat, Float)
|
| - CALL_NONVIRT_TYPE(jdouble, Double)
|
| -
|
| - void CallNonvirtualVoidMethod(jobject obj, jclass clazz,
|
| - jmethodID methodID, ...)
|
| - {
|
| - va_list args;
|
| - va_start(args, methodID);
|
| - functions->CallNonvirtualVoidMethodV(this, obj, clazz, methodID, args);
|
| - va_end(args);
|
| - }
|
| - void CallNonvirtualVoidMethodV(jobject obj, jclass clazz,
|
| - jmethodID methodID, va_list args)
|
| - { functions->CallNonvirtualVoidMethodV(this, obj, clazz, methodID, args); }
|
| - void CallNonvirtualVoidMethodA(jobject obj, jclass clazz,
|
| - jmethodID methodID, jvalue* args)
|
| - { functions->CallNonvirtualVoidMethodA(this, obj, clazz, methodID, args); }
|
| -
|
| - jfieldID GetFieldID(jclass clazz, const char* name, const char* sig)
|
| - { return functions->GetFieldID(this, clazz, name, sig); }
|
| -
|
| - jobject GetObjectField(jobject obj, jfieldID fieldID)
|
| - { return functions->GetObjectField(this, obj, fieldID); }
|
| - jboolean GetBooleanField(jobject obj, jfieldID fieldID)
|
| - { return functions->GetBooleanField(this, obj, fieldID); }
|
| - jbyte GetByteField(jobject obj, jfieldID fieldID)
|
| - { return functions->GetByteField(this, obj, fieldID); }
|
| - jchar GetCharField(jobject obj, jfieldID fieldID)
|
| - { return functions->GetCharField(this, obj, fieldID); }
|
| - jshort GetShortField(jobject obj, jfieldID fieldID)
|
| - { return functions->GetShortField(this, obj, fieldID); }
|
| - jint GetIntField(jobject obj, jfieldID fieldID)
|
| - { return functions->GetIntField(this, obj, fieldID); }
|
| - jlong GetLongField(jobject obj, jfieldID fieldID)
|
| - { return functions->GetLongField(this, obj, fieldID); }
|
| - jfloat GetFloatField(jobject obj, jfieldID fieldID)
|
| - { return functions->GetFloatField(this, obj, fieldID); }
|
| - jdouble GetDoubleField(jobject obj, jfieldID fieldID)
|
| - { return functions->GetDoubleField(this, obj, fieldID); }
|
| -
|
| - void SetObjectField(jobject obj, jfieldID fieldID, jobject value)
|
| - { functions->SetObjectField(this, obj, fieldID, value); }
|
| - void SetBooleanField(jobject obj, jfieldID fieldID, jboolean value)
|
| - { functions->SetBooleanField(this, obj, fieldID, value); }
|
| - void SetByteField(jobject obj, jfieldID fieldID, jbyte value)
|
| - { functions->SetByteField(this, obj, fieldID, value); }
|
| - void SetCharField(jobject obj, jfieldID fieldID, jchar value)
|
| - { functions->SetCharField(this, obj, fieldID, value); }
|
| - void SetShortField(jobject obj, jfieldID fieldID, jshort value)
|
| - { functions->SetShortField(this, obj, fieldID, value); }
|
| - void SetIntField(jobject obj, jfieldID fieldID, jint value)
|
| - { functions->SetIntField(this, obj, fieldID, value); }
|
| - void SetLongField(jobject obj, jfieldID fieldID, jlong value)
|
| - { functions->SetLongField(this, obj, fieldID, value); }
|
| - void SetFloatField(jobject obj, jfieldID fieldID, jfloat value)
|
| - { functions->SetFloatField(this, obj, fieldID, value); }
|
| - void SetDoubleField(jobject obj, jfieldID fieldID, jdouble value)
|
| - { functions->SetDoubleField(this, obj, fieldID, value); }
|
| -
|
| - jmethodID GetStaticMethodID(jclass clazz, const char* name, const char* sig)
|
| - { return functions->GetStaticMethodID(this, clazz, name, sig); }
|
| -
|
| -#define CALL_STATIC_TYPE_METHOD(_jtype, _jname) \
|
| - _jtype CallStatic##_jname##Method(jclass clazz, jmethodID methodID, \
|
| - ...) \
|
| - { \
|
| - _jtype result; \
|
| - va_list args; \
|
| - va_start(args, methodID); \
|
| - result = functions->CallStatic##_jname##MethodV(this, clazz, \
|
| - methodID, args); \
|
| - va_end(args); \
|
| - return result; \
|
| - }
|
| -#define CALL_STATIC_TYPE_METHODV(_jtype, _jname) \
|
| - _jtype CallStatic##_jname##MethodV(jclass clazz, jmethodID methodID, \
|
| - va_list args) \
|
| - { return functions->CallStatic##_jname##MethodV(this, clazz, methodID, \
|
| - args); }
|
| -#define CALL_STATIC_TYPE_METHODA(_jtype, _jname) \
|
| - _jtype CallStatic##_jname##MethodA(jclass clazz, jmethodID methodID, \
|
| - jvalue* args) \
|
| - { return functions->CallStatic##_jname##MethodA(this, clazz, methodID, \
|
| - args); }
|
| -
|
| -#define CALL_STATIC_TYPE(_jtype, _jname) \
|
| - CALL_STATIC_TYPE_METHOD(_jtype, _jname) \
|
| - CALL_STATIC_TYPE_METHODV(_jtype, _jname) \
|
| - CALL_STATIC_TYPE_METHODA(_jtype, _jname)
|
| -
|
| - CALL_STATIC_TYPE(jobject, Object)
|
| - CALL_STATIC_TYPE(jboolean, Boolean)
|
| - CALL_STATIC_TYPE(jbyte, Byte)
|
| - CALL_STATIC_TYPE(jchar, Char)
|
| - CALL_STATIC_TYPE(jshort, Short)
|
| - CALL_STATIC_TYPE(jint, Int)
|
| - CALL_STATIC_TYPE(jlong, Long)
|
| - CALL_STATIC_TYPE(jfloat, Float)
|
| - CALL_STATIC_TYPE(jdouble, Double)
|
| -
|
| - void CallStaticVoidMethod(jclass clazz, jmethodID methodID, ...)
|
| - {
|
| - va_list args;
|
| - va_start(args, methodID);
|
| - functions->CallStaticVoidMethodV(this, clazz, methodID, args);
|
| - va_end(args);
|
| - }
|
| - void CallStaticVoidMethodV(jclass clazz, jmethodID methodID, va_list args)
|
| - { functions->CallStaticVoidMethodV(this, clazz, methodID, args); }
|
| - void CallStaticVoidMethodA(jclass clazz, jmethodID methodID, jvalue* args)
|
| - { functions->CallStaticVoidMethodA(this, clazz, methodID, args); }
|
| -
|
| - jfieldID GetStaticFieldID(jclass clazz, const char* name, const char* sig)
|
| - { return functions->GetStaticFieldID(this, clazz, name, sig); }
|
| -
|
| - jobject GetStaticObjectField(jclass clazz, jfieldID fieldID)
|
| - { return functions->GetStaticObjectField(this, clazz, fieldID); }
|
| - jboolean GetStaticBooleanField(jclass clazz, jfieldID fieldID)
|
| - { return functions->GetStaticBooleanField(this, clazz, fieldID); }
|
| - jbyte GetStaticByteField(jclass clazz, jfieldID fieldID)
|
| - { return functions->GetStaticByteField(this, clazz, fieldID); }
|
| - jchar GetStaticCharField(jclass clazz, jfieldID fieldID)
|
| - { return functions->GetStaticCharField(this, clazz, fieldID); }
|
| - jshort GetStaticShortField(jclass clazz, jfieldID fieldID)
|
| - { return functions->GetStaticShortField(this, clazz, fieldID); }
|
| - jint GetStaticIntField(jclass clazz, jfieldID fieldID)
|
| - { return functions->GetStaticIntField(this, clazz, fieldID); }
|
| - jlong GetStaticLongField(jclass clazz, jfieldID fieldID)
|
| - { return functions->GetStaticLongField(this, clazz, fieldID); }
|
| - jfloat GetStaticFloatField(jclass clazz, jfieldID fieldID)
|
| - { return functions->GetStaticFloatField(this, clazz, fieldID); }
|
| - jdouble GetStaticDoubleField(jclass clazz, jfieldID fieldID)
|
| - { return functions->GetStaticDoubleField(this, clazz, fieldID); }
|
| -
|
| - void SetStaticObjectField(jclass clazz, jfieldID fieldID, jobject value)
|
| - { functions->SetStaticObjectField(this, clazz, fieldID, value); }
|
| - void SetStaticBooleanField(jclass clazz, jfieldID fieldID, jboolean value)
|
| - { functions->SetStaticBooleanField(this, clazz, fieldID, value); }
|
| - void SetStaticByteField(jclass clazz, jfieldID fieldID, jbyte value)
|
| - { functions->SetStaticByteField(this, clazz, fieldID, value); }
|
| - void SetStaticCharField(jclass clazz, jfieldID fieldID, jchar value)
|
| - { functions->SetStaticCharField(this, clazz, fieldID, value); }
|
| - void SetStaticShortField(jclass clazz, jfieldID fieldID, jshort value)
|
| - { functions->SetStaticShortField(this, clazz, fieldID, value); }
|
| - void SetStaticIntField(jclass clazz, jfieldID fieldID, jint value)
|
| - { functions->SetStaticIntField(this, clazz, fieldID, value); }
|
| - void SetStaticLongField(jclass clazz, jfieldID fieldID, jlong value)
|
| - { functions->SetStaticLongField(this, clazz, fieldID, value); }
|
| - void SetStaticFloatField(jclass clazz, jfieldID fieldID, jfloat value)
|
| - { functions->SetStaticFloatField(this, clazz, fieldID, value); }
|
| - void SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value)
|
| - { functions->SetStaticDoubleField(this, clazz, fieldID, value); }
|
| -
|
| - jstring NewString(const jchar* unicodeChars, jsize len)
|
| - { return functions->NewString(this, unicodeChars, len); }
|
| -
|
| - jsize GetStringLength(jstring string)
|
| - { return functions->GetStringLength(this, string); }
|
| -
|
| - const jchar* GetStringChars(jstring string, jboolean* isCopy)
|
| - { return functions->GetStringChars(this, string, isCopy); }
|
| -
|
| - void ReleaseStringChars(jstring string, const jchar* chars)
|
| - { functions->ReleaseStringChars(this, string, chars); }
|
| -
|
| - jstring NewStringUTF(const char* bytes)
|
| - { return functions->NewStringUTF(this, bytes); }
|
| -
|
| - jsize GetStringUTFLength(jstring string)
|
| - { return functions->GetStringUTFLength(this, string); }
|
| -
|
| - const char* GetStringUTFChars(jstring string, jboolean* isCopy)
|
| - { return functions->GetStringUTFChars(this, string, isCopy); }
|
| -
|
| - void ReleaseStringUTFChars(jstring string, const char* utf)
|
| - { functions->ReleaseStringUTFChars(this, string, utf); }
|
| -
|
| - jsize GetArrayLength(jarray array)
|
| - { return functions->GetArrayLength(this, array); }
|
| -
|
| - jobjectArray NewObjectArray(jsize length, jclass elementClass,
|
| - jobject initialElement)
|
| - { return functions->NewObjectArray(this, length, elementClass,
|
| - initialElement); }
|
| -
|
| - jobject GetObjectArrayElement(jobjectArray array, jsize index)
|
| - { return functions->GetObjectArrayElement(this, array, index); }
|
| -
|
| - void SetObjectArrayElement(jobjectArray array, jsize index, jobject value)
|
| - { functions->SetObjectArrayElement(this, array, index, value); }
|
| -
|
| - jbooleanArray NewBooleanArray(jsize length)
|
| - { return functions->NewBooleanArray(this, length); }
|
| - jbyteArray NewByteArray(jsize length)
|
| - { return functions->NewByteArray(this, length); }
|
| - jcharArray NewCharArray(jsize length)
|
| - { return functions->NewCharArray(this, length); }
|
| - jshortArray NewShortArray(jsize length)
|
| - { return functions->NewShortArray(this, length); }
|
| - jintArray NewIntArray(jsize length)
|
| - { return functions->NewIntArray(this, length); }
|
| - jlongArray NewLongArray(jsize length)
|
| - { return functions->NewLongArray(this, length); }
|
| - jfloatArray NewFloatArray(jsize length)
|
| - { return functions->NewFloatArray(this, length); }
|
| - jdoubleArray NewDoubleArray(jsize length)
|
| - { return functions->NewDoubleArray(this, length); }
|
| -
|
| - jboolean* GetBooleanArrayElements(jbooleanArray array, jboolean* isCopy)
|
| - { return functions->GetBooleanArrayElements(this, array, isCopy); }
|
| - jbyte* GetByteArrayElements(jbyteArray array, jboolean* isCopy)
|
| - { return functions->GetByteArrayElements(this, array, isCopy); }
|
| - jchar* GetCharArrayElements(jcharArray array, jboolean* isCopy)
|
| - { return functions->GetCharArrayElements(this, array, isCopy); }
|
| - jshort* GetShortArrayElements(jshortArray array, jboolean* isCopy)
|
| - { return functions->GetShortArrayElements(this, array, isCopy); }
|
| - jint* GetIntArrayElements(jintArray array, jboolean* isCopy)
|
| - { return functions->GetIntArrayElements(this, array, isCopy); }
|
| - jlong* GetLongArrayElements(jlongArray array, jboolean* isCopy)
|
| - { return functions->GetLongArrayElements(this, array, isCopy); }
|
| - jfloat* GetFloatArrayElements(jfloatArray array, jboolean* isCopy)
|
| - { return functions->GetFloatArrayElements(this, array, isCopy); }
|
| - jdouble* GetDoubleArrayElements(jdoubleArray array, jboolean* isCopy)
|
| - { return functions->GetDoubleArrayElements(this, array, isCopy); }
|
| -
|
| - void ReleaseBooleanArrayElements(jbooleanArray array, jboolean* elems,
|
| - jint mode)
|
| - { functions->ReleaseBooleanArrayElements(this, array, elems, mode); }
|
| - void ReleaseByteArrayElements(jbyteArray array, jbyte* elems,
|
| - jint mode)
|
| - { functions->ReleaseByteArrayElements(this, array, elems, mode); }
|
| - void ReleaseCharArrayElements(jcharArray array, jchar* elems,
|
| - jint mode)
|
| - { functions->ReleaseCharArrayElements(this, array, elems, mode); }
|
| - void ReleaseShortArrayElements(jshortArray array, jshort* elems,
|
| - jint mode)
|
| - { functions->ReleaseShortArrayElements(this, array, elems, mode); }
|
| - void ReleaseIntArrayElements(jintArray array, jint* elems,
|
| - jint mode)
|
| - { functions->ReleaseIntArrayElements(this, array, elems, mode); }
|
| - void ReleaseLongArrayElements(jlongArray array, jlong* elems,
|
| - jint mode)
|
| - { functions->ReleaseLongArrayElements(this, array, elems, mode); }
|
| - void ReleaseFloatArrayElements(jfloatArray array, jfloat* elems,
|
| - jint mode)
|
| - { functions->ReleaseFloatArrayElements(this, array, elems, mode); }
|
| - void ReleaseDoubleArrayElements(jdoubleArray array, jdouble* elems,
|
| - jint mode)
|
| - { functions->ReleaseDoubleArrayElements(this, array, elems, mode); }
|
| -
|
| - void GetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len,
|
| - jboolean* buf)
|
| - { functions->GetBooleanArrayRegion(this, array, start, len, buf); }
|
| - void GetByteArrayRegion(jbyteArray array, jsize start, jsize len,
|
| - jbyte* buf)
|
| - { functions->GetByteArrayRegion(this, array, start, len, buf); }
|
| - void GetCharArrayRegion(jcharArray array, jsize start, jsize len,
|
| - jchar* buf)
|
| - { functions->GetCharArrayRegion(this, array, start, len, buf); }
|
| - void GetShortArrayRegion(jshortArray array, jsize start, jsize len,
|
| - jshort* buf)
|
| - { functions->GetShortArrayRegion(this, array, start, len, buf); }
|
| - void GetIntArrayRegion(jintArray array, jsize start, jsize len,
|
| - jint* buf)
|
| - { functions->GetIntArrayRegion(this, array, start, len, buf); }
|
| - void GetLongArrayRegion(jlongArray array, jsize start, jsize len,
|
| - jlong* buf)
|
| - { functions->GetLongArrayRegion(this, array, start, len, buf); }
|
| - void GetFloatArrayRegion(jfloatArray array, jsize start, jsize len,
|
| - jfloat* buf)
|
| - { functions->GetFloatArrayRegion(this, array, start, len, buf); }
|
| - void GetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len,
|
| - jdouble* buf)
|
| - { functions->GetDoubleArrayRegion(this, array, start, len, buf); }
|
| -
|
| - void SetBooleanArrayRegion(jbooleanArray array, jsize start, jsize len,
|
| - const jboolean* buf)
|
| - { functions->SetBooleanArrayRegion(this, array, start, len, buf); }
|
| - void SetByteArrayRegion(jbyteArray array, jsize start, jsize len,
|
| - const jbyte* buf)
|
| - { functions->SetByteArrayRegion(this, array, start, len, buf); }
|
| - void SetCharArrayRegion(jcharArray array, jsize start, jsize len,
|
| - const jchar* buf)
|
| - { functions->SetCharArrayRegion(this, array, start, len, buf); }
|
| - void SetShortArrayRegion(jshortArray array, jsize start, jsize len,
|
| - const jshort* buf)
|
| - { functions->SetShortArrayRegion(this, array, start, len, buf); }
|
| - void SetIntArrayRegion(jintArray array, jsize start, jsize len,
|
| - const jint* buf)
|
| - { functions->SetIntArrayRegion(this, array, start, len, buf); }
|
| - void SetLongArrayRegion(jlongArray array, jsize start, jsize len,
|
| - const jlong* buf)
|
| - { functions->SetLongArrayRegion(this, array, start, len, buf); }
|
| - void SetFloatArrayRegion(jfloatArray array, jsize start, jsize len,
|
| - const jfloat* buf)
|
| - { functions->SetFloatArrayRegion(this, array, start, len, buf); }
|
| - void SetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len,
|
| - const jdouble* buf)
|
| - { functions->SetDoubleArrayRegion(this, array, start, len, buf); }
|
| -
|
| - jint RegisterNatives(jclass clazz, const JNINativeMethod* methods,
|
| - jint nMethods)
|
| - { return functions->RegisterNatives(this, clazz, methods, nMethods); }
|
| -
|
| - jint UnregisterNatives(jclass clazz)
|
| - { return functions->UnregisterNatives(this, clazz); }
|
| -
|
| - jint MonitorEnter(jobject obj)
|
| - { return functions->MonitorEnter(this, obj); }
|
| -
|
| - jint MonitorExit(jobject obj)
|
| - { return functions->MonitorExit(this, obj); }
|
| -
|
| - jint GetJavaVM(JavaVM** vm)
|
| - { return functions->GetJavaVM(this, vm); }
|
| -
|
| - void GetStringRegion(jstring str, jsize start, jsize len, jchar* buf)
|
| - { functions->GetStringRegion(this, str, start, len, buf); }
|
| -
|
| - void GetStringUTFRegion(jstring str, jsize start, jsize len, char* buf)
|
| - { return functions->GetStringUTFRegion(this, str, start, len, buf); }
|
| -
|
| - void* GetPrimitiveArrayCritical(jarray array, jboolean* isCopy)
|
| - { return functions->GetPrimitiveArrayCritical(this, array, isCopy); }
|
| -
|
| - void ReleasePrimitiveArrayCritical(jarray array, void* carray, jint mode)
|
| - { functions->ReleasePrimitiveArrayCritical(this, array, carray, mode); }
|
| -
|
| - const jchar* GetStringCritical(jstring string, jboolean* isCopy)
|
| - { return functions->GetStringCritical(this, string, isCopy); }
|
| -
|
| - void ReleaseStringCritical(jstring string, const jchar* carray)
|
| - { functions->ReleaseStringCritical(this, string, carray); }
|
| -
|
| - jweak NewWeakGlobalRef(jobject obj)
|
| - { return functions->NewWeakGlobalRef(this, obj); }
|
| -
|
| - void DeleteWeakGlobalRef(jweak obj)
|
| - { functions->DeleteWeakGlobalRef(this, obj); }
|
| -
|
| - jboolean ExceptionCheck()
|
| - { return functions->ExceptionCheck(this); }
|
| -
|
| - jobject NewDirectByteBuffer(void* address, jlong capacity)
|
| - { return functions->NewDirectByteBuffer(this, address, capacity); }
|
| -
|
| - void* GetDirectBufferAddress(jobject buf)
|
| - { return functions->GetDirectBufferAddress(this, buf); }
|
| -
|
| - jlong GetDirectBufferCapacity(jobject buf)
|
| - { return functions->GetDirectBufferCapacity(this, buf); }
|
| -
|
| - /* added in JNI 1.6 */
|
| - jobjectRefType GetObjectRefType(jobject obj)
|
| - { return functions->GetObjectRefType(this, obj); }
|
| -#endif /*__cplusplus*/
|
| -};
|
| -
|
| -
|
| -/*
|
| - * JNI invocation interface.
|
| - */
|
| -struct JNIInvokeInterface {
|
| - void* reserved0;
|
| - void* reserved1;
|
| - void* reserved2;
|
| -
|
| - jint (JNICALL *DestroyJavaVM)(JavaVM*);
|
| - jint (JNICALL *AttachCurrentThread)(JavaVM*, JNIEnv**, void*);
|
| - jint (JNICALL *DetachCurrentThread)(JavaVM*);
|
| - jint (JNICALL *GetEnv)(JavaVM*, void**, jint);
|
| - jint (JNICALL *AttachCurrentThreadAsDaemon)(JavaVM*, JNIEnv**, void*);
|
| -};
|
| -
|
| -/*
|
| - * C++ version.
|
| - */
|
| -struct _JavaVM {
|
| - const struct JNIInvokeInterface* functions;
|
| -
|
| -#if defined(__cplusplus)
|
| - jint DestroyJavaVM()
|
| - { return functions->DestroyJavaVM(this); }
|
| - jint AttachCurrentThread(JNIEnv** p_env, void* thr_args)
|
| - { return functions->AttachCurrentThread(this, p_env, thr_args); }
|
| - jint DetachCurrentThread()
|
| - { return functions->DetachCurrentThread(this); }
|
| - jint GetEnv(void** env, jint version)
|
| - { return functions->GetEnv(this, env, version); }
|
| - jint AttachCurrentThreadAsDaemon(JNIEnv** p_env, void* thr_args)
|
| - { return functions->AttachCurrentThreadAsDaemon(this, p_env, thr_args); }
|
| -#endif /*__cplusplus*/
|
| -};
|
| -
|
| -struct JavaVMAttachArgs {
|
| - jint version; /* must be >= JNI_VERSION_1_2 */
|
| - const char* name; /* NULL or name of thread as modified UTF-8 str */
|
| - jobject group; /* global ref of a ThreadGroup object, or NULL */
|
| -};
|
| -typedef struct JavaVMAttachArgs JavaVMAttachArgs;
|
| -
|
| -/*
|
| - * JNI 1.2+ initialization. (As of 1.6, the pre-1.2 structures are no
|
| - * longer supported.)
|
| - */
|
| -typedef struct JavaVMOption {
|
| - const char* optionString;
|
| - void* extraInfo;
|
| -} JavaVMOption;
|
| -
|
| -typedef struct JavaVMInitArgs {
|
| - jint version; /* use JNI_VERSION_1_2 or later */
|
| -
|
| - jint nOptions;
|
| - JavaVMOption* options;
|
| - jboolean ignoreUnrecognized;
|
| -} JavaVMInitArgs;
|
| -
|
| -#ifdef __cplusplus
|
| -extern "C" {
|
| -#endif
|
| -/*
|
| - * VM initialization functions.
|
| - *
|
| - * Note these are the only symbols exported for JNI by the VM.
|
| - */
|
| -#if 0 /* In practice, these are not exported by the NDK so don't declare them */
|
| -jint JNI_GetDefaultJavaVMInitArgs(void*);
|
| -jint JNI_CreateJavaVM(JavaVM**, JNIEnv**, void*);
|
| -jint JNI_GetCreatedJavaVMs(JavaVM**, jsize, jsize*);
|
| -#endif
|
| -
|
| -/*
|
| - * Prototypes for functions exported by loadable shared libs. These are
|
| - * called by JNI, not provided by JNI.
|
| - */
|
| -JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved);
|
| -JNIEXPORT void JNI_OnUnload(JavaVM* vm, void* reserved);
|
| -
|
| -#ifdef __cplusplus
|
| -}
|
| -#endif
|
| -
|
| -
|
| -/*
|
| - * Manifest constants.
|
| - */
|
| -#define JNI_FALSE 0
|
| -#define JNI_TRUE 1
|
| -
|
| -#define JNI_VERSION_1_1 0x00010001
|
| -#define JNI_VERSION_1_2 0x00010002
|
| -#define JNI_VERSION_1_4 0x00010004
|
| -#define JNI_VERSION_1_6 0x00010006
|
| -
|
| -#define JNI_OK (0) /* no error */
|
| -#define JNI_ERR (-1) /* generic error */
|
| -#define JNI_EDETACHED (-2) /* thread detached from the VM */
|
| -#define JNI_EVERSION (-3) /* JNI version error */
|
| -
|
| -#define JNI_COMMIT 1 /* copy content, do not free buffer */
|
| -#define JNI_ABORT 2 /* free buffer w/o copying back */
|
| -
|
| -#endif /* JNI_H_ */
|
|
|