/* nsISimpleEnumerator GetTargets (in nsIRDFResource aSource, in nsIRDFResource property, in boolean aTruthValue); */ NS_IMETHODIMP nsMsgAccountManagerDataSource::GetTargets(nsIRDFResource *source, nsIRDFResource *property, PRBool aTruthValue, nsISimpleEnumerator **_retval) { nsresult rv = NS_RDF_NO_VALUE; // create array and enumerator // even if we're not handling this we need to return something empty? nsCOMPtr<nsISupportsArray> nodes; rv = NS_NewISupportsArray(getter_AddRefs(nodes)); if (NS_FAILED(rv)) return rv; rv = NS_NewArrayEnumerator(_retval, nodes); if (NS_FAILED(rv)) return rv; if (source == kNC_AccountRoot) rv = createRootResources(property, nodes); else if (property == kNC_Settings) rv = createSettingsResources(source, nodes); if (NS_FAILED(rv)) return NS_RDF_NO_VALUE; return NS_OK; }
/* nsISimpleEnumerator GetTargets (in nsIRDFResource aSource, in nsIRDFResource property, in boolean aTruthValue); */ NS_IMETHODIMP nsMsgAccountManagerDataSource::GetTargets(nsIRDFResource *source, nsIRDFResource *property, PRBool aTruthValue, nsISimpleEnumerator **_retval) { nsresult rv = NS_RDF_NO_VALUE; // create array and enumerator // even if we're not handling this we need to return something empty? nsCOMPtr<nsISupportsArray> nodes; rv = NS_NewISupportsArray(getter_AddRefs(nodes)); if (NS_FAILED(rv)) return rv; rv = NS_NewArrayEnumerator(_retval, nodes); if (NS_FAILED(rv)) return rv; #ifdef DEBUG_amds nsXPIDLCString source_value; rv = source->GetValue(getter_Copies(source_value)); nsXPIDLCString property_arc; rv = property->GetValue(getter_Copies(property_arc)); if (NS_FAILED(rv)) return rv; printf("GetTargets(%s with arc %s...)\n", (const char*)source_value, (const char*)property_arc); #endif if (source == kNC_AccountRoot) rv = createRootResources(property, nodes); else if (property == kNC_Settings) rv = createSettingsResources(source, nodes); if (NS_FAILED(rv)) return NS_RDF_NO_VALUE; return NS_OK; }