Only master XPTCStub should hold strong ref to Java object. Not part of default build.

Original committer: pedemont%us.ibm.com
Original revision: 1.5
Original date: 2004/10/07 15:11:34
This commit is contained in:
pedemont%us.ibm.com 2006-09-27 15:16:45 +00:00
parent 9f15129c7a
commit e9950947e9

View File

@ -54,7 +54,8 @@ public:
NS_DECL_ISUPPORTS
NS_DECL_NSISUPPORTSWEAKREFERENCE
nsJavaXPTCStub(JNIEnv* aJavaEnv, jobject aJavaObject, nsIInterfaceInfo *aIInfo);
nsJavaXPTCStub(JNIEnv* aJavaEnv, jobject aJavaObject,
nsIInterfaceInfo *aIInfo, nsJavaXPTCStub* aMaster = nsnull);
virtual ~nsJavaXPTCStub();
@ -67,6 +68,9 @@ public:
const nsXPTMethodInfo *aInfo,
nsXPTCMiniVariant *aParams);
// getter for mJavaObject
jobject GetJavaObject();
private:
// NS_HIDDEN ~JavaStub();
@ -94,11 +98,11 @@ private:
jvalue &aJValue);
nsresult SetXPCOMRetval();
JNIEnv* mJavaEnv;
jobject mJavaObject;
nsCOMPtr<nsIInterfaceInfo> mIInfo;
JNIEnv* mJavaEnv;
jobject mJavaObject;
nsCOMPtr<nsIInterfaceInfo> mIInfo;
nsVoidArray mChildren; // weak references (cleared by the children)
nsVoidArray mChildren; // weak references (cleared by the children)
nsJavaXPTCStub *mMaster; // strong reference
};