/** Merging pure (minimal) contact with the template should be out of scope of the Persistence Layer. The only reason to have this functions in the test interface is that CContactItem::RestoreTemplateFieldsL() is not exported. */ void CLplTester::MergeContactWithTemplateL(CContactItem& aContact, const CContactItem& aTempl, const CContactItemViewDef& aView) const { if (aContact.TemplateRefId()!=KNullContactId && aContact.Type() != KUidContactCardTemplate) { aContact.RestoreTemplateFieldsL(iProps.SystemTemplateL().CardFields(), aTempl.CardFields(), aView); } }
TBool CPackagerCntComparator::Compare(const CContactItem& anItem1, const CContactItem& anItem2) const /** Compares two CContactItem items. @param anItem1 The first CContactItem to be compared. @param anItem2 The second CContactItem to be compared. @return ETrue if the two items are equal, EFalse otherwise. */ { return (DoCompareCContactItemType(anItem1, anItem2) & DoCompareCContactItemFieldSet(anItem1.CardFields(), anItem2.CardFields()) & DoCompareCContactItemAttribute(anItem1, anItem2) & DoCompareTContactItemId(anItem1.Id(), anItem2.Id()) & DoCompareTContactItemId(anItem1.TemplateRefId(), anItem2.TemplateRefId()) & DoCompareTTime(anItem1.LastModified(), anItem2.LastModified()) & DoCompareTTime(anItem1.iCreationDate, anItem2.iCreationDate) & DoCompareTInt(anItem1.AccessCount(), anItem2.AccessCount()) & DoCompareTPtrC(const_cast<CContactItem&>(anItem1).Guid(), const_cast<CContactItem&>(anItem2).Guid())); }
/** * Verify that the template was correctly added * @param aTemplate CContactCardTemplate template item */ void CheckTemplateL(CContactItem& aTemplate) { test(aTemplate.Type() == KUidContactCardTemplate); test(aTemplate.TemplateRefId() == KNullContactId); test(static_cast<CContactCardTemplate&>(aTemplate).GetTemplateLabelL() == KTemplateName); CContactItemFieldSet& fieldset = aTemplate.CardFields(); TInt pos = fieldset.Find(KUidContactFieldTemplateLabel); test(pos!=KErrNotFound); TInt count = fieldset.Count(); test(count==5); //label, name, number, ICC slot, phonebook }