/** * Test SetDbViewContactType can be used for KUidContactICCEntry items. * @param aDb Contact database */ void TestDatabaseViewL(CContactDatabase& /*aDb*/) { syncChecker->SetValidateResponseL(MContactSynchroniser::ERead,KErrNone); syncChecker->SetValidateWriteResponseL(KErrNone); CntTest->CloseDatabase(); CntTest->DeleteDatabaseL(); // re-initialise the TLS syncChecker->EnableVerboseLoggingL(); CntTest->CreateDatabaseL(); CntTest->OpenDatabaseL(); CContactDatabase& db= *CntTest->Db(); delete synchroniser; synchroniser = CContactTestSynchroniser::NewL(); // test with GSM ADN phonebook only //test(KErrNone == syncChecker->SetGsmPhonebook()); // Start from clean CContactItem* card = CContactCard::NewLC(); db.AddNewContactL(*card); db.CreateContactGroupLC(); db.CreateOwnCardLC(); TContactItemId id=CreateICCTemplateL(db); test(KErrNone == syncChecker->UpdatePhonebookEntryL(KUidIccGlobalAdnPhonebook, id, KNullContactId)); TContactItemId templateId = db.ICCTemplateIdL(KUidIccGlobalAdnPhonebook); CContactItem* iccTemplate = db.ReadContactLC(templateId); CContactICCEntry* iccentry = CContactICCEntry::NewL(*iccTemplate); CleanupStack::PopAndDestroy(iccTemplate); CleanupStack::PushL(iccentry); db.AddNewContactL(*iccentry); TContactItemId iccId = iccentry->Id(); CleanupStack::PopAndDestroy(4); //card,group,owncard,iccentry test(db.SortedItemsL()->Count() == 5); //default view includes ALL contact types CntTest->CloseDatabase(); delete synchroniser; synchroniser = NULL; CntTest->OpenDatabaseL(); CContactDatabase& db1= *CntTest->Db(); db1.SetDbViewContactType(KUidContactICCEntry); TInt some = db1.SortedItemsL()->Count(); test(db1.SortedItemsL()->Count() == 1); test((*db1.SortedItemsL())[0]==iccId); }