rv = compMgr->UnregisterComponent(kNNTPProtocolCID, path); if (NS_FAILED(rv)) goto done;  rv = compMgr->UnregisterComponent(kNNTPNewsgroupCID, path); if (NS_FAILED(rv)) goto done;  rv = compMgr->UnregisterComponent(kNNTPNewsgroupPostCID, path); if (NS_FAILED(rv)) goto done;  rv = compMgr->UnregisterComponent(kNNTPNewsgroupListCID, path); if (NS_FAILED(rv)) goto done;
NSUnregisterSelf(nsISupports* aServMgr, const char* path){	nsresult rv;	nsCOMPtr<nsIServiceManager> servMgr(do_QueryInterface(aServMgr, &rv));	if (NS_FAILED(rv)) return rv;	nsIComponentManager* compMgr;	rv = servMgr->GetService(kComponentManagerCID, nsIComponentManager::GetIID(), (nsISupports**)&compMgr);	if (NS_FAILED(rv)) return rv;	rv = compMgr->UnregisterComponent(kNntpUrlCID, path);	if (NS_FAILED(rv)) goto done;	rv = compMgr->UnregisterComponent(kNntpServiceCID, path);	if (NS_FAILED(rv)) goto done;	rv = compMgr->UnregisterComponent(kNewsFolderResourceCID, path);	if (NS_FAILED(rv)) goto done;	rv = compMgr->UnregisterComponent(kNntpIncomingServerCID, path);	if (NS_FAILED(rv)) goto done;	rv = compMgr->UnregisterComponent(kNewsMessageResourceCID, path);	if (NS_FAILED(rv)) goto done;done:	(void)servMgr->ReleaseService(kComponentManagerCID, compMgr);	return rv;}