QList<CContactItemField *> CntTransformOnlineAccount::transformDetailL(const QContactDetail &detail) { if(detail.definitionName() != QContactOnlineAccount::DefinitionName) User::Leave(KErrArgument); QList<CContactItemField *> fieldList; //cast to phonenumber const QContactOnlineAccount &onlineAccount(static_cast<const QContactOnlineAccount&>(detail)); //get the subType QStringList subTypes = onlineAccount.subTypes(); //no subtype if(!subTypes.count()) { User::LeaveIfError(KErrArgument); } else if (subTypes.contains(QContactOnlineAccount::SubTypeSipVoip)) { //internet transformToTextFieldL(onlineAccount, fieldList, onlineAccount.accountUri(), KUidContactFieldSIPID, KUidContactFieldVCardMapVOIP, false); } else if (subTypes.contains(QContactOnlineAccount::SubTypeVideoShare)) { //share video transformToTextFieldL( onlineAccount, fieldList, onlineAccount.accountUri(), KUidContactFieldSIPID, KUidContactFieldVCardMapSWIS, false); } else if (subTypes.contains(QContactOnlineAccount::SubTypeSip)) { //sip transformToTextFieldL( onlineAccount, fieldList, onlineAccount.accountUri(), KUidContactFieldSIPID, KUidContactFieldVCardMapSIPID, false); } else { User::LeaveIfError(KErrNotSupported); } return fieldList; }
QList<CContactItemField *> CntTransformFamily::transformDetailL(const QContactDetail &detail) { if(detail.definitionName() != QContactFamily::DefinitionName) User::Leave(KErrArgument); QList<CContactItemField *> fieldList; //cast to family const QContactFamily &family(static_cast<const QContactFamily&>(detail)); //create new fields without contexts transformToTextFieldL(family, fieldList, family.spouse(), KUidContactFieldSpouse, KUidContactFieldVCardMapSpouse, false); foreach(const QString& childName, family.children()) { transformToTextFieldL(family, fieldList, childName, KUidContactFieldChildren, KUidContactFieldVCardMapChildren, false); } return fieldList; }
QList<CContactItemField *> CntTransformOrganisation::transformDetailL(const QContactDetail &detail) { if(detail.definitionName() != QContactOrganization::DefinitionName) User::Leave(KErrArgument); QList<CContactItemField *> fieldList; //cast to orgenisation const QContactOrganization &orgDetails(static_cast<const QContactOrganization&>(detail)); //create new fields without contexts transformToTextFieldL(orgDetails, fieldList, orgDetails.name(), KUidContactFieldCompanyName, KUidContactFieldVCardMapORG, false); QStringList departments = orgDetails.department(); if(departments.count()) // Take only the first department transformToTextFieldL(orgDetails, fieldList, departments[0], KUidContactFieldDepartmentName, KUidContactFieldVCardMapDepartment, false); transformToTextFieldL(orgDetails, fieldList, orgDetails.title(), KUidContactFieldJobTitle, KUidContactFieldVCardMapTITLE, false); transformToTextFieldL(orgDetails, fieldList, orgDetails.assistantName(), KUidContactFieldAssistant, KUidContactFieldVCardMapAssistant, false); return fieldList; }
QList<CContactItemField *> CntTransformNickname::transformDetailL(const QContactDetail &detail) { if(detail.definitionName() != QContactNickname::DefinitionName) User::Leave(KErrArgument); QList<CContactItemField *> fieldList; //cast to name const QContactNickname &name(static_cast<const QContactNickname &>(detail)); //create new field without contexts transformToTextFieldL(name, fieldList, name.nickname(), KUidContactFieldSecondName, KUidContactFieldVCardMapSECONDNAME, false); return fieldList; }
QList<CContactItemField *> CntTransformGender::transformDetailL(const QContactDetail &detail) { if(detail.definitionName() != QContactGender::DefinitionName) User::Leave(KErrArgument); QList<CContactItemField *> fieldList; //cast to gender const QContactGender &gender(static_cast<const QContactGender&>(detail)); //create new field without contexts transformToTextFieldL(gender, fieldList, gender.gender(), KUidContactFieldGender, KUidContactFieldVCardMapUnknown, false); return fieldList; }
QList<CContactItemField *> CntTransformNote::transformDetailL(const QContactDetail &detail) { if(detail.definitionName() != QContactNote::DefinitionName) User::Leave(KErrArgument); QList<CContactItemField *> fieldList; //cast to note const QContactNote ¬e(static_cast<const QContactNote&>(detail)); //create new fields without contexts transformToTextFieldL(note, fieldList, note.note(), KUidContactFieldNote, KUidContactFieldVCardMapNOTE, false); return fieldList; }
QList<CContactItemField *> CntTransformName::transformDetailL(const QContactDetail &detail) { if(detail.definitionName() != QContactName::DefinitionName) User::Leave(KErrArgument); QList<CContactItemField *> fieldList; //cast to name const QContactName &name(static_cast<const QContactName&>(detail)); //create new fields without contexts transformToTextFieldL(name, fieldList, name.prefix(), KUidContactFieldPrefixName, KUidContactFieldVCardMapUnusedN, false); transformToTextFieldL(name, fieldList, name.firstName(), KUidContactFieldGivenName, KUidContactFieldVCardMapUnusedN, false); transformToTextFieldL(name, fieldList, name.middleName(), KUidContactFieldAdditionalName, KUidContactFieldVCardMapUnusedN, false); transformToTextFieldL(name, fieldList, name.lastName(), KUidContactFieldFamilyName, KUidContactFieldVCardMapUnusedN, false); transformToTextFieldL(name, fieldList, name.suffix(), KUidContactFieldSuffixName, KUidContactFieldVCardMapUnusedN, false); transformToTextFieldL(name, fieldList, name.customLabel(), KUidContactFieldTemplateLabel, KUidContactFieldVCardMapUnusedN, false); return fieldList; }