#ifndef _node_java_h_
#define _node_java_h_
#include
#include
#include
#include
class Java : public node::ObjectWrap {
public:
static void Init(v8::Handle target);
JavaVM* getJvm() { return m_jvm; }
JNIEnv* getJavaEnv() { return m_env; }
jobject getClassLoader() { return m_classLoader; }
private:
Java();
~Java();
v8::Handle createJVM(JavaVM** jvm, JNIEnv** env);
static v8::Handle New(const v8::Arguments& args);
static v8::Handle getClassLoader(const v8::Arguments& args);
static v8::Handle newInstance(const v8::Arguments& args);
static v8::Handle newInstanceSync(const v8::Arguments& args);
static v8::Handle newProxy(const v8::Arguments& args);
static v8::Handle callStaticMethod(const v8::Arguments& args);
static v8::Handle callStaticMethodSync(const v8::Arguments& args);
static v8::Handle findClassSync(const v8::Arguments& args);
static v8::Handle newArray(const v8::Arguments& args);
static v8::Handle newByte(const v8::Arguments& args);
static v8::Handle getStaticFieldValue(const v8::Arguments& args);
static v8::Handle setStaticFieldValue(const v8::Arguments& args);
v8::Handle ensureJvm();
static v8::Persistent s_ct;
JavaVM* m_jvm;
JNIEnv* m_env;
jobject m_classLoader;
std::string m_classPath;
};
#endif