version 1.9, 2005/02/28 21:42:58
|
version 1.13, 2005/06/02 20:36:40
|
|
|
#include <Pegasus/Common/Config.h> | #include <Pegasus/Common/Config.h> |
#include <Pegasus/Common/String.h> | #include <Pegasus/Common/String.h> |
#include <Pegasus/Common/System.h> | #include <Pegasus/Common/System.h> |
|
#include <Pegasus/Common/HashTable.h> |
| |
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
|
|
JNIEnv *env; | JNIEnv *env; |
jclass *classRefs; | jclass *classRefs; |
jmethodID *instMethodIDs; | jmethodID *instMethodIDs; |
jmethodID *classMethodIDs; |
jmethodID *staticMethodIDs; |
} JvmVector; | } JvmVector; |
| |
class JMPIjvm { | class JMPIjvm { |
|
|
static int trace; | static int trace; |
static JavaVM *jvm; | static JavaVM *jvm; |
static JvmVector jv; | static JvmVector jv; |
|
|
JMPIjvm(); | JMPIjvm(); |
~JMPIjvm(); | ~JMPIjvm(); |
| |
|
|
static jobjectArray NewPlatformStringArray(JNIEnv *env,char **strv, int strc); | static jobjectArray NewPlatformStringArray(JNIEnv *env,char **strv, int strc); |
static int cacheIDs(JNIEnv *env); | static int cacheIDs(JNIEnv *env); |
static int destroyJVM(); | static int destroyJVM(); |
|
|
private: | private: |
static jclass getGlobalClassRef(JNIEnv *env, const char* name); | static jclass getGlobalClassRef(JNIEnv *env, const char* name); |
static int initJVM(); | static int initJVM(); |
|
|
|
typedef HashTable<String,jclass,EqualFunc<String>,HashFunc<String> > ClassTable; |
|
typedef HashTable<String,jobject,EqualFunc<String>,HashFunc<String> > ObjectTable; |
|
|
|
static ClassTable _classTable; |
|
static ObjectTable _objectTable; |
}; | }; |
| |
class _nameSpace { | class _nameSpace { |
|
|
}; | }; |
| |
#define VectorClassRef classRefs[0] | #define VectorClassRef classRefs[0] |
#define CIMOMHandleClassRef classRefs[16] |
#define BooleanClassRef classRefs[1] |
|
#define ByteClassRef classRefs[2] |
|
#define ShortClassRef classRefs[3] |
|
#define IntegerClassRef classRefs[4] |
|
#define LongClassRef classRefs[5] |
|
#define FloatClassRef classRefs[6] |
|
#define DoubleClassRef classRefs[7] |
|
#define UnsignedInt8ClassRef classRefs[8] |
|
#define UnsignedInt16ClassRef classRefs[9] |
|
#define UnsignedInt32ClassRef classRefs[10] |
|
#define UnsignedInt64ClassRef classRefs[11] |
|
#define CIMObjectPathClassRef classRefs[12] |
#define CIMExceptionClassRef classRefs[13] | #define CIMExceptionClassRef classRefs[13] |
|
#define BigIntegerClassRef classRefs[14] |
|
#define CIMPropertyClassRef classRefs[15] |
|
#define CIMOMHandleClassRef classRefs[16] |
#define CIMClassClassRef classRefs[17] | #define CIMClassClassRef classRefs[17] |
#define CIMInstanceClassRef classRefs[18] | #define CIMInstanceClassRef classRefs[18] |
#define CIMObjectPathClassRef classRefs[12] |
|
#define CIMPropertyClassRef classRefs[15] |
|
#define CIMValueClassRef classRefs[19] | #define CIMValueClassRef classRefs[19] |
#define CIMObjectClassRef classRefs[20] |
#define ObjectClassRef classRefs[20] |
#define ThrowableClassRef classRefs[21] | #define ThrowableClassRef classRefs[21] |
#define StringClassRef classRefs[22] | #define StringClassRef classRefs[22] |
|
#define JarClassLoaderClassRef classRefs[23] |
|
#define CIMDateTimeClassRef classRefs[24] |
#define SelectExpClassRef classRefs[25] | #define SelectExpClassRef classRefs[25] |
|
#define CIMQualifierClassRef classRefs[26] |
|
#define CIMQualifierTypeClassRef classRefs[27] |
|
#define CIMFlavorClassRef classRefs[28] |
#define CIMArgumentClassRef classRefs[29] | #define CIMArgumentClassRef classRefs[29] |
|
#define CIMInstanceExceptionClassRef classRefs[30] |
|
|
|
#define BigIntegerValueOf staticMethodIDs[0] |
|
#define JarClassLoaderLoad staticMethodIDs[1] |
| |
#define VectorNew instMethodIDs[0] | #define VectorNew instMethodIDs[0] |
#define VectorAddElement instMethodIDs[15] | #define VectorAddElement instMethodIDs[15] |
#define VectorElementAt instMethodIDs[16] | #define VectorElementAt instMethodIDs[16] |
#define VectorSize instMethodIDs[28] |
#define VectorRemoveElementAt instMethodIDs[30] |
#define CIMOMHandleNewI instMethodIDs[17] |
#define VectorSize instMethodIDs[27] |
#define CIMExceptionNewS instMethodIDs[18] |
#define BooleanNewZ instMethodIDs[1] |
|
#define ByteNewB instMethodIDs[2] |
|
#define ShortNewS instMethodIDs[3] |
|
#define IntegerNewI instMethodIDs[4] |
|
#define LongNewJ instMethodIDs[5] |
|
#define FloatNewF instMethodIDs[6] |
|
#define DoubleNewD instMethodIDs[7] |
|
#define UnsignedInt8NewS instMethodIDs[8] |
|
#define UnsignedInt16NewI instMethodIDs[9] |
|
#define UnsignedInt32NewJ instMethodIDs[10] |
|
#define UnsignedInt64NewBi instMethodIDs[11] |
|
#define CIMObjectPathNewI instMethodIDs[12] |
|
#define CIMObjectPathCInst instMethodIDs[21] |
|
#define CIMExceptionNewSt instMethodIDs[13] |
|
#define CIMExceptionNewISt instMethodIDs[32] |
|
#define CIMExceptionNewI instMethodIDs[18] |
|
#define CIMExceptionNew instMethodIDs[41] |
|
#define CIMExceptionNewStOb instMethodIDs[42] |
|
#define CIMExceptionNewStObOb instMethodIDs[43] |
|
#define CIMExceptionNewStObObOb instMethodIDs[44] |
|
#define CIMExceptionGetCode instMethodIDs[33] |
|
#define CIMExceptionGetID instMethodIDs[26] |
|
#define CIMPropertyNewI instMethodIDs[14] |
|
#define CIMPropertyCInst instMethodIDs[28] |
|
#define CIMOMHandleNewISt instMethodIDs[17] |
|
#define CIMOMHandleGetClass instMethodIDs[29] |
#define CIMClassNewI instMethodIDs[19] | #define CIMClassNewI instMethodIDs[19] |
|
#define CIMClassCInst instMethodIDs[23] |
#define CIMInstanceNewI instMethodIDs[20] | #define CIMInstanceNewI instMethodIDs[20] |
#define CIMObjectPathNewI instMethodIDs[21] |
#define CIMInstanceCInst instMethodIDs[22] |
#define CIMObjectPathCInst instMethodIDs[22] |
#define CIMValueNewI instMethodIDs[45] |
#define CIMInstanceCInst instMethodIDs[23] |
#define CIMValueCInst instMethodIDs[31] |
#define ObjectToString instMethodIDs[25] |
#define CIMDateTimeNewI instMethodIDs[34] |
#define ThrowableGetMessage instMethodIDs[26] |
|
#define CIMExceptionGetID instMethodIDs[27] |
|
#define CIMExceptionGetCode instMethodIDs[34] |
|
#define PropertyCInst instMethodIDs[29] |
|
#define VectorRemoveElementAt instMethodIDs[31] |
|
#define CIMPropertyNewI instMethodIDs[14] |
|
#define CIMValueCInst instMethodIDs[32] |
|
#define SelectExpNewI instMethodIDs[35] | #define SelectExpNewI instMethodIDs[35] |
#define ArgumentCInst instMethodIDs[39] |
#define CIMQualifierNewI instMethodIDs[36] |
|
#define CIMFlavorNewI instMethodIDs[37] |
|
#define CIMFlavorGetFlavor instMethodIDs[38] |
#define CIMArgumentNewI instMethodIDs[40] | #define CIMArgumentNewI instMethodIDs[40] |
|
#define CIMArgumentCInst instMethodIDs[39] |
|
#define ObjectToString instMethodIDs[24] |
|
#define ThrowableGetMessage instMethodIDs[25] |
| |
//extern "C" JNIEnv* attachThread(JvmVector**); | //extern "C" JNIEnv* attachThread(JvmVector**); |
//extern "C" void detachThread(); | //extern "C" void detachThread(); |
|
|
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |
| |
#endif | #endif |
|
|