本文整理汇总了C++中CContactItemField::DateTimeStorage方法的典型用法代码示例。如果您正苦于以下问题:C++ CContactItemField::DateTimeStorage方法的具体用法?C++ CContactItemField::DateTimeStorage怎么用?C++ CContactItemField::DateTimeStorage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CContactItemField
的用法示例。
在下文中一共展示了CContactItemField::DateTimeStorage方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SetFieldL
/*sets a specific contact field to a value as determined by its type.
field at aPos in aFields is set to aText*/
void CContactsRamTest::SetFieldL(const CContactItemField &aField, const TDesC& aText)
{
if( aField.IsTemplateLabelField() )
{
return;
}
if( 0 == aText.Size() )
{
return;
}
switch(aField.StorageType())
{
case KStorageTypeText:
aField.TextStorage()->SetTextL(aText);
break;
case KStorageTypeStore:
{
HBufC8 *buf = HBufC8::NewLC(aText.Size());
TPtr8 tptr8 = buf->Des();
tptr8.Copy(aText);
aField.StoreStorage()->SetThingL(*buf);
CleanupStack::PopAndDestroy(buf);
}
break;
case KStorageTypeContactItemId:
{
aField.AgentStorage()->SetAgentId( KAgentId );
}
break;
case KStorageTypeDateTime:
{
if( aText.Size() > 0 )
{
aField.DateTimeStorage()->SetTime( TTime(KTime) );
}
else
{
aField.DateTimeStorage()->SetTime( TTime(0) );
}
}
break;
default:
User::Panic(aText,EInvariantFalse);
break;
}
}
示例2: AddFieldsL
/** Create Contact Item and add field to it and
* verify the field is being added
* aValue - field value
* @param aStorageType - Storage type of each field
* @param aContFieldUid - Uid of Contact field
* @param avCardMapUid - Uid of vCard
* @return - void
*/
void CTestAddFieldsStep::AddFieldsL(TPtrC aValue, TInt aStorageType,TUid aContFieldUid, TUid avCardMap)
{
TPtrC value;
TInt year, month, day;
// Create contact Item and add field to it
CContactItem* item = CContactCard::NewLC();
CContactItemField* field = CContactItemField::NewL(aStorageType, aContFieldUid);
CleanupStack::PushL(field);
field->SetMapping(avCardMap);
if(aStorageType==KStorageTypeDateTime)
{
GetIntFromConfig(ConfigSection(), KIniYear, year);
GetIntFromConfig(ConfigSection(), KIniMonth, month);
GetIntFromConfig(ConfigSection(), KIniDay, day);
TDateTime date(year,(TMonth)month,day,0,0,0,0);
field->DateTimeStorage()->SetTime(date);
}
else
{
field->TextStorage()->SetTextL(aValue);
}
item->AddFieldL(*field);
// verify the field is being added
CContactItemFieldSet& ContactFieldSet = item->CardFields();
TInt pos = ContactFieldSet.Find(aContFieldUid, avCardMap);
if(pos != KErrNotFound)
{
if(aStorageType==KStorageTypeDateTime)
{
TDateTime result=ContactFieldSet[pos].DateTimeStorage()->Time().DateTime();
//compair the results
if((result.Year() == year) && (result.Month() == (TMonth)month) && (result.Day() == day))
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
else
{
value.Set(ContactFieldSet[pos].TextStorage()->Text());
//compair the results
if(aValue.Compare(value)==0 )
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
}
CleanupStack::Pop(field);
CleanupStack::PopAndDestroy(item);
}
示例3: DoCompareCContactItemFieldStorageTypeL
TBool CPackagerCntComparator::DoCompareCContactItemFieldStorageTypeL(const CContactItemField& anItemField1, const CContactItemField& anItemField2) const
/** Compares two storage type items contained within their respective CContactItemField parent.
@param anItemField1 The first CContactItemField containing the storage type to be compared.
@param anItemField2 The second CContactItemField containing the storage type to be compared.
@return ETrue if the two items are equal, EFalse otherwise. */
{
// Check if storage type is same first, otherwise don't need to
// compare storage content.
if(!DoCompareTUint(anItemField1.StorageType(), anItemField2.StorageType()))
{
return EFalse;
}
TBool result = ETrue;
switch (anItemField1.StorageType())
{
case KStorageTypeText:
result = DoCompareTPtrC(anItemField1.TextStorage()->Text(), anItemField2.TextStorage()->Text());
break;
case KStorageTypeStore:
result = (anItemField1.StoreStorage()->Thing()==anItemField2.StoreStorage()->Thing());
break;
case KStorageTypeDateTime:
result = DoCompareTTime(anItemField1.DateTimeStorage()->Time(), anItemField2.DateTimeStorage()->Time());
break;
case KStorageTypeContactItemId:
result = DoCompareTContactItemId(anItemField1.AgentStorage()->Value(), anItemField2.AgentStorage()->Value());
break;
default:
User::Leave(KErrNotSupported);
break;
}
return result;
}
示例4: dateTime
QList<CContactItemField *> CntTransformBirthday::transformDetailL(const QContactDetail &detail)
{
if(detail.definitionName() != QContactBirthday::DefinitionName)
User::Leave(KErrArgument);
QList<CContactItemField *> fieldList;
//cast to birthday
const QContactBirthday &birthday(static_cast<const QContactUrl&>(detail));
//create new field
TDateTime dateTime(birthday.date().year(), TMonth(birthday.date().month() - 1), birthday.date().day() - 1, 0, 0, 0, 0);
CContactItemField* newField = CContactItemField::NewLC(KStorageTypeDateTime, KUidContactFieldBirthday);
newField->DateTimeStorage()->SetTime(dateTime);
newField->SetMapping(KUidContactFieldVCardMapBDAY);
fieldList.append(newField);
CleanupStack::Pop(newField);
return fieldList;
}
示例5: dateTime
QList<CContactItemField *> CntTransformAnniversarySimple::transformDetailL(const QContactDetail &detail)
{
if(detail.definitionName() != QContactAnniversary::DefinitionName)
User::Leave(KErrArgument);
QList<CContactItemField *> fieldList;
//cast to anniversary
const QContactAnniversary &anniversary(static_cast<const QContactAnniversary&>(detail));
//create new field
TDateTime dateTime(anniversary.originalDate().year(),
TMonth(anniversary.originalDate().month() - 1),
anniversary.originalDate().day() - 1, 0, 0, 0, 0);
CContactItemField* newField = CContactItemField::NewLC(KStorageTypeDateTime, KUidContactFieldAnniversary);
newField->DateTimeStorage()->SetTime(dateTime);
newField->SetMapping(KUidContactFieldVCardMapAnniversary);
fieldList.append(newField);
CleanupStack::Pop(newField);
return fieldList;
}
示例6: AddMultipleContactsL
/** Create Multiple Contact Item with field and Add all contact
* Item to Contact database. verify field is
* being added
* aValue - field value
* @param aStorageType - Storage type of each field
* @param aContFieldUid - Uid of Contact field
* @param avCardMapUid - Uid of vCard
* @return - void
*/
void CTestAddMultipleContactsStep::AddMultipleContactsL(TPtrC aValue, TInt aStorageType,TUid aContFieldUid, TUid avCardMap)
{
TPtrC value;
_LIT(KTestDbName, "c:contactmultiple.cdb");
TInt year, month, day,noOfCI;
RArray <TInt> idArray;
CleanupClosePushL(idArray);
//replace existing database name
database = CContactDatabase::ReplaceL(KTestDbName);
//Get the number of contact item from ini file
GetIntFromConfig(ConfigSection(), KNoOfContactItem, noOfCI);
//Get the int value
GetIntFromConfig(ConfigSection(), KIniYear, year);
GetIntFromConfig(ConfigSection(), KIniMonth, month);
GetIntFromConfig(ConfigSection(), KIniDay, day);
// Create contact item and add field to it
for(TInt range=0;range<noOfCI;range++)
{
CContactItem* item = CContactCard::NewLC();
CContactItemField* field = CContactItemField::NewL(aStorageType, aContFieldUid);
CleanupStack::PushL(field);
field->SetMapping(avCardMap);
if(aStorageType==KStorageTypeDateTime)
{
TDateTime date(year,(TMonth)month,day,0,0,0,0);
field->DateTimeStorage()->SetTime(date);
}
else
{
field->TextStorage()->SetTextL(aValue);
}
item->AddFieldL(*field);
CleanupStack::Pop(field);
// add contact item to database
id = database->AddNewContactL(*item);
//append the id in array
idArray.Append(id);
//Cleanup
CleanupStack::PopAndDestroy(item);
}
database->CloseContactL(id);
// verify for multiple contact item with field is being created
CContactItem *readItem = NULL;
for(TInt readContact=0;readContact<noOfCI;readContact++)
{
readItem = database->ReadContactL(idArray[readContact]);
CleanupStack::PushL(readItem);
CContactItemFieldSet& ContactFieldSet = readItem->CardFields();
TInt pos = ContactFieldSet.Find(aContFieldUid, avCardMap);
if(pos != KErrNotFound)
{
if(aStorageType==KStorageTypeDateTime)
{
TDateTime result=ContactFieldSet[pos].DateTimeStorage()->Time().DateTime();
if((result.Year() == year) && (result.Month() == (TMonth)month) && (result.Day() == day))
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
else
{
value.Set(ContactFieldSet[pos].TextStorage()->Text());
//compare the results
if(aValue.Compare(value)==0 )
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
}
CleanupStack::PopAndDestroy(readItem);
}
// Cleanup
CleanupStack::PopAndDestroy(&idArray);
delete database;
}
示例7: OpenExistingContactL
void CTestAddMultipleContactsStep::OpenExistingContactL(TPtrC aValue, TInt aStorageType,TUid aContFieldUid, TUid avCardMap)
{
TPtrC value,fielddel;
_LIT(KTestDbName, "c:contactexist.cdb");
_LIT(KExistDelete, "exist");
TInt year, month, day;
// Create contact item and add field to it
CContactItem* item = CContactCard::NewLC();
CContactItemField* field = CContactItemField::NewL(aStorageType, aContFieldUid);
CleanupStack::PushL(field);
field->SetMapping(avCardMap);
if(aStorageType==KStorageTypeDateTime)
{
GetIntFromConfig(ConfigSection(), KIniYear, year);
GetIntFromConfig(ConfigSection(), KIniMonth, month);
GetIntFromConfig(ConfigSection(), KIniDay, day);
TDateTime date(year,(TMonth)month,day,0,0,0,0);
field->DateTimeStorage()->SetTime(date);
}
else
{
field->TextStorage()->SetTextL(aValue);
}
item->AddFieldL(*field);
CleanupStack::Pop(field);
//replace existing database name
database = CContactDatabase::ReplaceL(KTestDbName);
// add contact item to database
id = database->AddNewContactL(*item);
CleanupStack::PopAndDestroy(item);
//reopen the contact
CContactItem *openItem = database->OpenContactL(id);
CleanupStack::PushL(openItem);
//create contactitem field and add to it.
CContactItemField* newField = CContactItemField::NewL(aStorageType, aContFieldUid);
CleanupStack::PushL(newField);
newField->SetMapping(avCardMap);
if(aStorageType==KStorageTypeDateTime)
{
GetIntFromConfig(ConfigSection(), KIniYear, year);
GetIntFromConfig(ConfigSection(), KIniMonth, month);
GetIntFromConfig(ConfigSection(), KIniDay, day);
TDateTime date(year,(TMonth)month,day,0,0,0,0);
newField->DateTimeStorage()->SetTime(date);
}
else
{
newField->TextStorage()->SetTextL(aValue);
}
openItem->AddFieldL(*newField);
CleanupStack::Pop(newField);
// verify the field is being added
CContactItemFieldSet& ContactFieldSetOpen = openItem->CardFields();
TInt startPos=0;
for(TInt check=0; check<2; check++)
{
TInt pos = ContactFieldSetOpen.FindNext(aContFieldUid, avCardMap, startPos);
TInt noOfFields = ContactFieldSetOpen.Count();
if(pos != KErrNotFound)
{
if(aStorageType==KStorageTypeDateTime)
{
TDateTime result=ContactFieldSetOpen[pos].DateTimeStorage()->Time().DateTime();
startPos=startPos+1;
if((result.Year() == year) && (result.Month() == (TMonth)month) && (result.Day() == day))
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
else
{
value.Set(ContactFieldSetOpen[pos].TextStorage()->Text());
startPos=startPos+1;
//compare the results
if(aValue.Compare(value)==0 )
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
}
}
GetStringFromConfig(ConfigSection(), KIniFlagDelete, fielddel);
if(KErrNone == fielddel.Compare(KExistDelete))
{
TRAPD(ret, DeleteExistContactL(aContFieldUid, avCardMap));
if(ret!=KErrNone)
//.........这里部分代码省略.........
示例8: AddFieldsNewTemplateL
/** Create Contact user defuned Template add add field to contact item
* through template and verify the field is being added
* aValue - field value
* @param aStorageType - Storage type of each field
* @param aContFieldUid - Uid of Contact field
* @param avCardMapUid - Uid of vCard
* @return - void
*/
void CTestAddFieldsStep::AddFieldsNewTemplateL(TPtrC aValue, TInt aStorageType,TUid aContFieldUid, TUid avCardMap)
{
TPtrC value;
TInt year, month, day;
CContactDatabase *base = NULL;
_LIT(KTestDbName, "c:mytemplate.cdb");
_LIT(KUserDefinedTemplate,"MyTemplate");
// replace existing database name
base = CContactDatabase::ReplaceL(KTestDbName);
CleanupStack::PushL(base);
TContactItemId TempId ;
CContactItemField* field = NULL;
//Create User defined Template
CContactItem* contactTemplate = base->CreateContactCardTemplateLC(KUserDefinedTemplate);
// Get the ID of Template
TempId = contactTemplate->Id();
//Add fields to it
field = CContactItemField::NewL(aStorageType, aContFieldUid);
CleanupStack::PushL(field);
field->SetMapping(avCardMap);
contactTemplate->AddFieldL(*field);
CleanupStack::Pop(field);
//Allocates and constructs a new contact card.
CContactItem* item = CContactCard::NewLC();
//Sets the ID of the template on which this contact item is based
item->SetTemplateRefId(TempId);
//create contact item and add field value to it
field = CContactItemField::NewL(aStorageType, aContFieldUid);
CleanupStack::PushL(field);
field->SetMapping(avCardMap);
if(aStorageType==KStorageTypeDateTime)
{
//Get the int value
TBool res;
res = GetIntFromConfig(ConfigSection(), KIniYear, year);
if(!res)
{
ERR_PRINTF1(_L("Unable to read year val from ini file"));
SetTestStepResult(EFail);
}
res = GetIntFromConfig(ConfigSection(), KIniMonth, month);
if(!res)
{
ERR_PRINTF1(_L("Unable to read month val from ini file"));
SetTestStepResult(EFail);
}
res = GetIntFromConfig(ConfigSection(), KIniDay, day);
if(!res)
{
ERR_PRINTF1(_L("Unable to read day val from ini file"));
SetTestStepResult(EFail);
}
TDateTime date(year,(TMonth)month,day,0,0,0,0);
field->DateTimeStorage()->SetTime(date);
}
else
{
field->TextStorage()->SetTextL(aValue);
}
item->AddFieldL(*field);
// verify the field is being added to the user defined template
CContactItemFieldSet& ContactFieldSet = item->CardFields();
TInt pos = ContactFieldSet.Find(aContFieldUid, avCardMap);
if(pos != KErrNotFound)
{
if(aStorageType==KStorageTypeDateTime)
{
TDateTime result=ContactFieldSet[pos].DateTimeStorage()->Time().DateTime();
//compair the results
if((result.Year() == year) && (result.Month() == (TMonth)month) && (result.Day() == day))
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
else
{
value.Set(ContactFieldSet[pos].TextStorage()->Text());
//compair the results
if(aValue.Compare(value)==0 )
//.........这里部分代码省略.........
示例9: AddAllFieldsL
/** Create Contact Item and add all fields to it and
* verify the field is being added
* @return - void
*/
void CTestAddFieldsStep::AddAllFieldsL()
{
RArray<TPtrC> readValues;
CleanupClosePushL(readValues);
TPtrC temp, value;
TInt year, month, day,readPos=0;
// get string value from ini file.
if(!GetStringFromConfig(ConfigSection(), KIniFieldAsstVal, temp))
{
ERR_PRINTF1(_L("Unable to read val from ini file"));
SetTestStepResult(EFail);
}
else
{
readValues.Append(temp);
}
if(!GetStringFromConfig(ConfigSection(), KIniFieldAsstTelVal, temp))
{
ERR_PRINTF1(_L("Unable to read val from ini file"));
SetTestStepResult(EFail);
}
else
{
readValues.Append(temp);
}
if(!GetStringFromConfig(ConfigSection(), KIniFieldSpouseVal, temp))
{
ERR_PRINTF1(_L("Unable to read val from ini file"));
SetTestStepResult(EFail);
}
else
{
readValues.Append(temp);
}
if(!GetStringFromConfig(ConfigSection(), KIniFieldChildVel, temp))
{
ERR_PRINTF1(_L("Unable to read val from ini file"));
SetTestStepResult(EFail);
}
else
{
readValues.Append(temp);
}
if(!GetStringFromConfig(ConfigSection(), KIniFieldClassVal, temp))
{
ERR_PRINTF1(_L("Unable to read val from ini file"));
SetTestStepResult(EFail);
}
else
{
readValues.Append(temp);
}
if(!GetStringFromConfig(ConfigSection(), KIniFieldDeptVal, temp))
{
ERR_PRINTF1(_L("Unable to read val from ini file"));
SetTestStepResult(EFail);
}
else
{
readValues.Append(temp);
}
// get int val from ini file
GetIntFromConfig(ConfigSection(), KIniYear, year);
GetIntFromConfig(ConfigSection(), KIniMonth, month);
GetIntFromConfig(ConfigSection(), KIniDay, day);
CContactItemField* field = NULL;
// Create contact Item and add all fields to it
CContactItem* item = CContactCard::NewLC();
for(TInt x=0; x<7; x++)
{
field = CContactItemField::NewL(iStorage[x], iFieldUid[x]);
CleanupStack::PushL(field);
field->SetMapping(iVcardUid[x]);
if(iStorage[x]==KStorageTypeDateTime)
{
TDateTime date(year,(TMonth)month,day,0,0,0,0);
field->DateTimeStorage()->SetTime(date);
}
else
{
field->TextStorage()->SetTextL(readValues[readPos++]);
}
item->AddFieldL(*field);
CleanupStack::Pop(field);
}
readPos=0;
// verify the field is being added
for(TInt x=0; x<7; x++)
{
CContactItemFieldSet& ContactFieldSet = item->CardFields();
TInt pos = ContactFieldSet.Find(iFieldUid[x], iVcardUid[x]);
if(pos != KErrNotFound)
{
//.........这里部分代码省略.........
示例10: AddCoupleFieldsL
/** Create Contact Item and add couple of same fields to it and
* verify the field is being added
* aValue - field value
* @param aStorageType - Storage type of each field
* @param aContFieldUid - Uid of Contact field
* @param avCardMapUid - Uid of vCard
* @return - void
*/
void CTestAddFieldsStep::AddCoupleFieldsL(TPtrC aValue, TInt aStorageType,TUid aContFieldUid, TUid avCardMap)
{
TPtrC value;
TInt year, month, day;
CContactItemField* field;
// Get the value form ini file
GetIntFromConfig(ConfigSection(), KIniYear, year);
GetIntFromConfig(ConfigSection(), KIniMonth, month);
GetIntFromConfig(ConfigSection(), KIniDay, day);
// Create contact Item and add same field twice to it
CContactItem* item = CContactCard::NewLC();
for(TInt x=0; x<2; x++)
{
field = CContactItemField::NewL(aStorageType, aContFieldUid);
CleanupStack::PushL(field);
field->SetMapping(avCardMap);
if(aStorageType==KStorageTypeDateTime)
{
TDateTime date(year,(TMonth)month,day,0,0,0,0);
field->DateTimeStorage()->SetTime(date);
}
else
{
field->TextStorage()->SetTextL(aValue);
}
item->AddFieldL(*field);
CleanupStack::Pop(field);
}
CContactItemFieldSet& ContactFieldSetOpen = item->CardFields();
// verify the field is being added
TInt startPos=0;
for(TInt check=0; check<2; check++)
{
TInt pos = ContactFieldSetOpen.FindNext(aContFieldUid, avCardMap,startPos);
if(pos != KErrNotFound)
{
if(aStorageType==KStorageTypeDateTime)
{
TDateTime result=ContactFieldSetOpen[pos].DateTimeStorage()->Time().DateTime();
startPos=startPos+1;
if((result.Year() == year) && (result.Month() == (TMonth)month) && (result.Day() == day))
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
else
{
value.Set(ContactFieldSetOpen[pos].TextStorage()->Text());
startPos=startPos+1;
//compair the results
if(aValue.Compare(value)==0 )
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
}
}
CleanupStack::PopAndDestroy(item);
}
示例11: UpdateFieldsL
/** Create Contact Item and add field to it.Update the field value and
* verify the field is being updated
* aValue - field value
* @param aStorageType - Storage type of each field
* @param aContFieldUid - Uid of Contact field
* @param avCardMapUid - Uid of vCard
* @return - void
*/
void CTestUpdateFieldsStep::UpdateFieldsL(TPtrC aValue, TInt aStorageType,TUid aContFieldUid, TUid avCardMap)
{
TPtrC value, updateVal, getUpdateValue;
TInt year, month, day;
// get the value from ini file
GetIntFromConfig(ConfigSection(), KIniYear, year);
GetIntFromConfig(ConfigSection(), KIniMonth, month);
GetIntFromConfig(ConfigSection(), KIniDay, day);
//Create contact Item and add field to it.
CContactItem* item = CContactCard::NewLC();
CContactItemField* field = CContactItemField::NewL(aStorageType, aContFieldUid);
CleanupStack::PushL(field);
field->SetMapping(avCardMap);
if(aStorageType==KStorageTypeDateTime)
{
TDateTime date(year,(TMonth)month,day,0,0,0,0);
field->DateTimeStorage()->SetTime(date);
}
else
{
field->TextStorage()->SetTextL(aValue);
}
item->AddFieldL(*field);
// Get the value from ini file for update
GetStringFromConfig(ConfigSection(), KIniUpdatedvalue, updateVal);
GetIntFromConfig(ConfigSection(), KIniUpdateYear, year);
GetIntFromConfig(ConfigSection(), KIniUpdateMonth, month);
GetIntFromConfig(ConfigSection(), KIniUpdateDay, day);
CContactItemFieldSet& ContactFieldSet = item->CardFields();
TInt pos = ContactFieldSet.Find(aContFieldUid, avCardMap);
if(aStorageType==KStorageTypeDateTime)
{
// update the field value
TDateTime date(year,(TMonth)month,day,0,0,0,0);
field->DateTimeStorage()->SetTime(date);
ContactFieldSet.UpdateFieldL(ContactFieldSet[pos],pos);
// verify the updated field value
TInt upadtePos = ContactFieldSet.Find(aContFieldUid, avCardMap);
TDateTime result=ContactFieldSet[upadtePos].DateTimeStorage()->Time().DateTime();
if((result.Year() == year) && (result.Month() == (TMonth)month) && (result.Day() == day))
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
else
{
// Update the field value
ContactFieldSet[pos].TextStorage()->SetTextL(updateVal);
ContactFieldSet.UpdateFieldL(ContactFieldSet[pos],pos);
// verify the field is being updated
TInt upadtePos = ContactFieldSet.Find(aContFieldUid, avCardMap);
getUpdateValue.Set(ContactFieldSet[upadtePos].TextStorage()->Text());
//compair the results
if(getUpdateValue.Compare(updateVal)==0 )
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
// Cleanup
CleanupStack::Pop(field);
CleanupStack::PopAndDestroy(item);
}
示例12: FieldPerformanceL
/**
* Creating 1000 contact item with all new fields
* @return - void
*/
void CTestContactPerformanceStep::FieldPerformanceL()
{
TPtrC value, temp;
_LIT(KTestDbName, "c:contactmultiple.cdb");
TInt readPos=0;
TContactItemId id = 0;
_LIT(KUpdate, "update");
_LIT(KDelete, "delete");
CleanupClosePushL(idArray);
RArray<TPtrC> readValues;
CleanupClosePushL(readValues);
// get string value from ini file.
GetStringFromConfig(ConfigSection(), KIniFieldAsstVal, temp);
readValues.Append(temp);
GetStringFromConfig(ConfigSection(), KIniFieldAsstTelVal, temp);
readValues.Append(temp);
GetStringFromConfig(ConfigSection(), KIniFieldSpouseVal, temp);
readValues.Append(temp);
GetStringFromConfig(ConfigSection(), KIniFieldChildVel, temp);
readValues.Append(temp);
GetStringFromConfig(ConfigSection(), KIniFieldClassVal, temp);
readValues.Append(temp);
GetStringFromConfig(ConfigSection(), KIniFieldDeptVal, temp);
readValues.Append(temp);
// get int val from ini file
GetIntFromConfig(ConfigSection(), KIniYear, iYear);
GetIntFromConfig(ConfigSection(), KIniMonth, iMonth);
GetIntFromConfig(ConfigSection(), KIniDay, iDay);
//replace existing database name
dBase = CContactDatabase::ReplaceL(KTestDbName);
//Get the number of contact item from ini file
GetIntFromConfig(ConfigSection(), KNoOfContactItem, iNoOfCI);
// Create contact item and add all fields to it
for(TInt range=0; range<iNoOfCI; range++)
{
CContactItem* item = CContactCard::NewLC();
for(TInt noOfFields=0; noOfFields<7; noOfFields++)
{
CContactItemField* field = CContactItemField::NewL(iStorage[noOfFields], iFieldUid[noOfFields]);
CleanupStack::PushL(field);
field->SetMapping(iVcardUid[noOfFields]);
if(iStorage[noOfFields]==KStorageTypeDateTime)
{
TDateTime date(iYear,(TMonth)iMonth,iDay,0,0,0,0);
field->DateTimeStorage()->SetTime(date);
}
else
{
field->TextStorage()->SetTextL(readValues[readPos++]);
}
item->AddFieldL(*field);
CleanupStack::Pop(field);
}
// add contact item to database
id = dBase->AddNewContactL(*item);
//Append the id into array
idArray.Append(id);
readPos=0;
// Cleanup
CleanupStack::PopAndDestroy(item);
}
dBase->CloseContactL(id);
// verify for multiple contact item with all fields is being added
readPos=0;
CContactItem *readItem = NULL;
for(TInt readContact=0; readContact<iNoOfCI; readContact++)
{
readItem = dBase->ReadContactLC(idArray[readContact]);
for(TInt check=0; check<7; check++)
{
CContactItemFieldSet& ContactFieldSet = readItem->CardFields();
TInt pos = ContactFieldSet.Find(iFieldUid[check], iVcardUid[check]);
if(pos != KErrNotFound)
{
if(iStorage[check]==KStorageTypeDateTime)
{
TDateTime result=ContactFieldSet[pos].DateTimeStorage()->Time().DateTime();
//compare the results
if((result.Year() == iYear) && (result.Month() == (TMonth)iMonth) && (result.Day() == iDay))
{
SetTestStepResult(EPass);
}
else
{
SetTestStepResult(EFail);
}
}
//.........这里部分代码省略.........