Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'jni/clr-win32/jnienv.h')
-rw-r--r--jni/clr-win32/jnienv.h595
1 files changed, 0 insertions, 595 deletions
diff --git a/jni/clr-win32/jnienv.h b/jni/clr-win32/jnienv.h
deleted file mode 100644
index 7978f47e..00000000
--- a/jni/clr-win32/jnienv.h
+++ /dev/null
@@ -1,595 +0,0 @@
-/*
- Copyright (C) 2002, 2003, 2004 Jeroen Frijters
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-
- Jeroen Frijters
- jeroen@frijters.net
-
-*/
-
-#include <vcclr.h>
-
-using namespace System;
-using namespace System::Runtime::InteropServices;
-
-#pragma unmanaged
-
-#define JNI_TRUE 1
-#define JNI_FALSE 0
-
-typedef struct {
- char *name;
- char *signature;
- void *fnPtr;
-} JNINativeMethod;
-
-#define JNI_VERSION_1_1 0x00010001
-#define JNI_VERSION_1_2 0x00010002
-#define JNI_VERSION_1_4 0x00010004
-
-/*
- * possible return values for JNI functions.
- */
-
-#define JNI_OK 0
-#define JNI_ERR (-1)
-#define JNI_EDETACHED (-2)
-#define JNI_EVERSION (-3)
-/*
- * used in ReleaseScalarArrayElements
- */
-
-#define JNI_COMMIT 1
-#define JNI_ABORT 2
-
-class JavaVM;
-
-#define JNIEXPORT
-#define JNICALL __stdcall
-
-#ifndef _HELPERTYPES_
-#define _HELPERTYPES_
-class _jobject {};
-class _jclass : public _jobject {};
-class _jstring : public _jobject {};
-class _jthrowable : public _jobject {};
-class Array$ : public _jobject {};
-class ObjectArray$ : public Array$ {};
-class BooleanArray$ : public Array$ {};
-class ByteArray$ : public Array$ {};
-class CharArray$ : public Array$ {};
-class ShortArray$ : public Array$ {};
-class IntArray$ : public Array$ {};
-class LongArray$ : public Array$ {};
-class FloatArray$ : public Array$ {};
-class DoubleArray$ : public Array$ {};
-#endif //_HELPERTYPES_
-
-typedef class _jclass* jclass;
-typedef class _jobject* jobject;
-typedef jobject jweak;
-typedef class _jstring* jstring;
-typedef class _jthrowable* jthrowable;
-typedef class Array$* jarray;
-typedef class ObjectArray$* jobjectArray;
-typedef class BooleanArray$* jbooleanArray;
-typedef class ByteArray$* jbyteArray;
-typedef class CharArray$* jcharArray;
-typedef class ShortArray$* jshortArray;
-typedef class IntArray$* jintArray;
-typedef class LongArray$* jlongArray;
-typedef class FloatArray$* jfloatArray;
-typedef class DoubleArray$* jdoubleArray;
-typedef struct _jmethodID* jmethodID;
-typedef struct _jfieldID* jfieldID;
-
-struct _jmethodID
-{
-};
-
-struct _jfieldID
-{
-};
-
-/*
- * JNI Types
- */
-
-typedef unsigned char jboolean;
-typedef unsigned short jchar;
-typedef short jshort;
-typedef float jfloat;
-typedef double jdouble;
-
-typedef long jint;
-typedef __int64 jlong;
-typedef signed char jbyte;
-
-typedef jint jsize;
-
-typedef union jvalue {
- jboolean z;
- jbyte b;
- jchar c;
- jshort s;
- jint i;
- jlong j;
- jfloat f;
- jdouble d;
- jobject l;
-} jvalue;
-
-//public __value class LocalRefStruct;
-
-#pragma managed
-
-//[StructLayout(LayoutKind::Sequential)]
-//__value struct LocalRefCache
-//{
-// Object* loc1;
-// Object* loc2;
-// Object* loc3;
-// Object* loc4;
-// Object* loc5;
-// Object* loc6;
-// Object* loc7;
-// Object* loc8;
-// Object* loc9;
-// Object* loc10;
-//};
-//
-//#define STATIC_LIST_SIZE 10
-//#define BUCKET_SIZE (1 << LOCAL_REF_SHIFT)
-//#define LOCAL_REF_SHIFT 10
-//#define LOCAL_REF_MASK (BUCKET_SIZE - 1)
-//
-//__value struct LocalRefListEntry
-//{
-// Object* __nogc* static_list;
-// Object* dynamic_list __gc[];
-//
-// int MakeLocalRef(Object* o)
-// {
-// Object** p = static_list;
-// for(int i = 0; i < STATIC_LIST_SIZE; i++)
-// {
-// if(p[i] == 0)
-// {
-// p[i] = o;
-// return i;
-// }
-// }
-// if(!dynamic_list)
-// {
-// dynamic_list = new Object* __gc[32 - STATIC_LIST_SIZE];
-// }
-// for(int i = 0; i < dynamic_list->Length; i++)
-// {
-// if(dynamic_list[i] == 0)
-// {
-// dynamic_list[i] = o;
-// return i + STATIC_LIST_SIZE;
-// }
-// }
-// int newsize = (dynamic_list->Length + STATIC_LIST_SIZE) * 2 - STATIC_LIST_SIZE;
-// if(newsize > BUCKET_SIZE)
-// {
-// return -1;
-// }
-// Object* tmp __gc[] = dynamic_list;
-// dynamic_list = new Object* __gc[newsize];
-// Array::Copy(tmp, 0, dynamic_list, 0, tmp->Length);
-// dynamic_list[tmp->Length] = o;
-// return tmp->Length + STATIC_LIST_SIZE;
-// }
-//
-// void DeleteLocalRef(unsigned int i)
-// {
-// if(i < STATIC_LIST_SIZE)
-// {
-// static_list[i] = 0;
-// }
-// else
-// {
-// dynamic_list[i - STATIC_LIST_SIZE] = 0;
-// }
-// }
-//
-// Object* UnwrapLocalRef(unsigned int i)
-// {
-// if(i < STATIC_LIST_SIZE)
-// {
-// return static_list[i];
-// }
-// else
-// {
-// return dynamic_list[i - STATIC_LIST_SIZE];
-// }
-// }
-//};
-//
-//__gc struct GlobalRefs
-//{
-// static System::Collections::ArrayList* globalRefs = new System::Collections::ArrayList();
-//};
-//
-//class JNIEnv;
-//
-//public __value class LocalRefStruct
-//{
-// JNIEnv* pJNIEnv;
-// LocalRefStruct __nogc* pPrevLocalRefCache;
-// LocalRefCache fastlocalrefs;
-// LocalRefListEntry localRefs __gc[];
-//
-//public:
-// static JNIEnv* GetEnv();
-//
-// IntPtr Enter();
-// void Leave();
-//
-// IntPtr MakeLocalRef(Object* o);
-// Object* UnwrapLocalRef(IntPtr p);
-//};
-
-class JNIEnv
-{
-public:
- jobject MakeLocalRef(System::Object* obj);
- //{
- // return (jobject)(void*)pActiveLocalRefCache->MakeLocalRef(obj);
- //}
-
- Object* UnwrapRef(jobject o);
- //{
- // int i = (int)o;
- // if(i > 0)
- // {
- // return pActiveLocalRefCache->UnwrapLocalRef((void*)o);
- // }
- // if(i < 0)
- // {
- // return GlobalRefs::globalRefs->Item[(-i) - 1];
- // }
- // return 0;
- //}
-
- jmethodID FindMethodID(jclass cls, const char* name, const char* sig, bool isstatic);
- Object* InvokeHelper(jobject object, jmethodID methodID, jvalue* args, bool nonVirtual);
- jfieldID FindFieldID(jclass cls, const char* name, const char* sig, bool isstatic);
-
- //int localRefSlot;
- //LocalRefStruct __nogc* pActiveLocalRefCache;
- //gcroot<LocalRefListEntry __gc[]> localRefs;
- //jthrowable pendingException;
-
- JNIEnv();
- ~JNIEnv();
-
- virtual void JNICALL reserved0();
- virtual void JNICALL reserved1();
- virtual void JNICALL reserved2();
- virtual void JNICALL reserved3();
-
- virtual jint JNICALL GetVersion();
-
- virtual jclass JNICALL DefineClass(const char *name, jobject loader, const jbyte *buf, jsize len);
- virtual jclass JNICALL FindClass(const char *name);
-
- virtual jmethodID JNICALL FromReflectedMethod(jobject method);
- virtual jfieldID JNICALL FromReflectedField(jobject field);
- virtual jobject JNICALL ToReflectedMethod(jclass clazz, jmethodID methodID);
-
- virtual jclass JNICALL GetSuperclass(jclass sub);
- virtual jboolean JNICALL IsAssignableFrom(jclass sub, jclass sup);
-
- virtual jobject JNICALL ToReflectedField(jclass clazz, jfieldID fieldID);
-
- virtual jint JNICALL Throw(jthrowable obj);
- virtual jint JNICALL ThrowNew(jclass clazz, const char *msg);
- virtual jthrowable JNICALL ExceptionOccurred();
- virtual void JNICALL ExceptionDescribe();
- virtual void JNICALL ExceptionClear();
- virtual void JNICALL FatalError(const char *msg);
-
- virtual jint JNICALL PushLocalFrame(jint capacity);
- virtual jobject JNICALL PopLocalFrame(jobject result);
-
- virtual jobject JNICALL NewGlobalRef(jobject lobj);
- virtual void JNICALL DeleteGlobalRef(jobject gref);
- virtual void JNICALL DeleteLocalRef(jobject obj);
- virtual jboolean JNICALL IsSameObject(jobject obj1, jobject obj2);
-
- virtual jobject JNICALL NewLocalRef(jobject ref);
- virtual jint JNICALL EnsureLocalCapacity(jint capacity);
-
- virtual jobject JNICALL AllocObject(jclass clazz);
- virtual jobject JNICALL NewObject(jclass clazz, jmethodID methodID, ...);
- virtual jobject JNICALL NewObjectV(jclass clazz, jmethodID methodID, va_list args);
- virtual jobject JNICALL NewObjectA(jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jclass JNICALL GetObjectClass(jobject obj);
- virtual jboolean JNICALL IsInstanceOf(jobject obj, jclass clazz);
-
- virtual jmethodID JNICALL GetMethodID(jclass clazz, const char *name, const char *sig);
-
- virtual jobject JNICALL CallObjectMethod(jobject obj, jmethodID methodID, ...);
- virtual jobject JNICALL CallObjectMethodV(jobject obj, jmethodID methodID, va_list args);
- virtual jobject JNICALL CallObjectMethodA(jobject obj, jmethodID methodID, jvalue * args);
-
- virtual jboolean JNICALL CallBooleanMethod(jobject obj, jmethodID methodID, ...);
- virtual jboolean JNICALL CallBooleanMethodV(jobject obj, jmethodID methodID, va_list args);
- virtual jboolean JNICALL CallBooleanMethodA(jobject obj, jmethodID methodID, jvalue * args);
-
- virtual jbyte JNICALL CallByteMethod(jobject obj, jmethodID methodID, ...);
- virtual jbyte JNICALL CallByteMethodV(jobject obj, jmethodID methodID, va_list args);
- virtual jbyte JNICALL CallByteMethodA(jobject obj, jmethodID methodID, jvalue *args);
-
- virtual jchar JNICALL CallCharMethod(jobject obj, jmethodID methodID, ...);
- virtual jchar JNICALL CallCharMethodV(jobject obj, jmethodID methodID, va_list args);
- virtual jchar JNICALL CallCharMethodA(jobject obj, jmethodID methodID, jvalue *args);
-
- virtual jshort JNICALL CallShortMethod(jobject obj, jmethodID methodID, ...);
- virtual jshort JNICALL CallShortMethodV(jobject obj, jmethodID methodID, va_list args);
- virtual jshort JNICALL CallShortMethodA(jobject obj, jmethodID methodID, jvalue *args);
-
- virtual jint JNICALL CallIntMethod(jobject obj, jmethodID methodID, ...);
- virtual jint JNICALL CallIntMethodV(jobject obj, jmethodID methodID, va_list args);
- virtual jint JNICALL CallIntMethodA(jobject obj, jmethodID methodID, jvalue *args);
-
- virtual jlong JNICALL CallLongMethod(jobject obj, jmethodID methodID, ...);
- virtual jlong JNICALL CallLongMethodV(jobject obj, jmethodID methodID, va_list args);
- virtual jlong JNICALL CallLongMethodA(jobject obj, jmethodID methodID, jvalue *args);
-
- virtual jfloat JNICALL CallFloatMethod(jobject obj, jmethodID methodID, ...);
- virtual jfloat JNICALL CallFloatMethodV(jobject obj, jmethodID methodID, va_list args);
- virtual jfloat JNICALL CallFloatMethodA(jobject obj, jmethodID methodID, jvalue *args);
-
- virtual jdouble JNICALL CallDoubleMethod(jobject obj, jmethodID methodID, ...);
- virtual jdouble JNICALL CallDoubleMethodV(jobject obj, jmethodID methodID, va_list args);
- virtual jdouble JNICALL CallDoubleMethodA(jobject obj, jmethodID methodID, jvalue *args);
-
- virtual void JNICALL CallVoidMethod(jobject obj, jmethodID methodID, ...);
- virtual void JNICALL CallVoidMethodV(jobject obj, jmethodID methodID, va_list args);
- virtual void JNICALL CallVoidMethodA(jobject obj, jmethodID methodID, jvalue * args);
-
- virtual jobject JNICALL CallNonvirtualObjectMethod(jobject obj, jclass clazz, jmethodID methodID, ...);
- virtual jobject JNICALL CallNonvirtualObjectMethodV(jobject obj, jclass clazz, jmethodID methodID, va_list args);
- virtual jobject JNICALL CallNonvirtualObjectMethodA(jobject obj, jclass clazz, jmethodID methodID, jvalue * args);
-
- virtual jboolean JNICALL CallNonvirtualBooleanMethod(jobject obj, jclass clazz, jmethodID methodID, ...);
- virtual jboolean JNICALL CallNonvirtualBooleanMethodV(jobject obj, jclass clazz, jmethodID methodID, va_list args);
- virtual jboolean JNICALL CallNonvirtualBooleanMethodA(jobject obj, jclass clazz, jmethodID methodID, jvalue * args);
-
- virtual jbyte JNICALL CallNonvirtualByteMethod(jobject obj, jclass clazz, jmethodID methodID, ...);
- virtual jbyte JNICALL CallNonvirtualByteMethodV(jobject obj, jclass clazz, jmethodID methodID, va_list args);
- virtual jbyte JNICALL CallNonvirtualByteMethodA(jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jchar JNICALL CallNonvirtualCharMethod(jobject obj, jclass clazz, jmethodID methodID, ...);
- virtual jchar JNICALL CallNonvirtualCharMethodV(jobject obj, jclass clazz, jmethodID methodID, va_list args);
- virtual jchar JNICALL CallNonvirtualCharMethodA(jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jshort JNICALL CallNonvirtualShortMethod(jobject obj, jclass clazz, jmethodID methodID, ...);
- virtual jshort JNICALL CallNonvirtualShortMethodV(jobject obj, jclass clazz, jmethodID methodID, va_list args);
- virtual jshort JNICALL CallNonvirtualShortMethodA(jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jint JNICALL CallNonvirtualIntMethod(jobject obj, jclass clazz, jmethodID methodID, ...);
- virtual jint JNICALL CallNonvirtualIntMethodV(jobject obj, jclass clazz, jmethodID methodID, va_list args);
- virtual jint JNICALL CallNonvirtualIntMethodA(jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jlong JNICALL CallNonvirtualLongMethod(jobject obj, jclass clazz, jmethodID methodID, ...);
- virtual jlong JNICALL CallNonvirtualLongMethodV(jobject obj, jclass clazz, jmethodID methodID, va_list args);
- virtual jlong JNICALL CallNonvirtualLongMethodA(jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jfloat JNICALL CallNonvirtualFloatMethod(jobject obj, jclass clazz, jmethodID methodID, ...);
- virtual jfloat JNICALL CallNonvirtualFloatMethodV(jobject obj, jclass clazz, jmethodID methodID, va_list args);
- virtual jfloat JNICALL CallNonvirtualFloatMethodA(jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jdouble JNICALL CallNonvirtualDoubleMethod(jobject obj, jclass clazz, jmethodID methodID, ...);
- virtual jdouble JNICALL CallNonvirtualDoubleMethodV(jobject obj, jclass clazz, jmethodID methodID, va_list args);
- virtual jdouble JNICALL CallNonvirtualDoubleMethodA(jobject obj, jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual void JNICALL CallNonvirtualVoidMethod(jobject obj, jclass clazz, jmethodID methodID, ...);
- virtual void JNICALL CallNonvirtualVoidMethodV(jobject obj, jclass clazz, jmethodID methodID, va_list args);
- virtual void JNICALL CallNonvirtualVoidMethodA(jobject obj, jclass clazz, jmethodID methodID, jvalue * args);
-
- virtual jfieldID JNICALL GetFieldID(jclass clazz, const char *name, const char *sig);
-
- virtual jobject JNICALL GetObjectField(jobject obj, jfieldID fieldID);
- virtual jboolean JNICALL GetBooleanField(jobject obj, jfieldID fieldID);
- virtual jbyte JNICALL GetByteField(jobject obj, jfieldID fieldID);
- virtual jchar JNICALL GetCharField(jobject obj, jfieldID fieldID);
- virtual jshort JNICALL GetShortField(jobject obj, jfieldID fieldID);
- virtual jint JNICALL GetIntField(jobject obj, jfieldID fieldID);
- virtual jlong JNICALL GetLongField(jobject obj, jfieldID fieldID);
- virtual jfloat JNICALL GetFloatField(jobject obj, jfieldID fieldID);
- virtual jdouble JNICALL GetDoubleField(jobject obj, jfieldID fieldID);
-
- virtual void JNICALL SetObjectField(jobject obj, jfieldID fieldID, jobject val);
- virtual void JNICALL SetBooleanField(jobject obj, jfieldID fieldID, jboolean val);
- virtual void JNICALL SetByteField(jobject obj, jfieldID fieldID, jbyte val);
- virtual void JNICALL SetCharField(jobject obj, jfieldID fieldID, jchar val);
- virtual void JNICALL SetShortField(jobject obj, jfieldID fieldID, jshort val);
- virtual void JNICALL SetIntField(jobject obj, jfieldID fieldID, jint val);
- virtual void JNICALL SetLongField(jobject obj, jfieldID fieldID, jlong val);
- virtual void JNICALL SetFloatField(jobject obj, jfieldID fieldID, jfloat val);
- virtual void JNICALL SetDoubleField(jobject obj, jfieldID fieldID, jdouble val);
-
- virtual jmethodID JNICALL GetStaticMethodID(jclass clazz, const char *name, const char *sig);
-
- virtual jobject JNICALL CallStaticObjectMethod(jclass clazz, jmethodID methodID, ...);
- virtual jobject JNICALL CallStaticObjectMethodV(jclass clazz, jmethodID methodID, va_list args);
- virtual jobject JNICALL CallStaticObjectMethodA(jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jboolean JNICALL CallStaticBooleanMethod(jclass clazz, jmethodID methodID, ...);
- virtual jboolean JNICALL CallStaticBooleanMethodV(jclass clazz, jmethodID methodID, va_list args);
- virtual jboolean JNICALL CallStaticBooleanMethodA(jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jbyte JNICALL CallStaticByteMethod(jclass clazz, jmethodID methodID, ...);
- virtual jbyte JNICALL CallStaticByteMethodV(jclass clazz, jmethodID methodID, va_list args);
- virtual jbyte JNICALL CallStaticByteMethodA(jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jchar JNICALL CallStaticCharMethod(jclass clazz, jmethodID methodID, ...);
- virtual jchar JNICALL CallStaticCharMethodV(jclass clazz, jmethodID methodID, va_list args);
- virtual jchar JNICALL CallStaticCharMethodA(jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jshort JNICALL CallStaticShortMethod(jclass clazz, jmethodID methodID, ...);
- virtual jshort JNICALL CallStaticShortMethodV(jclass clazz, jmethodID methodID, va_list args);
- virtual jshort JNICALL CallStaticShortMethodA(jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jint JNICALL CallStaticIntMethod(jclass clazz, jmethodID methodID, ...);
- virtual jint JNICALL CallStaticIntMethodV(jclass clazz, jmethodID methodID, va_list args);
- virtual jint JNICALL CallStaticIntMethodA(jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jlong JNICALL CallStaticLongMethod(jclass clazz, jmethodID methodID, ...);
- virtual jlong JNICALL CallStaticLongMethodV(jclass clazz, jmethodID methodID, va_list args);
- virtual jlong JNICALL CallStaticLongMethodA(jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jfloat JNICALL CallStaticFloatMethod(jclass clazz, jmethodID methodID, ...);
- virtual jfloat JNICALL CallStaticFloatMethodV(jclass clazz, jmethodID methodID, va_list args);
- virtual jfloat JNICALL CallStaticFloatMethodA(jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual jdouble JNICALL CallStaticDoubleMethod(jclass clazz, jmethodID methodID, ...);
- virtual jdouble JNICALL CallStaticDoubleMethodV(jclass clazz, jmethodID methodID, va_list args);
- virtual jdouble JNICALL CallStaticDoubleMethodA(jclass clazz, jmethodID methodID, jvalue *args);
-
- virtual void JNICALL CallStaticVoidMethod(jclass cls, jmethodID methodID, ...);
- virtual void JNICALL CallStaticVoidMethodV(jclass cls, jmethodID methodID, va_list args);
- virtual void JNICALL CallStaticVoidMethodA(jclass cls, jmethodID methodID, jvalue * args);
-
- virtual jfieldID JNICALL GetStaticFieldID(jclass clazz, const char *name, const char *sig);
- virtual jobject JNICALL GetStaticObjectField(jclass clazz, jfieldID fieldID);
- virtual jboolean JNICALL GetStaticBooleanField(jclass clazz, jfieldID fieldID);
- virtual jbyte JNICALL GetStaticByteField(jclass clazz, jfieldID fieldID);
- virtual jchar JNICALL GetStaticCharField(jclass clazz, jfieldID fieldID);
- virtual jshort JNICALL GetStaticShortField(jclass clazz, jfieldID fieldID);
- virtual jint JNICALL GetStaticIntField(jclass clazz, jfieldID fieldID);
- virtual jlong JNICALL GetStaticLongField(jclass clazz, jfieldID fieldID);
- virtual jfloat JNICALL GetStaticFloatField(jclass clazz, jfieldID fieldID);
- virtual jdouble JNICALL GetStaticDoubleField(jclass clazz, jfieldID fieldID);
-
- virtual void JNICALL SetStaticObjectField(jclass clazz, jfieldID fieldID, jobject value);
- virtual void JNICALL SetStaticBooleanField(jclass clazz, jfieldID fieldID, jboolean value);
- virtual void JNICALL SetStaticByteField(jclass clazz, jfieldID fieldID, jbyte value);
- virtual void JNICALL SetStaticCharField(jclass clazz, jfieldID fieldID, jchar value);
- virtual void JNICALL SetStaticShortField(jclass clazz, jfieldID fieldID, jshort value);
- virtual void JNICALL SetStaticIntField(jclass clazz, jfieldID fieldID, jint value);
- virtual void JNICALL SetStaticLongField(jclass clazz, jfieldID fieldID, jlong value);
- virtual void JNICALL SetStaticFloatField(jclass clazz, jfieldID fieldID, jfloat value);
- virtual void JNICALL SetStaticDoubleField(jclass clazz, jfieldID fieldID, jdouble value);
-
- virtual jstring JNICALL NewString(const jchar *unicode, jsize len);
- virtual jsize JNICALL GetStringLength(jstring str);
- virtual const jchar *JNICALL GetStringChars(jstring str, jboolean *isCopy);
- virtual void JNICALL ReleaseStringChars(jstring str, const jchar *chars);
-
- virtual jstring JNICALL NewStringUTF(const char *utf);
- virtual jsize JNICALL GetStringUTFLength(jstring str);
- virtual const char* JNICALL GetStringUTFChars(jstring str, jboolean *isCopy);
- virtual void JNICALL ReleaseStringUTFChars(jstring str, const char* chars);
-
- virtual jsize JNICALL GetArrayLength(jarray array);
-
- virtual jobjectArray JNICALL NewObjectArray(jsize len, jclass clazz, jobject init);
- virtual jobject JNICALL GetObjectArrayElement(jobjectArray array, jsize index);
- virtual void JNICALL SetObjectArrayElement(jobjectArray array, jsize index, jobject val);
-
- virtual jbooleanArray JNICALL NewBooleanArray(jsize len);
- virtual jbyteArray JNICALL NewByteArray(jsize len);
- virtual jcharArray JNICALL NewCharArray(jsize len);
- virtual jshortArray JNICALL NewShortArray(jsize len);
- virtual jintArray JNICALL NewIntArray(jsize len);
- virtual jlongArray JNICALL NewLongArray(jsize len);
- virtual jfloatArray JNICALL NewFloatArray(jsize len);
- virtual jdoubleArray JNICALL NewDoubleArray(jsize len);
-
- virtual jboolean * JNICALL GetBooleanArrayElements(jbooleanArray array, jboolean *isCopy);
- virtual jbyte * JNICALL GetByteArrayElements(jbyteArray array, jboolean *isCopy);
- virtual jchar * JNICALL GetCharArrayElements(jcharArray array, jboolean *isCopy);
- virtual jshort * JNICALL GetShortArrayElements(jshortArray array, jboolean *isCopy);
- virtual jint * JNICALL GetIntArrayElements(jintArray array, jboolean *isCopy);
- virtual jlong * JNICALL GetLongArrayElements(jlongArray array, jboolean *isCopy);
- virtual jfloat * JNICALL GetFloatArrayElements(jfloatArray array, jboolean *isCopy);
- virtual jdouble * JNICALL GetDoubleArrayElements(jdoubleArray array, jboolean *isCopy);
-
- virtual void JNICALL ReleaseBooleanArrayElements(jbooleanArray array, jboolean *elems, jint mode);
- virtual void JNICALL ReleaseByteArrayElements(jbyteArray array, jbyte *elems, jint mode);
- virtual void JNICALL ReleaseCharArrayElements(jcharArray array, jchar *elems, jint mode);
- virtual void JNICALL ReleaseShortArrayElements(jshortArray array, jshort *elems, jint mode);
- virtual void JNICALL ReleaseIntArrayElements(jintArray array, jint *elems, jint mode);
- virtual void JNICALL ReleaseLongArrayElements(jlongArray array, jlong *elems, jint mode);
- virtual void JNICALL ReleaseFloatArrayElements(jfloatArray array, jfloat *elems, jint mode);
- virtual void JNICALL ReleaseDoubleArrayElements(jdoubleArray array, jdouble *elems, jint mode);
-
- virtual void JNICALL GetBooleanArrayRegion(jbooleanArray array, jsize start, jsize l, jboolean *buf);
- virtual void JNICALL GetByteArrayRegion(jbyteArray array, jsize start, jsize len, jbyte *buf);
- virtual void JNICALL GetCharArrayRegion(jcharArray array, jsize start, jsize len, jchar *buf);
- virtual void JNICALL GetShortArrayRegion(jshortArray array, jsize start, jsize len, jshort *buf);
- virtual void JNICALL GetIntArrayRegion(jintArray array, jsize start, jsize len, jint *buf);
- virtual void JNICALL GetLongArrayRegion(jlongArray array, jsize start, jsize len, jlong *buf);
- virtual void JNICALL GetFloatArrayRegion(jfloatArray array, jsize start, jsize len, jfloat *buf);
- virtual void JNICALL GetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len, jdouble *buf);
-
- virtual void JNICALL SetBooleanArrayRegion(jbooleanArray array, jsize start, jsize l, jboolean *buf);
- virtual void JNICALL SetByteArrayRegion(jbyteArray array, jsize start, jsize len, jbyte *buf);
- virtual void JNICALL SetCharArrayRegion(jcharArray array, jsize start, jsize len, jchar *buf);
- virtual void JNICALL SetShortArrayRegion(jshortArray array, jsize start, jsize len, jshort *buf);
- virtual void JNICALL SetIntArrayRegion(jintArray array, jsize start, jsize len, jint *buf);
- virtual void JNICALL SetLongArrayRegion(jlongArray array, jsize start, jsize len, jlong *buf);
- virtual void JNICALL SetFloatArrayRegion(jfloatArray array, jsize start, jsize len, jfloat *buf);
- virtual void JNICALL SetDoubleArrayRegion(jdoubleArray array, jsize start, jsize len, jdouble *buf);
-
- virtual jint JNICALL RegisterNatives(jclass clazz, const JNINativeMethod *methods, jint nMethods);
- virtual jint JNICALL UnregisterNatives(jclass clazz);
-
- virtual jint JNICALL MonitorEnter(jobject obj);
- virtual jint JNICALL MonitorExit(jobject obj);
-
- virtual jint JNICALL GetJavaVM(JavaVM **vm);
-
- virtual void JNICALL GetStringRegion(jstring str, jsize start, jsize len, jchar *buf);
- virtual void JNICALL GetStringUTFRegion(jstring str, jsize start, jsize len, char *buf);
-
- virtual void* JNICALL GetPrimitiveArrayCritical(jarray array, jboolean *isCopy);
- virtual void JNICALL ReleasePrimitiveArrayCritical(jarray array, void *carray, jint mode);
-
- virtual const jchar* JNICALL GetStringCritical(jstring string, jboolean *isCopy);
- virtual void JNICALL ReleaseStringCritical(jstring string, const jchar *cstring);
-
- virtual jweak JNICALL NewWeakGlobalRef(jobject obj);
- virtual void JNICALL DeleteWeakGlobalRef(jweak ref);
-
- virtual jboolean JNICALL ExceptionCheck();
-
- virtual jobject JNICALL NewDirectByteBuffer(void* address, jlong capacity);
- virtual void* JNICALL GetDirectBufferAddress(jobject buf);
- virtual jlong JNICALL GetDirectBufferCapacity(jobject buf);
-};
-
-class JavaVM
-{
-public:
- virtual void JNICALL reserved0();
- virtual void JNICALL reserved1();
- virtual void JNICALL reserved2();
- virtual jint JNICALL DestroyJavaVM();
- virtual jint JNICALL AttachCurrentThread(void **penv, void *args);
- virtual jint JNICALL DetachCurrentThread();
- virtual jint JNICALL GetEnv(void **penv, jint version);
- virtual jint JNICALL AttachCurrentThreadAsDaemon(void **penv, void *args);
-};