Implement IID for nsJavaXPTCStub. Return associated Java object if returning nsJavaXPTCStub.

Original committer: pedemont%us.ibm.com
Original revision: 1.13
Original date: 2004/10/18 17:04:29


git-svn-id: svn://10.0.0.236/trunk@212474 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
pedemont%us.ibm.com
2006-09-27 15:06:38 +00:00
parent c15d7eac07
commit 83184eae2e

View File

@@ -142,10 +142,19 @@ nsJavaXPTCStub::QueryInterface(const nsID &aIID, void **aInstancePtr)
LOG("JavaStub::QueryInterface()\n");
nsJavaXPTCStub *master = mMaster ? mMaster : this;
// This helps us differentiate between the help classes.
if (aIID.Equals(NS_GET_IID(nsJavaXPTCStub)))
{
*aInstancePtr = master;
NS_ADDREF(this);
return NS_OK;
}
// always return the master stub for nsISupports
if (aIID.Equals(NS_GET_IID(nsISupports)))
{
*aInstancePtr = master;
*aInstancePtr = NS_STATIC_CAST(nsISupports*,
NS_STATIC_CAST(nsXPTCStubBase*, master));
NS_ADDREF(master);
return NS_OK;
}
@@ -153,7 +162,7 @@ nsJavaXPTCStub::QueryInterface(const nsID &aIID, void **aInstancePtr)
// All Java objects support weak references
if (aIID.Equals(NS_GET_IID(nsISupportsWeakReference)))
{
*aInstancePtr = (void*) NS_STATIC_CAST(nsISupportsWeakReference*, master);
*aInstancePtr = NS_STATIC_CAST(nsISupportsWeakReference*, master);
NS_ADDREF(master);
return NS_OK;
}
@@ -217,7 +226,7 @@ nsJavaXPTCStub::QueryInterface(const nsID &aIID, void **aInstancePtr)
}
*aInstancePtr = nsnull;
return NS_OK;
return NS_NOINTERFACE;
}
PRBool
@@ -618,7 +627,7 @@ nsJavaXPTCStub::SetupJavaParams(const nsXPTParamInfo &aParamInfo,
case nsXPTType::T_INTERFACE:
case nsXPTType::T_INTERFACE_IS:
{
jobject java_stub;
jobject java_stub = nsnull;
if (aVariant.val.p) {
java_stub = GetMatchingJavaObject(mJavaEnv, aVariant.val.p);
@@ -646,8 +655,6 @@ nsJavaXPTCStub::SetupJavaParams(const nsXPTParamInfo &aParamInfo,
}
}
}
} else {
java_stub = nsnull;
}
if (!aParamInfo.IsOut()) {