--- a/buildverification/smoketest/contacts/src/TestContact.cpp Mon Feb 22 17:54:00 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,491 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// This contains CTestContact
-//
-//
-
-#include <cntfldst.h>
-
-#include "TestContact.h"
-
-CTestContact* CTestContact::NewL(CContactItem& aSeedContact)
- {
- CTestContact* self=CTestContact::NewLC(aSeedContact);
- CleanupStack::Pop();
- return self;
- }
-
-CTestContact* CTestContact::NewLC(CContactItem& aSeedContact)
- {
- CTestContact* self=new(ELeave) CTestContact();
- CleanupStack::PushL(self);
- self->ConstructL(aSeedContact);
- return self;
- }
-
-CTestContact* CTestContact::NewL(CContactItem* aSeedContact)
- {
- CTestContact* self=CTestContact::NewLC(aSeedContact);
- CleanupStack::Pop();
- return self;
- }
-
-CTestContact* CTestContact::NewLC(CContactItem* aSeedContact)
- {
- CTestContact* self=new(ELeave) CTestContact();
- CleanupStack::PushL(self);
- self->ConstructL(aSeedContact);
- return self;
- }
-
-CTestContact::CTestContact() : iDestroyOnExit(EFalse)
- {
- }
-
-void CTestContact::ConstructL(CContactItem& aSeedContact)
- {
- iDestroyOnExit=ETrue;
- iContactItem=CContactCard::NewL(&aSeedContact);
- }
-
-void CTestContact::ConstructL(CContactItem* aSeedContact)
- {
- iDestroyOnExit=EFalse;
- iContactItem=aSeedContact;
- }
-
-CTestContact::~CTestContact()
- {
- if (iDestroyOnExit)
- delete iContactItem;
- iContactItem=NULL;
- }
-
-CContactItem& CTestContact::ContactItem()
- {
- return *iContactItem;
- }
-
-const TPtrC CTestContact::FirstNameL()
- {
- return TextFieldL(KUidContactFieldGivenName);
- }
-
-const TPtrC CTestContact::LastNameL()
- {
- return TextFieldL(KUidContactFieldFamilyName);
- }
-
-const TPtrC CTestContact::CompanyNameL()
- {
- return TextFieldL(KUidContactFieldCompanyName);
- }
-
-const TPtrC CTestContact::JobTitleL()
- {
- return TextFieldL(KUidContactFieldJobTitle);
- }
-
-const TPtrC CTestContact::WorkPhoneL()
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldPhoneNumber);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapWORK);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapVOICE);
- const TPtrC text=TextFieldL(*contentType);
- CleanupStack::PopAndDestroy(); // contentType.
- return text;
- }
-
-const TPtrC CTestContact::WorkMobileL()
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldPhoneNumber);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapWORK);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapVOICE);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapCELL);
- const TPtrC text=TextFieldL(*contentType);
- CleanupStack::PopAndDestroy(); // contentType.
- return text;
- }
-
-const TPtrC CTestContact::HomePhoneL()
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldPhoneNumber);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapHOME);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapVOICE);
- const TPtrC text=TextFieldL(*contentType);
- CleanupStack::PopAndDestroy(); // contentType.
- return text;
- }
-
-const TPtrC CTestContact::HomeMobileL()
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldPhoneNumber);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapHOME);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapVOICE);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapCELL);
- const TPtrC text=TextFieldL(*contentType);
- CleanupStack::PopAndDestroy(); // contentType.
- return text;
- }
-
-const TPtrC CTestContact::FaxL()
- {
- return TextFieldL(KUidContactFieldFax);
- }
-
-const TPtrC CTestContact::EmailAddressL()
- {
- return TextFieldL(KUidContactFieldEMail);
- }
-
-const TPtrC CTestContact::InternetAddressL()
- {
- return TextFieldL(KUidContactFieldUrl);
- }
-
-const TPtrC CTestContact::StreetL()
- {
- return TextFieldL(KUidContactFieldAddress);
- }
-
-const TPtrC CTestContact::TownL()
- {
- return TextFieldL(KUidContactFieldLocality);
- }
-
-const TPtrC CTestContact::CountyL()
- {
- return TextFieldL(KUidContactFieldRegion);
- }
-
-const TPtrC CTestContact::PostCodeL()
- {
- return TextFieldL(KUidContactFieldPostcode);
- }
-
-const TPtrC CTestContact::CountryL()
- {
- return TextFieldL(KUidContactFieldCountry);
- }
-
-const TPtrC CTestContact::NotesL()
- {
- return TextFieldL(KUidContactFieldNote);
- }
-
-const TPtrC CTestContact::NickNameL()
- {
- return TextFieldL(KUidContactFieldSecondName);
- }
-
-const TPtrC CTestContact::PictureL()
- {
- return TextFieldL(KUidContactFieldPicture);
- }
-
-void CTestContact::SetFirstNameL(const TDesC& aFirstName)
- {
- SetTextFieldL(KUidContactFieldGivenName, aFirstName, KUidContactFieldVCardMapUnusedN);
- }
-
-void CTestContact::SetLastNameL(const TDesC& aLastName)
- {
- SetTextFieldL(KUidContactFieldFamilyName, aLastName, KUidContactFieldVCardMapUnusedN);
- }
-
-void CTestContact::SetCompanyNameL(const TDesC& aCompanyName)
- {
- SetTextFieldL(KUidContactFieldCompanyName, aCompanyName, KUidContactFieldVCardMapORG);
- }
-
-void CTestContact::SetJobTitleL(const TDesC& aJobTitle)
- {
- SetTextFieldL(KUidContactFieldJobTitle,aJobTitle);
- }
-
-void CTestContact::SetWorkPhoneL(const TDesC& aWorkPhone)
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldPhoneNumber);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapWORK);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapVOICE);
- SetTextFieldL(*contentType,aWorkPhone);
- CleanupStack::PopAndDestroy(); // contentType.
- }
-
-void CTestContact::SetWorkMobileL(const TDesC& aWorkMobile)
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldPhoneNumber);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapWORK);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapVOICE);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapCELL);
- SetTextFieldL(*contentType,aWorkMobile);
- CleanupStack::PopAndDestroy(); // contentType.
- }
-
-void CTestContact::SetHomePhoneL(const TDesC& aHomePhone)
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldPhoneNumber);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapHOME);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapVOICE);
- SetTextFieldL(*contentType,aHomePhone);
- CleanupStack::PopAndDestroy(); // contentType.
- }
-
-void CTestContact::SetHomeMobileL(const TDesC& aHomeMobile)
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldPhoneNumber);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapHOME);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapVOICE);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapCELL);
- SetTextFieldL(*contentType,aHomeMobile);
- CleanupStack::PopAndDestroy(); // contentType.
- }
-
-void CTestContact::SetFaxL(const TDesC& aFax)
- {
- SetTextFieldL(KUidContactFieldFax,aFax);
- }
-
-void CTestContact::SetHomeEmailAddressL(const TDesC& aEmailAddress)
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldEMail);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapHOME);
- SetTextFieldL(*contentType,aEmailAddress);
- CleanupStack::PopAndDestroy(contentType);
- }
-
-void CTestContact::SetWorkEmailAddressL(const TDesC& aEmailAddress)
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldEMail);
- contentType->AddFieldTypeL(KUidContactFieldVCardMapWORK);
- SetTextFieldL(*contentType,aEmailAddress);
- CleanupStack::PopAndDestroy(contentType);
- }
-
-
-void CTestContact::SetInternetAddressL(const TDesC& aInternetAddress)
- {
- SetTextFieldL(KUidContactFieldUrl,aInternetAddress);
- }
-
-void CTestContact::SetStreetL(const TDesC& aStreet)
- {
- SetTextFieldL(KUidContactFieldAddress,aStreet);
- }
-
-void CTestContact::SetTownL(const TDesC& aTown)
- {
- SetTextFieldL(KUidContactFieldLocality,aTown);
- }
-
-void CTestContact::SetCountyL(const TDesC& aCounty)
- {
- SetTextFieldL(KUidContactFieldRegion,aCounty);
- }
-
-void CTestContact::SetPostCodeL(const TDesC& aPostCode)
- {
- SetTextFieldL(KUidContactFieldPostcode,aPostCode);
- }
-
-void CTestContact::SetCountryL(const TDesC& aCountry)
- {
- SetTextFieldL(KUidContactFieldCountry,aCountry);
- }
-
-void CTestContact::SetNotesL(const TDesC& aNotes)
- {
- SetTextFieldL(KUidContactFieldNote,aNotes);
- }
-
-void CTestContact::SetNickNameL(const TDesC& aNickName)
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldSecondName);
- TRAPD(err, SetTextFieldL(*contentType,aNickName));
- if (!err) { }
- CleanupStack::PopAndDestroy(); // contentType.
- }
-
-void CTestContact::SetPictureL(const TDesC8& aPicture)
- {
- CContentType* contentType=CContentType::NewL();
- CleanupStack::PushL(contentType);
- contentType->AddFieldTypeL(KUidContactFieldPicture);
- SetPictureFieldL(aPicture);
- CleanupStack::PopAndDestroy(contentType);
- }
-
-const TPtrC CTestContact::TextFieldL(TFieldType aFieldType) const
- {
- CContactItemField& field=FindFieldL(aFieldType);
- ASSERT(field.StorageType()==KStorageTypeText);
- return STATIC_CAST(CContactTextField*,(field.Storage()))->Text();
- }
-
-const TPtrC CTestContact::TextFieldL(const CContentType& aTypesToMatch) const
- {
- CContactItemField& field=FindFieldL(aTypesToMatch);
- ASSERT(field.StorageType()==KStorageTypeText);
- return STATIC_CAST(CContactTextField*,field.Storage())->Text();
- }
-
-void CTestContact::InsertTextFieldL(TFieldType aID, const TDesC& aStringOfStuff )
- {
- CContactItemField* itemFieldPtr = NULL;
- CContactTextField* textStoragePtr = NULL;
-
- itemFieldPtr = CContactItemField::NewLC( KStorageTypeText, aID );
- textStoragePtr = itemFieldPtr->TextStorage(); // we don't have ownership here, hence no stack.
-
- textStoragePtr->SetTextL( aStringOfStuff );
- textStoragePtr = NULL; // we've finished with this ptr now.
-
- iContactItem->AddFieldL( *itemFieldPtr ); // hand ownership over here
- CleanupStack::Pop( itemFieldPtr ); // and pop,
- }
-
-void CTestContact::SetTextFieldL(TFieldType aFieldType,const TDesC& aText)
- {
- TInt fieldIndex=FindField(aFieldType);
-
- if ( fieldIndex > KErrNotFound )
- {
- CContactItemField& field=FindFieldL(aFieldType);
- ASSERT(field.StorageType()==KStorageTypeText);
- STATIC_CAST(CContactTextField*,field.Storage())->SetText(aText.AllocL());
- }
- else
- {
- InsertTextFieldL(aFieldType, aText);
- }
- }
-
-void CTestContact::SetTextFieldL(const CContentType& aTypesToMatch,const TDesC& aText) const
- {
- CContactItemField& field=FindFieldL(aTypesToMatch);
- ASSERT(field.StorageType()==KStorageTypeText);
- STATIC_CAST(CContactTextField*,field.Storage())->SetText(aText.AllocL());
- }
-
-CContactItemField& CTestContact::FindFieldL(TFieldType aFieldType) const
- {
- CContactItemFieldSet& fields=iContactItem->CardFields();
- TInt index=fields.Find(aFieldType);
- User::LeaveIfError(index);
- return fields[index];
- }
-
-void CTestContact::SetTextFieldL(TFieldType aFieldType, const TDesC& aText, TUid aAddOnContentType)
- {
- CContactItemFieldSet& fields = iContactItem->CardFields();
- CContactTextField* textField = NULL;
- TInt fieldIndex = 0;
-
- fieldIndex = FindField( aFieldType );
-
- if (fieldIndex == KErrNotFound )
- {
- InsertTextFieldL( aFieldType, aText );
- fieldIndex = FindField( aFieldType );
- CContactItemField& field = fields[ fieldIndex ];
- field.AddFieldTypeL( aAddOnContentType );
- }
- else if (fieldIndex >= KErrNone )
- {
- CContactItemField& field = fields[ fieldIndex ];
- ASSERT(field.StorageType()==KStorageTypeText);
- textField = static_cast<CContactTextField*>(field.Storage());
- textField->SetText( aText.AllocL() );
- field.AddFieldTypeL( aAddOnContentType );
- }
- }
-
-TInt CTestContact::FindField(TFieldType aFieldType) const
- {
- return iContactItem->CardFields().Find( aFieldType );
- }
-
-CContactItemField& CTestContact::FindFieldL(const CContentType& aTypesToMatch) const
- {
- CContactItemFieldSet& fields=iContactItem->CardFields();
- const TInt numTypesToMatch(aTypesToMatch.FieldTypeCount());
- const TFieldType mainFieldType(aTypesToMatch.FieldType(0));
- TInt index=-1;
- FOREVER
- {
- index=fields.FindNext(mainFieldType,index+1);
- User::LeaveIfError(index);
-
- CContactItemField& thisPhoneField=fields[index];
- const CContentType& thisPhoneFieldTypes=thisPhoneField.ContentType();
- const TInt numFieldTypes(thisPhoneFieldTypes.FieldTypeCount());
-
- if (numFieldTypes!=numTypesToMatch)
- {
- continue;
- }
-
- TInt numTypesLeftToMatch=numTypesToMatch;
- for (TInt ii=0;ii<numFieldTypes;++ii)
- {
- TFieldType thisFieldType(thisPhoneFieldTypes.FieldType(ii));
- for (TInt jj=0;jj<numTypesToMatch;++jj)
- {
- TFieldType thisFieldTypeToMatch(aTypesToMatch.FieldType(jj));
- if (thisFieldType==thisFieldTypeToMatch)
- {
- if (--numTypesLeftToMatch<=0)
- {
- return thisPhoneField;
- }
-
- break;
- }
- }
- }
- }
- }
-
-void CTestContact::SetPictureFieldL(const TDesC8& aPicture) const
- {
-
- CContactItemFieldSet& fieldSet=iContactItem->CardFields();
- TInt pos;
- pos=fieldSet.Find(KUidContactFieldPicture);
- User::LeaveIfError(pos);
- fieldSet[pos].StoreStorage()->SetThingL(aPicture);
-
- }