TInt CContactTestSynchroniser::ValidateWriteContact(CContactICCEntry& aContactItem) { TRAPD(err, iContactSyncChecker->ValidateMethodCalledL() ); __ASSERT_ALWAYS(err == KErrNone, User::Invariant() ); TBool verboseLoggingEnabled(EFalse); TRAP(err, verboseLoggingEnabled = iContactSyncChecker->VerboseLoggingEnabledL() ); __ASSERT_ALWAYS(err == KErrNone, User::Invariant() ); if (verboseLoggingEnabled) { User::InfoPrint(_L("ValidateWriteContact")); } // Set the phonebook field, if the field doesn't exist, it should be added CContactItemFieldSet& fieldset = aContactItem.CardFields(); TInt n = fieldset.Find(KUidContactFieldICCPhonebook); if(n == KErrNotFound) { CContactItemField* field(NULL); TRAP_IGNORE(field = CContactItemField::NewL(KStorageTypeText, KUidContactFieldICCPhonebook) ); TRAP(err, aContactItem.AddFieldL(*field) ); CContactItemFieldSet& fieldset = aContactItem.CardFields(); n = fieldset.Find(KUidContactFieldICCPhonebook); __ASSERT_ALWAYS(err == KErrNone && n != KErrNotFound, User::Invariant() ); } CContactItemField& field = fieldset[n]; CContactTextField* textField = field.TextStorage(); TUid phonebookUid(TUid::Null() ); TRAP(err, phonebookUid = iContactSyncChecker->PhonebookUidL(aContactItem.TemplateRefId() ) ); __ASSERT_ALWAYS(err == KErrNone, User::Invariant() ); TBuf<128> buf; if(phonebookUid != KUidIccPhonebookNotFound) { TInt phonebookUidNum = phonebookUid.iUid; buf.AppendNum(phonebookUidNum); TRAP(err, textField->SetTextL(buf)); __ASSERT_ALWAYS(err == KErrNone, User::Invariant() ); } TBool validateWriteResponse(EFalse); TRAP(err, validateWriteResponse = iContactSyncChecker->ValidateWriteResponseL() ); __ASSERT_ALWAYS(err == KErrNone, User::Invariant() ); return validateWriteResponse; }