NS_IMETHODIMP nsINIParserImpl::GetSections(nsIUTF8StringEnumerator* *aResult) { nsTArray<nsCString> *strings = new nsTArray<nsCString>; if (!strings) return NS_ERROR_OUT_OF_MEMORY; nsresult rv = mParser.GetSections(SectionCB, strings); if (NS_SUCCEEDED(rv)) rv = NS_NewUTF8StringEnumerator(aResult, strings); if (NS_FAILED(rv)) delete strings; return rv; }
NS_IMETHODIMP nsINIParserImpl::GetKeys(const nsACString& aSection, nsIUTF8StringEnumerator* *aResult) { nsTArray<nsCString> *strings = new nsTArray<nsCString>; if (!strings) return NS_ERROR_OUT_OF_MEMORY; nsresult rv = mParser.GetStrings(PromiseFlatCString(aSection).get(), KeyCB, strings); if (NS_SUCCEEDED(rv)) rv = NS_NewUTF8StringEnumerator(aResult, strings); if (NS_FAILED(rv)) delete strings; return rv; }
NS_IMETHODIMP nsMIMEInfoAndroid::GetFileExtensions(nsIUTF8StringEnumerator** aResult) { return NS_NewUTF8StringEnumerator(aResult, &mExtensions, this); }