diff -r 989d2f495d90 -r fc9cf246af83 serviceproviders/sapi_contacts_vpbk/src/contactiterator.cpp --- a/serviceproviders/sapi_contacts_vpbk/src/contactiterator.cpp Fri Jul 03 15:51:24 2009 +0100 +++ b/serviceproviders/sapi_contacts_vpbk/src/contactiterator.cpp Thu Aug 27 07:43:07 2009 +0300 @@ -101,7 +101,9 @@ CLiwMap* pContactMap = NULL; TBool retVal = EFalse; - + RPointerArray xspidArray; + CLiwList* IdList = NULL; + TLiwVariant outputVal; //If iterator is iterating over contacts if(iContactIter->iIndicator == EContacts) { @@ -120,6 +122,7 @@ TPtrC fieldValue; TTime fieldTime; TBool date = EFalse; + TBool xspid = EFalse; CleanupStack :: PushL(contact); @@ -148,7 +151,29 @@ //Get field data and populate the map structure field->GetFieldDataL(fieldName, fieldLabel, fieldValue); - if((fieldName.Compare(KDate) == 0) || (fieldName.Compare(KAnniversary) == 0)) + if(fieldName.Compare(KXspid) == 0) + { + xspid = ETrue; + fieldLabel.Set(KXspidLabel); + field->GetUriFieldParamL(xspidArray); + if(xspidArray.Count() > 0) + { + + TInt count = xspidArray.Count(); + TInt i; + IdList = CLiwDefaultList::NewL(); + for(i=0; iAppendL(outputVal); + } + + } + xspidArray.ResetAndDestroy(); + + } + if((fieldName.Compare(KDate) == 0) || (fieldName.Compare(KAnniversary) == 0)) // || fieldName.Compare(KBirthDay) == 0) { date = ETrue; fieldTime = field->GetDateTime(); @@ -163,6 +188,12 @@ { pFieldLinkedMap->InsertL(KFieldValue,TLiwVariant(fieldTime)); } + else if(xspid) + { + // CLiwMap* pFieldLinkedMap = CLiwDefaultMap::NewL(); + // CleanupClosePushL(*pFieldLinkedMap); + pFieldLinkedMap->InsertL(KFieldValue,TLiwVariant(IdList)); + } else { pFieldLinkedMap->InsertL(KFieldValue,TLiwVariant(fieldValue)); @@ -178,6 +209,11 @@ date = EFalse; pFieldLinkedMap->InsertL(KFieldValue,TLiwVariant(fieldTime)); } + else if(xspid) + { + xspid = EFalse; + pFieldLinkedMap->InsertL(KFieldValue,TLiwVariant(IdList)); + } else { pFieldLinkedMap->InsertL(KFieldValue,TLiwVariant(fieldValue));