⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jni.h

📁 独立flash播放器!This the developer’s wiki for Gnash and related projects. Content on these pages may not
💻 H
📖 第 1 页 / 共 5 页
字号:
// //   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.// // This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 3 of the License, or// (at your option) any later version.// // This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.// // You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA//#ifndef JNI_H#define JNI_H#include <cstdio>#include <cstdarg>using namespace std;/* jni_md.h contains the machine-dependent typedefs for jbyte, jint    and jlong */ #include "jni_md.h"#ifdef __cplusplusextern "C" {#endif/* * JNI Types */typedef unsigned char	jboolean;typedef unsigned short	jchar;typedef short		jshort;typedef float		jfloat;typedef double		jdouble;typedef jint            jsize;#ifdef __cplusplusclass _jobject {};class _jclass : public _jobject {};class _jthrowable : public _jobject {};class _jstring : public _jobject {};class _jarray : public _jobject {};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 _jobjectArray : public _jarray {};typedef _jobject *jobject;typedef _jclass *jclass;typedef _jthrowable *jthrowable;typedef _jstring *jstring;typedef _jarray *jarray;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 _jobjectArray *jobjectArray;#elsestruct _jobject;typedef struct _jobject *jobject;typedef jobject jclass;typedef jobject jthrowable;typedef jobject jstring;typedef jobject jarray;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 jarray jobjectArray;#endif#if 0	/* moved to jri_md.h */typedef jobject jref; /* For transition---not meant to be part of public 			 API anymore.*/#endiftypedef union jvalue {    jboolean z;    jbyte    b;    jchar    c;    jshort   s;    jint     i;    jlong    j;    jfloat   f;    jdouble  d;    jobject  l;} jvalue;struct _jfieldID;typedef struct _jfieldID *jfieldID;struct _jmethodID;typedef struct _jmethodID *jmethodID;/* * jboolean constants */#define JNI_FALSE 0#define JNI_TRUE 1/* * possible return values for JNI functions. */#define JNI_OK 0#define JNI_ERR (-1)/* * used in ReleaseScalarArrayElements */  #define JNI_COMMIT 1#define JNI_ABORT 2/* * used in RegisterNatives to describe native method name, signature, * and function pointer. */typedef struct {    char *name;    char *signature;    void *fnPtr;} JNINativeMethod;/* * JNI Native Method Interface. */struct JNINativeInterface_;struct JNIEnv_;#ifdef __cplusplustypedef JNIEnv_ JNIEnv;#elsetypedef const struct JNINativeInterface_ *JNIEnv;#endif/* * JNI Invocation Interface. */struct JNIInvokeInterface_;struct JavaVM_;#ifdef __cplusplustypedef JavaVM_ JavaVM;#elsetypedef const struct JNIInvokeInterface_ *JavaVM;#endifstruct JNINativeInterface_ {    void *reserved0;    void *reserved1;    void *reserved2;    void *reserved3;    jint (JNICALL *GetVersion)(JNIEnv *env);    jclass (JNICALL *DefineClass)      (JNIEnv *env, const char *name, jobject loader, const jbyte *buf,        jsize len);    jclass (JNICALL *FindClass)      (JNIEnv *env, const char *name);    void *reserved4;    void *reserved5;    void *reserved6;    jclass (JNICALL *GetSuperclass)      (JNIEnv *env, jclass sub);    jboolean (JNICALL *IsAssignableFrom)      (JNIEnv *env, jclass sub, jclass sup);    void *reserved7;    jint (JNICALL *Throw)      (JNIEnv *env, jthrowable obj);    jint (JNICALL *ThrowNew)      (JNIEnv *env, jclass clazz, const char *msg);    jthrowable (JNICALL *ExceptionOccurred)      (JNIEnv *env);    void (JNICALL *ExceptionDescribe)      (JNIEnv *env);    void (JNICALL *ExceptionClear)      (JNIEnv *env);    void (JNICALL *FatalError)      (JNIEnv *env, const char *msg);    void *reserved8;    void *reserved9;    jobject (JNICALL *NewGlobalRef)      (JNIEnv *env, jobject lobj);    void (JNICALL *DeleteGlobalRef)      (JNIEnv *env, jobject gref);    void (JNICALL *DeleteLocalRef)      (JNIEnv *env, jobject obj);    jboolean (JNICALL *IsSameObject)      (JNIEnv *env, jobject obj1, jobject obj2);    void *reserved10;    void *reserved11;    jobject (JNICALL *AllocObject)      (JNIEnv *env, jclass clazz);    jobject (JNICALL *NewObject)      (JNIEnv *env, jclass clazz, jmethodID methodID, ...);    jobject (JNICALL *NewObjectV)      (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args);    jobject (JNICALL *NewObjectA)      (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args);    jclass (JNICALL *GetObjectClass)      (JNIEnv *env, jobject obj);    jboolean (JNICALL *IsInstanceOf)      (JNIEnv *env, jobject obj, jclass clazz);    jmethodID (JNICALL *GetMethodID)      (JNIEnv *env, jclass clazz, const char *name, const char *sig);    jobject (JNICALL *CallObjectMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jobject (JNICALL *CallObjectMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jobject (JNICALL *CallObjectMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args);    jboolean (JNICALL *CallBooleanMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jboolean (JNICALL *CallBooleanMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jboolean (JNICALL *CallBooleanMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args);    jbyte (JNICALL *CallByteMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jbyte (JNICALL *CallByteMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jbyte (JNICALL *CallByteMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jchar (JNICALL *CallCharMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jchar (JNICALL *CallCharMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jchar (JNICALL *CallCharMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jshort (JNICALL *CallShortMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jshort (JNICALL *CallShortMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jshort (JNICALL *CallShortMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jint (JNICALL *CallIntMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jint (JNICALL *CallIntMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jint (JNICALL *CallIntMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jlong (JNICALL *CallLongMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jlong (JNICALL *CallLongMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jlong (JNICALL *CallLongMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jfloat (JNICALL *CallFloatMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jfloat (JNICALL *CallFloatMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jfloat (JNICALL *CallFloatMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    jdouble (JNICALL *CallDoubleMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    jdouble (JNICALL *CallDoubleMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    jdouble (JNICALL *CallDoubleMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args);    void (JNICALL *CallVoidMethod)      (JNIEnv *env, jobject obj, jmethodID methodID, ...);    void (JNICALL *CallVoidMethodV)      (JNIEnv *env, jobject obj, jmethodID methodID, va_list args);    void (JNICALL *CallVoidMethodA)      (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args);    jobject (JNICALL *CallNonvirtualObjectMethod)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);    jobject (JNICALL *CallNonvirtualObjectMethodV)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,        va_list args);    jobject (JNICALL *CallNonvirtualObjectMethodA)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,        jvalue * args);    jboolean (JNICALL *CallNonvirtualBooleanMethod)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);    jboolean (JNICALL *CallNonvirtualBooleanMethodV)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,       va_list args);    jboolean (JNICALL *CallNonvirtualBooleanMethodA)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,       jvalue * args);    jbyte (JNICALL *CallNonvirtualByteMethod)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);    jbyte (JNICALL *CallNonvirtualByteMethodV)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,       va_list args);    jbyte (JNICALL *CallNonvirtualByteMethodA)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,        jvalue *args);    jchar (JNICALL *CallNonvirtualCharMethod)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);    jchar (JNICALL *CallNonvirtualCharMethodV)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,       va_list args);    jchar (JNICALL *CallNonvirtualCharMethodA)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID,       jvalue *args);    jshort (JNICALL *CallNonvirtualShortMethod)      (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -