NS_IMETHODIMP nsProfile::DeleteProfile(const PRUnichar* profileName, PRBool canDeleteFiles)
NS_IMETHODIMP nsProfile::DeleteProfile(const char* profileName, const char* canDeleteFiles)
NS_IMETHODIMP nsProfile::DeleteProfile(const PRUnichar* profileName, PRBool canDeleteFiles){    NS_ENSURE_ARG_POINTER(profileName);       nsresult rv = NS_OK;     rv = ForgetCurrentProfile();    if (NS_FAILED(rv)) return rv;        // If user asks for it, delete profile directory    if (canDeleteFiles) {        nsFileSpec profileDirSpec;                nsCOMPtr<nsIFile> profileDir;        rv = GetProfileDir(profileName, getter_AddRefs(profileDir));        if (NS_FAILED(rv)) return rv;                nsCOMPtr<nsILocalFile> localProfileDir(do_QueryInterface(profileDir));        if (!localProfileDir) return NS_ERROR_FAILURE;        rv = DeleteUserDirectories(localProfileDir);        if (NS_FAILED(rv)) return rv;    }    // Remove the subtree from the registry.    gProfileDataAccess->RemoveSubTree(profileName);    if (NS_FAILED(rv)) return rv;    gProfileDataAccess->mProfileDataChanged = PR_TRUE;    gProfileDataAccess->UpdateRegistry(nsnull);    return rv;}