if (m_pModule) { m_pModule->AddRef(); return( m_pModule);
NS_PRECONDITION(_retval != nsnull, "null ptr"); if (!_retval) return NS_ERROR_NULL_POINTER; *_retval = nsnull;  DoDiscover(); if (!m_pModules) return( NS_ERROR_FAILURE);  if ((index < 0) || (index >= m_pModules->GetCount())) return( NS_ERROR_FAILURE);  ImportModuleDesc *	pDesc; PRInt32	count = 0; for (PRInt32 i = 0; i < m_pModules->GetCount(); i++) { pDesc = m_pModules->GetModuleDesc( i); if (pDesc->SupportsThings( filter)) { if (count == index) { *_retval = pDesc->GetModule(); break; } else count++; }
nsIImportModule *ImportModuleDesc::GetModule( PRBool keepLoaded){	if (m_pModule) {		m_pModule->AddRef();		return( m_pModule);	}		nsresult	rv;   	NS_WITH_SERVICE( nsIComponentManager, compMgr, kComponentManagerCID, &rv);	if (NS_FAILED(rv)) return nsnull;		rv = compMgr->CreateInstance( m_cid, nsnull, kImportModuleIID, (void **) &m_pModule);	if (NS_FAILED(rv)) {		m_pModule = nsnull;		return nsnull;	}		if (keepLoaded) {		m_pModule->AddRef();		return( m_pModule);	}	else {		nsIImportModule *pModule = m_pModule;		m_pModule = nsnull;		return( pModule);	}}