From d57d28686752f26a5f115e2f855c2bf3588ba875 Mon Sep 17 00:00:00 2001 From: "pedemont%us.ibm.com" Date: Wed, 27 Sep 2006 15:17:17 +0000 Subject: [PATCH] Reorganize bindings methods. Also, properly check error conditions in those methods. Original committer: pedemont%us.ibm.com Original revision: 1.21 Original date: 2005/01/14 00:09:49 git-svn-id: svn://10.0.0.236/trunk@212593 18797224-902f-48f8-a5cc-f745e15eee43 --- .../java/xpcom/src/nsJavaXPTCStub.cpp | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/mozilla/extensions/java/xpcom/src/nsJavaXPTCStub.cpp b/mozilla/extensions/java/xpcom/src/nsJavaXPTCStub.cpp index 1f259c1446e..8d135f900fd 100644 --- a/mozilla/extensions/java/xpcom/src/nsJavaXPTCStub.cpp +++ b/mozilla/extensions/java/xpcom/src/nsJavaXPTCStub.cpp @@ -53,7 +53,7 @@ nsJavaXPTCStub::nsJavaXPTCStub(JNIEnv* aJavaEnv, jobject aJavaObject, { mJavaObject = aJavaEnv->NewGlobalRef(aJavaObject); -#ifdef DEBUG +#ifdef DEBUG_pedemonte jboolean isCopy = PR_FALSE; jstring name; const char* javaObjectName = nsnull; @@ -85,7 +85,7 @@ nsJavaXPTCStub::nsJavaXPTCStub(JNIEnv* aJavaEnv, jobject aJavaObject, nsJavaXPTCStub::~nsJavaXPTCStub() { -#ifdef DEBUG +#ifdef DEBUG_pedemonte jboolean isCopy = PR_FALSE; jstring name; const char* javaObjectName = nsnull; @@ -108,7 +108,7 @@ nsJavaXPTCStub::~nsJavaXPTCStub() delete (nsJavaXPTCStub*) mChildren[i]; } - RemoveJavaXPCOMBinding(mJavaEnv, mJavaObject, this); + gBindings->RemoveBinding(mJavaEnv, mJavaObject, this); } mJavaEnv->DeleteGlobalRef(mJavaObject); @@ -205,9 +205,10 @@ nsJavaXPTCStub::QueryInterface(const nsID &aIID, void **aInstancePtr) } // construct IID string + jstring iid_jstr = nsnull; char* iid_str = aIID.ToString(); if (iid_str) { - jstring iid_jstr = mJavaEnv->NewStringUTF(iid_str); + iid_jstr = mJavaEnv->NewStringUTF(iid_str); } if (!iid_str || !iid_jstr) { mJavaEnv->ExceptionClear(); @@ -312,7 +313,7 @@ nsJavaXPTCStub::CallMethod(PRUint16 aMethodIndex, const nsXPTMethodInfo *aMethodInfo, nsXPTCMiniVariant *aParams) { -#ifdef DEBUG +#ifdef DEBUG_pedemonte const char* ifaceName; mIInfo->GetNameShared(&ifaceName); LOG(("nsJavaXPTCStub::CallMethod [%s::%s]\n", ifaceName, aMethodInfo->GetName())); @@ -820,7 +821,7 @@ nsJavaXPTCStub::SetupJavaParams(const nsXPTParamInfo &aParamInfo, jobject java_stub = nsnull; if (xpcom_obj) { - java_stub = GetMatchingJavaObject(mJavaEnv, xpcom_obj); + java_stub = gBindings->GetJavaObject(mJavaEnv, xpcom_obj); if (java_stub == nsnull) { // wrap xpcom instance @@ -845,7 +846,9 @@ nsJavaXPTCStub::SetupJavaParams(const nsXPTParamInfo &aParamInfo, if (java_stub) { // Associate XPCOM object w/ Java stub - AddJavaXPCOMBinding(mJavaEnv, java_stub, inst); + rv = gBindings->AddBinding(mJavaEnv, java_stub, inst); + if (NS_FAILED(rv)) + break; } } } @@ -1366,7 +1369,7 @@ nsJavaXPTCStub::FinalizeJavaParams(const nsXPTParamInfo &aParamInfo, nsISupports** variant = NS_STATIC_CAST(nsISupports**, aVariant.val.p); if (java_obj) { // Check if we already have a corresponding XPCOM object - void* inst = GetMatchingXPCOMObject(mJavaEnv, java_obj); + void* inst = gBindings->GetXPCOMObject(mJavaEnv, java_obj); // Get IID for this param nsID iid; @@ -1394,7 +1397,9 @@ nsJavaXPTCStub::FinalizeJavaParams(const nsXPTParamInfo &aParamInfo, break; } inst = SetAsXPTCStub(xpcomStub); - AddJavaXPCOMBinding(mJavaEnv, java_obj, inst); + rv = gBindings->AddBinding(mJavaEnv, java_obj, inst); + if (NS_FAILED(rv)) + break; } // Get appropriate XPCOM object