Added |do_CreateInstance()|, |do_GetService()| both by CID and ProgID. See bugs #17364, #17448. r={travis, dp}
git-svn-id: svn://10.0.0.236/trunk@53045 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -96,13 +96,23 @@ static NS_DEFINE_CID(kNoCID, NS_NO_CID);
|
||||
|
||||
|
||||
nsresult
|
||||
nsCreateInstance::operator()( const nsIID& aIID, void** answer ) const
|
||||
nsCreateInstanceByCID::operator()( const nsIID& aIID, void** aInstancePtr ) const
|
||||
{
|
||||
nsresult status = nsComponentManager::CreateInstance(mCID, mOuter, aIID, aInstancePtr);
|
||||
|
||||
if ( mErrorPtr )
|
||||
*mErrorPtr = status;
|
||||
return status;
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsCreateInstanceByProgID::operator()( const nsIID& aIID, void** aInstancePtr ) const
|
||||
{
|
||||
nsresult status;
|
||||
if ( mFactory )
|
||||
status = mFactory->CreateInstance(mOuter, aIID, answer);
|
||||
if ( mProgID )
|
||||
status = nsComponentManager::CreateInstance(mProgID, mOuter, aIID, aInstancePtr);
|
||||
else
|
||||
status = NS_ERROR_NULL_POINTER;
|
||||
status = NS_ERROR_NULL_POINTER;
|
||||
|
||||
if ( mErrorPtr )
|
||||
*mErrorPtr = status;
|
||||
|
||||
Reference in New Issue
Block a user