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:
scc%netscape.com
1999-11-10 00:14:54 +00:00
parent 34b13b24f7
commit 9fec22a94d
5 changed files with 231 additions and 4 deletions

View File

@@ -28,6 +28,29 @@
static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID);
nsresult
nsGetServiceByCID::operator()( const nsIID& aIID, void** aInstancePtr ) const
{
nsresult status = nsServiceManager::GetService(mCID, aIID, NS_REINTERPRET_CAST(nsISupports**, aInstancePtr), 0);
if ( mErrorPtr )
*mErrorPtr = status;
return status;
}
nsresult
nsGetServiceByProgID::operator()( const nsIID& aIID, void** aInstancePtr ) const
{
nsresult status;
if ( mProgID )
status = nsServiceManager::GetService(mProgID, aIID, NS_REINTERPRET_CAST(nsISupports**, aInstancePtr), 0);
else
status = NS_ERROR_NULL_POINTER;
if ( mErrorPtr )
*mErrorPtr = status;
return status;
}
class nsServiceEntry {
public: