72 lines
1.7 KiB
C++
72 lines
1.7 KiB
C++
#ifndef __nsJavaDOMImpl_h__
|
|
#define __nsJavaDOMImpl_h__
|
|
|
|
#include "jni.h"
|
|
#include "nsIJavaDOM.h"
|
|
#ifdef JAVA_DOM_OJI_ENABLE
|
|
#include "nsJVMManager.h"
|
|
#include "JavaDOMSecurityContext.h"
|
|
#endif
|
|
|
|
class nsIURI;
|
|
class nsIDOMDocument;
|
|
class nsIDocumentLoader;
|
|
|
|
class nsJavaDOMImpl : public nsIJavaDOM {
|
|
NS_DECL_ISUPPORTS
|
|
|
|
public:
|
|
nsJavaDOMImpl();
|
|
virtual ~nsJavaDOMImpl();
|
|
|
|
NS_DECL_NSIWEBPROGRESSLISTENER
|
|
|
|
NS_IMETHOD HandleUnknownContentType(nsIDocumentLoader* loader,
|
|
nsIChannel* channel,
|
|
const char *aContentType,
|
|
const char *aCommand);
|
|
|
|
protected:
|
|
|
|
/**
|
|
|
|
* Called from our nsIWebProgressListener.OnStateChanged()
|
|
|
|
*/
|
|
|
|
NS_IMETHOD doStartDocumentLoad(const PRUnichar *documentName);
|
|
NS_IMETHOD doEndDocumentLoad(nsIWebProgress *aWebProgress,
|
|
nsIRequest *aRequest, PRUint32 aStatus);
|
|
NS_IMETHOD doStartURLLoad(nsIWebProgress *aWebProgress,
|
|
nsIRequest *aRequest);
|
|
NS_IMETHOD doEndURLLoad(nsIWebProgress *aWebProgress,
|
|
nsIRequest *aRequest, PRUint32 aStatus);
|
|
|
|
private:
|
|
#ifdef JAVA_DOM_OJI_ENABLE
|
|
static nsJVMManager* jvmManager;
|
|
static JavaDOMSecurityContext* securityContext;
|
|
#else
|
|
static JavaVM* jvm;
|
|
#endif
|
|
|
|
static jclass domAccessorClass;
|
|
|
|
static jmethodID startURLLoadMID;
|
|
static jmethodID endURLLoadMID;
|
|
static jmethodID progressURLLoadMID;
|
|
static jmethodID statusURLLoadMID;
|
|
static jmethodID startDocumentLoadMID;
|
|
static jmethodID endDocumentLoadMID;
|
|
|
|
static JNIEnv* GetJNIEnv(void);
|
|
static void StartJVM(void);
|
|
static PRBool Init(JNIEnv**);
|
|
// cleanup after a JNI method invocation
|
|
static PRBool Cleanup(JNIEnv* env);
|
|
nsresult GetDocument(nsIWebProgress* aWebProgress,
|
|
nsIDOMDocument **aResult);
|
|
};
|
|
|
|
#endif /* __nsJavaDOMImpl_h__ */
|