コード例 #1
0
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;
}
コード例 #2
0
// 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;
}
コード例 #3
0
// 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;
}