nsresult nsAbAddressCollecter::SetNamesForCard(nsIAbCard *senderCard, const char *fullName, PRBool *aModifiedCard) { char *firstName = nsnull; char *lastName = nsnull; *aModifiedCard = PR_FALSE; nsXPIDLString displayName; nsresult rv = senderCard->GetDisplayName(getter_Copies(displayName)); NS_ENSURE_SUCCESS(rv,rv); // we already have a display name, so don't do anything if (!displayName.IsEmpty()) return NS_OK; senderCard->SetDisplayName(NS_ConvertUTF8toUCS2(fullName).get()); *aModifiedCard = PR_TRUE; rv = SplitFullName(fullName, &firstName, &lastName); if (NS_SUCCEEDED(rv)) { senderCard->SetFirstName(NS_ConvertUTF8toUCS2(firstName).get()); if (lastName) senderCard->SetLastName(NS_ConvertUTF8toUCS2(lastName).get()); } PR_FREEIF(firstName); PR_FREEIF(lastName); return rv; }
// Returns true if the card was modified successfully. bool nsAbAddressCollector::SetNamesForCard(nsIAbCard *aSenderCard, const nsACString &aFullName) { nsCString firstName; nsCString lastName; bool modifiedCard = false; if (NS_SUCCEEDED(aSenderCard->SetDisplayName(NS_ConvertUTF8toUTF16(aFullName)))) modifiedCard = true; // Now split up the full name. SplitFullName(nsCString(aFullName), firstName, lastName); if (!firstName.IsEmpty() && NS_SUCCEEDED(aSenderCard->SetFirstName(NS_ConvertUTF8toUTF16(firstName)))) modifiedCard = true; if (!lastName.IsEmpty() && NS_SUCCEEDED(aSenderCard->SetLastName(NS_ConvertUTF8toUTF16(lastName)))) modifiedCard = true; if (modifiedCard) aSenderCard->SetPropertyAsBool("PreferDisplayName", false); return modifiedCard; }
// Returns true if the card was modified successfully. PRBool nsAbAddressCollector::SetNamesForCard(nsIAbCard *aSenderCard, const nsACString &aFullName) { nsCString firstName; nsCString lastName; PRBool modifiedCard = PR_FALSE; if (NS_SUCCEEDED(aSenderCard->SetDisplayName(NS_ConvertUTF8toUTF16(aFullName)))) modifiedCard = PR_TRUE; // Now split up the full name. SplitFullName(nsCString(aFullName), firstName, lastName); if (!firstName.IsEmpty() && NS_SUCCEEDED(aSenderCard->SetFirstName(NS_ConvertUTF8toUTF16(firstName)))) modifiedCard = PR_TRUE; if (!lastName.IsEmpty() && NS_SUCCEEDED(aSenderCard->SetLastName(NS_ConvertUTF8toUTF16(lastName)))) modifiedCard = PR_TRUE; return modifiedCard; }