array->AppendElement(kRDF_type);
FileSystemDataSource::ArcLabelsOut(nsIRDFResource *source,				   nsISimpleEnumerator **labels /* out */){    NS_PRECONDITION(source != nsnull, "null ptr");    if (! source)	return NS_ERROR_NULL_POINTER;    NS_PRECONDITION(labels != nsnull, "null ptr");    if (! labels)	return NS_ERROR_NULL_POINTER;    nsresult rv;    if (source == kNC_FileSystemRoot) {	nsCOMPtr<nsISupportsArray> array;	rv = NS_NewISupportsArray(getter_AddRefs(array));	if (NS_FAILED(rv)) return rv;	array->AppendElement(kNC_Child);	array->AppendElement(kNC_pulse);	nsISimpleEnumerator* result = new nsArrayEnumerator(array);	if (! result)	    return NS_ERROR_OUT_OF_MEMORY;	NS_ADDREF(result);	*labels = result;	return NS_OK;    }    else if (isFileURI(source)) {	nsCOMPtr<nsISupportsArray> array;	rv = NS_NewISupportsArray(getter_AddRefs(array));	if (NS_FAILED(rv)) return rv;	if (isDirURI(source)) {#ifdef	XP_WIN	    if (isValidFolder(source) == PR_TRUE)	    {		array->AppendElement(kNC_Child);	    }#else	    array->AppendElement(kNC_Child);#endif	    array->AppendElement(kNC_pulse);	}	array->AppendElement(kRDF_type);	nsISimpleEnumerator* result = new nsArrayEnumerator(array);	if (! result)	    return NS_ERROR_OUT_OF_MEMORY;	NS_ADDREF(result);	*labels = result;	return NS_OK;    }    return NS_NewEmptyEnumerator(labels);}