本文整理汇总了C++中CContactItem::UpdateFieldSet方法的典型用法代码示例。如果您正苦于以下问题:C++ CContactItem::UpdateFieldSet方法的具体用法?C++ CContactItem::UpdateFieldSet怎么用?C++ CContactItem::UpdateFieldSet使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CContactItem
的用法示例。
在下文中一共展示了CContactItem::UpdateFieldSet方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PhonebookWriteReqL
//.........这里部分代码省略.........
for (s = 0; s < name.Length() && name[s] != ' '; s++) ;
if (s >= 1 && s < name.Length()) {
family_name.Set(name.Ptr(), s);
given_name.Set(name.Ptr() + s + 1, name.Length() - s - 1);
} else {
family_name.Set(name);
}
if (family_name.Length() > 0) {
field = CContactItemField::NewL(KStorageTypeText, KUidContactFieldFamilyName);
//field->SetLabelL(_L("alma"));
field->SetMapping(KUidContactFieldVCardMapUnusedN);
field->TextStorage()->SetTextL(family_name);
fieldset->AddL(*field);
}
if (given_name.Length() > 0) {
field = CContactItemField::NewL(KStorageTypeText, KUidContactFieldGivenName);
//field->SetLabelL(_L("alma"));
field->SetMapping(KUidContactFieldVCardMapUnusedN);
field->TextStorage()->SetTextL(given_name);
fieldset->AddL(*field);
}
break;
case GN_PHONEBOOK_ENTRY_Email:
field = CContactItemField::NewL(KStorageTypeText, KUidContactFieldEMail);
field->SetMapping(KUidContactFieldVCardMapEMAILINTERNET);
field->TextStorage()->SetTextL(name);
fieldset->AddL(*field);
break;
case GN_PHONEBOOK_ENTRY_Note:
field = CContactItemField::NewL(KStorageTypeText, KUidContactFieldNote);
field->SetMapping(KUidContactFieldVCardMapNOTE);
field->TextStorage()->SetTextL(name);
fieldset->AddL(*field);
break;
case GN_PHONEBOOK_ENTRY_Number:
if (subtype == GN_PHONEBOOK_NUMBER_Fax) {
field = CContactItemField::NewL(KStorageTypeText, KUidContactFieldFax);
field->SetMapping(KUidContactFieldVCardMapTEL);
field->AddFieldTypeL(KUidContactFieldVCardMapFAX);
} else {
field = CContactItemField::NewL(KStorageTypeText, KUidContactFieldPhoneNumber);
field->SetMapping(KUidContactFieldVCardMapTEL);
switch (subtype) {
case GN_PHONEBOOK_NUMBER_Home:
field->AddFieldTypeL(KUidContactFieldVCardMapHOME);
break;
case GN_PHONEBOOK_NUMBER_Mobile:
field->AddFieldTypeL(KUidContactFieldVCardMapCELL);
break;
case GN_PHONEBOOK_NUMBER_Work:
field->AddFieldTypeL(KUidContactFieldVCardMapWORK);
break;
}
}
field->TextStorage()->SetTextL(name);
fieldset->AddL(*field);
break;
case GN_PHONEBOOK_ENTRY_Ringtone:
//field = CContactItemField::NewL(KStorageTypeText, KUidContactFieldRingTone);
//field->TextStorage()->SetTextL(name);
//fieldset->AddL(*field);
break;
case GN_PHONEBOOK_ENTRY_Group:
//field = CContactItemField::NewL(KStorageTypeText,
//field->TextStorage()->SetTextL(name);
//fieldset->AddL(*field);
break;
case GN_PHONEBOOK_ENTRY_URL:
field = CContactItemField::NewL(KStorageTypeText, KUidContactFieldUrl);
field->SetMapping(KUidContactFieldVCardMapURL);
field->TextStorage()->SetTextL(name);
fieldset->AddL(*field);
break;
default:
break;
}
}
in.FinishL();
TRAPD(error, item = g->cdb->OpenContactL(location));
if (error == KErrNone) {
item->UpdateFieldSet(fieldset);
CleanupStack::Pop(fieldset);
CleanupStack::PushL(item);
g->cdb->CommitContactL(*item);
} else {
item = CContactCard::NewL();
item->UpdateFieldSet(fieldset);
CleanupStack::Pop(fieldset);
CleanupStack::PushL(item);
location = g->cdb->AddNewContactL(*item);
}
CleanupStack::Pop(item);
out << (TUint16)GNAPPLET_MSG_PHONEBOOK_WRITE_RESP;
out << (TUint16)GN_ERR_NONE;
out << memtype;
out << location;
cons->Printf(_L("write: %d\n"), location);
}