NS_IMETHODIMP nsContentDLF::UnregisterDocumentFactories(nsIComponentManager* aCompMgr, nsIFile* aPath, const char* aRegistryLocation, const nsModuleComponentInfo* aInfo) { nsresult rv; nsCOMPtr<nsICategoryManager> catmgr(do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv)); if (NS_FAILED(rv)) return rv; do { rv = UnregisterTypes(catmgr, gHTMLTypes); if (NS_FAILED(rv)) break; rv = UnregisterTypes(catmgr, gXMLTypes); if (NS_FAILED(rv)) break; #ifdef MOZ_SVG rv = UnregisterTypes(catmgr, gSVGTypes); if (NS_FAILED(rv)) break; #endif rv = UnregisterTypes(catmgr, gXULTypes); if (NS_FAILED(rv)) break; } while (PR_FALSE); return rv; }
nsresult nsStreamConverterService::BuildGraph() { nsresult rv; nsCOMPtr<nsICategoryManager> catmgr(do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv)); if (NS_FAILED(rv)) return rv; nsCOMPtr<nsISimpleEnumerator> entries; rv = catmgr->EnumerateCategory(NS_ISTREAMCONVERTER_KEY, getter_AddRefs(entries)); if (NS_FAILED(rv)) return rv; // go through each entry to build the graph nsCOMPtr<nsISupportsCString> entry; rv = entries->GetNext(getter_AddRefs(entry)); while (NS_SUCCEEDED(rv)) { // get the entry string nsAutoCString entryString; rv = entry->GetData(entryString); if (NS_FAILED(rv)) return rv; // cobble the entry string w/ the converter key to produce a full contractID. nsAutoCString contractID(NS_ISTREAMCONVERTER_KEY); contractID.Append(entryString); // now we've got the CONTRACTID, let's parse it up. rv = AddAdjacency(contractID.get()); if (NS_FAILED(rv)) return rv; rv = entries->GetNext(getter_AddRefs(entry)); } return NS_OK; }
NS_IMETHODIMP nsContentDLF::UnregisterSVG() { nsresult rv; nsCOMPtr<nsICategoryManager> catmgr(do_GetService(NS_CATEGORYMANAGER_CONTRACTID, &rv)); if (NS_FAILED(rv)) return rv; return UnregisterTypes(catmgr, gSVGTypes); }