jobject RC_NewObject(JNIEnv * env, jclass cls, jmethodID methodobj, ...);
jobject RC_NewObjectV(JNIEnv * env, jclass cls, jmethodID methodobj, va_list valist);
jobject RC_NewObjectA(JNIEnv * env, jclass cls, jmethodID methodobj, const jvalue * args);
-
+jobject RC_GetObjectArrayElement(JNIEnv *, jobjectArray, jsize);
+void RC_SetObjectArrayElement(JNIEnv *, jobjectArray, jsize, jobject);
jclass RC_GetObjectClass(JNIEnv * env, jobject obj);
jboolean RC_IsInstanceOf(JNIEnv * env, jobject obj, jclass cls);
#define CALLNVMETHODA(R, T) R RC_CallNonvirtual ## T ## MethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
-#define GETFIELD(R, T) R Get ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld);
+#define GETFIELD(R, T) R RC_Get ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld);
-#define SETFIELD(R, T) void Set ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld, R src);
+#define SETFIELD(R, T) void RC_Set ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld, R src);
#define CALLSTMETHOD(R, T) R RC_CallStatic ## T ## Method(JNIEnv *env, jobject obj, jmethodID mid, ...);
#define RELEASEARRAY(R, T) void RC_Release ## T ## ArrayElements(JNIEnv *env, R ## Array array, R * ptr, jint num);
-#define GETARRAYREGION(R, T) void Get ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, R * ptr);
+#define GETARRAYREGION(R, T) void RC_Get ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, R * ptr);
-#define SETARRAYREGION(R, T) void Set ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, const R * ptr);
+#define SETARRAYREGION(R, T) void RC_Set ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, const R * ptr);
#define CALLSET(R, T) \
CALLMETHODV(R, T) \
void RC_CallVoidMethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
void RC_CallVoidMethod(JNIEnv *env, jobject obj, jmethodID mid, ...);
void RC_CallVoidMethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
+void RC_CallStaticVoidMethod(JNIEnv *env, jclass cls, jmethodID mid, ...);
+void RC_CallStaticVoidMethodV(JNIEnv * env, jclass cls, jmethodID mid, va_list va);
+void RC_CallStaticVoidMethodA(JNIEnv * env, jclass cls, jmethodID mid, const jvalue * valarray);
void RC_CallNonvirtualVoidMethod(JNIEnv *env, jobject obj, jmethodID mid, ...);
void RC_CallNonvirtualVoidMethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
void RC_CallNonvirtualVoidMethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
jint RC_MonitorEnter(JNIEnv * env, jobject obj);
jint RC_MonitorExit(JNIEnv * env, jobject obj);
jint RC_GetJavaVM(JNIEnv * env, JavaVM ** jvm);
+jstring RC_NewString(JNIEnv * env, const jchar * str, jsize size);
+jsize RC_GetStringLength(JNIEnv *env, jstring str);
+const jchar * RC_GetStringChars(JNIEnv * env, jstring str, jboolean * flag);
+void RC_ReleaseStringChars(JNIEnv * env, jstring str, const jchar * str2);
+jstring RC_NewStringUTF(JNIEnv * env, const char *str);
+jsize RC_GetStringUTFLength(JNIEnv * env, jstring str);
+const char * RC_GetStringUTFChars(JNIEnv * env, jstring str, jboolean * flag);
+void RC_ReleaseStringUTFChars(JNIEnv * env, jstring str, const char * str2);
+jsize RC_GetArrayLength(JNIEnv * env, jarray array);
#endif
return NULL;
}
+jobject RC_GetObjectArrayElement(JNIEnv * env, jobjectArray array, jsize size) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+ return NULL;
+}
+
+void RC_SetObjectArrayElement(JNIEnv * env, jobjectArray array, jsize size, jobject obj) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+}
+
jclass RC_GetObjectClass(JNIEnv * env, jobject obj) {
printf("MISSING FEATURE IN %d\n",__LINE__);
return NULL;
return (R)0; \
}
-#define GETFIELD(R, T) R Get ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld) { \
+#define GETFIELD(R, T) R RC_Get ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld) { \
printf("MISSING FEATURE IN %d\n",__LINE__); \
return (R)0; \
}
-#define SETFIELD(R, T) void Set ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld, R src) { \
+#define SETFIELD(R, T) void RC_Set ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld, R src) { \
printf("MISSING FEATURE IN %d\n",__LINE__); \
}
printf("MISSING FEATURE IN %d\n",__LINE__); \
}
-#define GETARRAYREGION(R, T) void Get ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, R * ptr) { \
+#define GETARRAYREGION(R, T) void RC_Get ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, R * ptr) { \
printf("MISSING FEATURE IN %d\n",__LINE__); \
}
-#define SETARRAYREGION(R, T) void Set ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, const R * ptr) { \
+#define SETARRAYREGION(R, T) void RC_Set ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, const R * ptr) { \
printf("MISSING FEATURE IN %d\n",__LINE__); \
}
void RC_CallNonvirtualVoidMethod(JNIEnv *env, jobject obj, jmethodID mid, ...) {
va_list va;
va_start(va, mid);
- RC_CallVoidMethodV(env, obj, mid, va);
+ RC_CallNonvirtualVoidMethodV(env, obj, mid, va);
}
void RC_CallNonvirtualVoidMethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va) {
printf("MISSING FEATURE IN %d\n",__LINE__);
}
+void RC_CallStaticVoidMethod(JNIEnv *env, jclass cls, jmethodID mid, ...) {
+ va_list va;
+ va_start(va, mid);
+ RC_CallStaticVoidMethodV(env, obj, mid, va);
+}
+
+void RC_CallStaticVoidMethodV(JNIEnv * env, jclass cls, jmethodID mid, va_list va) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+}
+
+void RC_CallStaticVoidMethodA(JNIEnv * env, jclass cls, jmethodID mid, const jvalue * valarray) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+}
+
jfieldID RC_GetFieldID(JNIEnv * env, jclass cls, const char * str1, const char * str2) {
printf("MISSING FEATURE IN %d\n",__LINE__);
return NULL;
printf("MISSING FEATURE IN %d\n",__LINE__);
return 0;
}
+
+jstring RC_NewString(JNIEnv * env, const jchar * str, jsize size) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+ return NULL;
+}
+
+jsize RC_GetStringLength(JNIEnv *env, jstring str) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+ return 0;
+}
+
+const jchar * RC_GetStringChars(JNIEnv * env, jstring str, jboolean * flag) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+ return NULL;
+}
+
+void RC_ReleaseStringChars(JNIEnv * env, jstring str, const jchar * str2) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+}
+
+jstring RC_NewStringUTF(JNIEnv * env, const char *str)
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+ return NULL;
+}
+
+jsize RC_GetStringUTFLength(JNIEnv * env, jstring str) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+ return 0;
+}
+
+const char * RC_GetStringUTFChars(JNIEnv * env, jstring str, jboolean * flag) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+ return NULL;
+}
+
+void RC_ReleaseStringUTFChars(JNIEnv * env, jstring str, const char * str2) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+}
+
+jsize RC_GetArrayLength(JNIEnv * env, jarray array) {
+ printf("MISSING FEATURE IN %d\n",__LINE__);
+ return 0;
+}
#include <jni.h>
#include <jni-private.h>
-struct JNINativeInterface JNI_vtable = {
+struct JNINativeInterface_ JNI_vtable = {
NULL, //void *reserved0;
NULL, //void *reserved1;
NULL, //void *reserved2;
RC_DefineClass, //jclass (JNICALL *DefineClass) (JNIEnv *, const char *, jobject, const jbyte *, jsize);
RC_FindClass, //jclass (JNICALL *FindClass) (JNIEnv *, const char *);
RC_FromReflectedMethod, // jmethodID (JNICALL *FromReflectedMethod) (JNIEnv *, jobject);
- RC_FromRefectedField, //jfieldID (JNICALL *FromReflectedField) (JNIEnv *, jobject);
+ RC_FromReflectedField, //jfieldID (JNICALL *FromReflectedField) (JNIEnv *, jobject);
RC_ToReflectedMethod, //jobject (JNICALL *ToReflectedMethod) (JNIEnv *, jclass, jmethodID, jboolean);
RC_GetSuperclass, // jclass (JNICALL *GetSuperclass) (JNIEnv *, jclass);
RC_IsAssignableFrom, //jboolean (JNICALL *IsAssignableFrom) (JNIEnv *, jclass, jclass);
RC_CallVoidMethod, //void (JNICALL *CallVoidMethod) (JNIEnv *, jobject, jmethodID, ...);
RC_CallVoidMethodV, //void (JNICALL *CallVoidMethodV) (JNIEnv *, jobject, jmethodID, va_list);
RC_CallVoidMethodA, //void (JNICALL *CallVoidMethodA) (JNIEnv *, jobject, jmethodID, const jvalue *);
- RC_CallNonVirtualObjectMethod,// jobject (JNICALL *CallNonvirtualObjectMethod) (JNIEnv *, jobject, jclass, jmethodID, ...);
- RC_CallNonVirtualObjectMethodV, //jobject (JNICALL *CallNonvirtualObjectMethodV) (JNIEnv *, jobject, jclass, jmethodID, va_list);
- RC_CallNonVirtualObjectMethodA, //jobject (JNICALL *CallNonvirtualObjectMethodA) (JNIEnv *, jobject, jclass, jmethodID, const jvalue *);
+ RC_CallNonvirtualObjectMethod,// jobject (JNICALL *CallNonvirtualObjectMethod) (JNIEnv *, jobject, jclass, jmethodID, ...);
+ RC_CallNonvirtualObjectMethodV, //jobject (JNICALL *CallNonvirtualObjectMethodV) (JNIEnv *, jobject, jclass, jmethodID, va_list);
+ RC_CallNonvirtualObjectMethodA, //jobject (JNICALL *CallNonvirtualObjectMethodA) (JNIEnv *, jobject, jclass, jmethodID, const jvalue *);
RC_CallNonvirtualBooleanMethod,//jboolean (JNICALL *CallNonvirtualBooleanMethod) (JNIEnv *, jobject, jclass, jmethodID, ...);
RC_CallNonvirtualBooleanMethodV, // jboolean (JNICALL *CallNonvirtualBooleanMethodV) (JNIEnv *, jobject, jclass, jmethodID, va_list);
RC_CallNonvirtualBooleanMethodA, // jboolean (JNICALL *CallNonvirtualBooleanMethodA) (JNIEnv *, jobject, jclass, jmethodID, const jvalue *);