38 |
40 |
39 class FieldMapping |
41 class FieldMapping |
40 { |
42 { |
41 public: |
43 public: |
42 TPtrC iElementName; |
44 TPtrC iElementName; |
43 TInt iFieldCode; |
45 QString iDetail; |
|
46 QString iContext; |
|
47 QString iFieldCode; |
44 TContactFieldDataType iDataType; |
48 TContactFieldDataType iDataType; |
45 }; |
49 }; |
|
50 //********************************************************************************* |
|
51 FieldMapping fieldMappingTbl[] = { |
|
52 {TPtrC(KFirstname), (QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactName::FieldFirstName).operator QString() /*R_VPBK_FIELD_TYPE_FIRSTNAME*/, EDataTypeText}, |
|
53 {TPtrC(KLastname), (QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactName::FieldLastName).operator QString() /*R_VPBK_FIELD_TYPE_LASTNAME*/, EDataTypeText}, |
|
54 {TPtrC(KPrefix), (QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactName::FieldPrefix).operator QString()/*R_VPBK_FIELD_TYPE_PREFIX*/, EDataTypeText}, |
|
55 {TPtrC(KSuffix), (QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactName::FieldSuffix).operator QString()/*R_VPBK_FIELD_TYPE_SUFFIX*/, EDataTypeText}, |
|
56 {TPtrC(KSecondname), (QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactName::FieldMiddleName).operator QString()/*R_VPBK_FIELD_TYPE_SECONDNAME*/, EDataTypeText}, |
|
57 {TPtrC(KLandphoneHome), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactPhoneNumber::SubTypeLandline).operator QString()/*R_VPBK_FIELD_TYPE_LANDPHONEHOME*/, EDataTypeText}, |
|
58 |
|
59 {TPtrC(KMobilephoneHome), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactPhoneNumber::SubTypeMobile).operator QString()/*R_VPBK_FIELD_TYPE_MOBILEPHONEHOME*/, EDataTypeText}, |
|
60 {TPtrC(KVideonumberHome), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactPhoneNumber::SubTypeVideo).operator QString()/*R_VPBK_FIELD_TYPE_VIDEONUMBERHOME*/, EDataTypeText}, |
|
61 {TPtrC(KFaxnumberHome), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactPhoneNumber::SubTypeFacsimile).operator QString()/*R_VPBK_FIELD_TYPE_FAXNUMBERHOME*/, EDataTypeText}, |
|
62 //{TPtrC(KVoipHome), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactPhoneNumber::SubType).operator QString()/*R_VPBK_FIELD_TYPE_VOIPHOME*/, EDataTypeText}, |
|
63 {TPtrC(KEmailHome), (QContactEmailAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),""/*R_VPBK_FIELD_TYPE_EMAILHOME*/, EDataTypeText}, |
|
64 {TPtrC(KUrlHome), (QContactUrl::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactUrl::SubTypeHomePage).operator QString()/*R_VPBK_FIELD_TYPE_URLHOME*/, EDataTypeText}, |
|
65 //{TPtrC(KAddrlabelHome), R_VPBK_FIELD_TYPE_ADDRLABELHOME, EDataTypeText}, |
|
66 {TPtrC(KAddrpoHome), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactAddress::FieldPostOfficeBox).operator QString()/*R_VPBK_FIELD_TYPE_ADDRPOHOME*/, EDataTypeText}, |
|
67 |
|
68 // {TPtrC(KAddrextHome), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactAddress::Field).operator QString()/*R_VPBK_FIELD_TYPE_ADDREXTHOME*/, EDataTypeText}, |
|
69 {TPtrC(KAddrstreetHome), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactAddress::FieldStreet).operator QString()/*R_VPBK_FIELD_TYPE_ADDRSTREETHOME*/, EDataTypeText}, |
|
70 {TPtrC(KAddrlocalHome), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactAddress::FieldLocality).operator QString()/*R_VPBK_FIELD_TYPE_ADDRLOCALHOME*/, EDataTypeText}, |
|
71 {TPtrC(KAddrregionHome), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactAddress::FieldRegion).operator QString()/*R_VPBK_FIELD_TYPE_ADDRREGIONHOME*/, EDataTypeText}, |
|
72 {TPtrC(KAddrpostcodeHome), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactAddress::FieldPostcode).operator QString()/*R_VPBK_FIELD_TYPE_ADDRPOSTCODEHOME*/, EDataTypeText}, |
|
73 {TPtrC(KAddrcountryHome), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactAddress::FieldCountry).operator QString()/*R_VPBK_FIELD_TYPE_ADDRCOUNTRYHOME*/, EDataTypeText}, |
|
74 {TPtrC(KJobtitle), (QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactOrganization::FieldTitle).operator QString()/*R_VPBK_FIELD_TYPE_JOBTITLE*/, EDataTypeText}, |
|
75 {TPtrC(KCompanyname), (QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactOrganization::FieldName).operator QString()/*R_VPBK_FIELD_TYPE_COMPANYNAME*/, EDataTypeText}, |
|
76 |
|
77 {TPtrC(KLandphoneWork), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactPhoneNumber::SubTypeLandline).operator QString()/*R_VPBK_FIELD_TYPE_LANDPHONEWORK*/, EDataTypeText}, |
|
78 {TPtrC(KMobilephoneWork), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactPhoneNumber::SubTypeMobile).operator QString()/*R_VPBK_FIELD_TYPE_MOBILEPHONEWORK*/, EDataTypeText}, |
|
79 {TPtrC(KVideonumberWork), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactPhoneNumber::SubTypeVideo).operator QString()/*R_VPBK_FIELD_TYPE_VIDEONUMBERWORK*/, EDataTypeText}, |
|
80 {TPtrC(KFaxnumberWork), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactPhoneNumber::SubTypeFacsimile).operator QString()/*R_VPBK_FIELD_TYPE_FAXNUMBERWORK*/, EDataTypeText}, |
|
81 //{TPtrC(KVoipWork), R_VPBK_FIELD_TYPE_VOIPWORK, EDataTypeText}, |
|
82 {TPtrC(KEmailWork), (QContactEmailAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),""/*R_VPBK_FIELD_TYPE_EMAILWORK*/, EDataTypeText}, |
|
83 {TPtrC(KUrlWork), (QContactUrl::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactUrl::SubTypeHomePage).operator QString()/*R_VPBK_FIELD_TYPE_URLWORK*/, EDataTypeText}, |
|
84 //{TPtrC(KAddrlabelWork), R_VPBK_FIELD_TYPE_ADDRLABELWORK, EDataTypeText}, |
|
85 |
|
86 {TPtrC(KAddrpoWork), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactAddress::FieldPostOfficeBox).operator QString()/*R_VPBK_FIELD_TYPE_ADDRPOWORK*/, EDataTypeText}, |
|
87 //{TPtrC(KAddrextWork), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactAddress::FieldPostOfficeBox).operator QString()/*R_VPBK_FIELD_TYPE_ADDREXTWORK*/, EDataTypeText}, |
|
88 {TPtrC(KAddrstreetWork), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactAddress::FieldStreet).operator QString()/*R_VPBK_FIELD_TYPE_ADDRSTREETWORK*/, EDataTypeText}, |
|
89 {TPtrC(KAddrlocalWork), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactAddress::FieldLocality).operator QString()/*R_VPBK_FIELD_TYPE_ADDRLOCALWORK*/, EDataTypeText}, |
|
90 {TPtrC(KAddrregionWork), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactAddress::FieldRegion).operator QString()/*R_VPBK_FIELD_TYPE_ADDRREGIONWORK*/, EDataTypeText}, |
|
91 {TPtrC(KAddrpostcodeWork), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactAddress::FieldPostcode).operator QString()/*R_VPBK_FIELD_TYPE_ADDRPOSTCODEWORK*/, EDataTypeText}, |
|
92 {TPtrC(KAddrcountryWork), (QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactAddress::FieldCountry).operator QString()/*R_VPBK_FIELD_TYPE_ADDRCOUNTRYWORK*/, EDataTypeText}, |
|
93 |
|
94 {TPtrC(KLandphoneGen), (QContactPhoneNumber::DefinitionName).operator QString(), "",(QContactPhoneNumber::SubTypeLandline).operator QString(), EDataTypeText}, |
|
95 {TPtrC(KMobilephoneGen), (QContactPhoneNumber::DefinitionName).operator QString(), "",(QContactPhoneNumber::SubTypeMobile).operator QString(), EDataTypeText}, |
|
96 {TPtrC(KVideonumberGen), (QContactPhoneNumber::DefinitionName).operator QString(), "",(QContactPhoneNumber::SubTypeVideo).operator QString(), EDataTypeText}, |
|
97 {TPtrC(KFaxnumberGen), (QContactPhoneNumber::DefinitionName).operator QString(), "",(QContactPhoneNumber::SubTypeFacsimile).operator QString(), EDataTypeText}, |
|
98 // {TPtrC(KVoipGen), R_VPBK_FIELD_TYPE_VOIPGEN, EDataTypeText}, |
|
99 // {TPtrC(KPoc), R_VPBK_FIELD_TYPE_POC, EDataTypeText}, |
|
100 // {TPtrC(KSwis), R_VPBK_FIELD_TYPE_SWIS, EDataTypeText}, |
|
101 // {TPtrC(KSip), R_VPBK_FIELD_TYPE_SIP, EDataTypeText}, |
|
102 {TPtrC(KEmailGen), (QContactEmailAddress::DefinitionName).operator QString(), "","", EDataTypeText}, |
|
103 |
|
104 {TPtrC(KUrlGen), (QContactUrl::DefinitionName).operator QString(), "","", EDataTypeText}, |
|
105 // {TPtrC(KAddrlabelGen), R_VPBK_FIELD_TYPE_ADDRLABELGEN, EDataTypeText}, |
|
106 {TPtrC(KAddrpoGen), (QContactAddress::DefinitionName).operator QString(), "",(QContactAddress::FieldPostOfficeBox).operator QString()/*R_VPBK_FIELD_TYPE_ADDRPOGEN*/, EDataTypeText}, |
|
107 // {TPtrC(KAddrextGen), R_VPBK_FIELD_TYPE_ADDREXTGEN, EDataTypeText}, |
|
108 {TPtrC(KAddrstreetGen), (QContactAddress::DefinitionName).operator QString(), "" , (QContactAddress::FieldStreet).operator QString()/*R_VPBK_FIELD_TYPE_ADDRSTREETGEN*/, EDataTypeText}, |
|
109 {TPtrC(KAddrlocalGen), (QContactAddress::DefinitionName).operator QString(), "" , (QContactAddress::FieldLocality).operator QString()/*R_VPBK_FIELD_TYPE_ADDRLOCALGEN*/, EDataTypeText}, |
|
110 {TPtrC(KAddrregionGen), (QContactAddress::DefinitionName).operator QString(), "" , (QContactAddress::FieldRegion).operator QString()/*R_VPBK_FIELD_TYPE_ADDRREGIONGEN*/, EDataTypeText}, |
|
111 {TPtrC(KAddrpostcodeGen), (QContactAddress::DefinitionName).operator QString(), "" , (QContactAddress::FieldPostcode).operator QString()/*R_VPBK_FIELD_TYPE_ADDRPOSTCODEGEN*/, EDataTypeText}, |
|
112 {TPtrC(KAddrcountryGen), (QContactAddress::DefinitionName).operator QString(), "" , (QContactAddress::FieldCountry).operator QString()/*R_VPBK_FIELD_TYPE_ADDRCOUNTRYGEN*/, EDataTypeText}, |
|
113 |
|
114 {TPtrC(KPagerNumber),(QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactPhoneNumber::SubTypePager).operator QString()/* R_VPBK_FIELD_TYPE_PAGERNUMBER*/, EDataTypeText}, |
|
115 {TPtrC(KDtmfString), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactPhoneNumber::SubTypeDtmfMenu).operator QString()/* R_VPBK_FIELD_TYPE_DTMFSTRING*/, EDataTypeText}, |
|
116 // {TPtrC(KWvAddress), R_VPBK_FIELD_TYPE_WVADDRESS, EDataTypeText}, |
|
117 {TPtrC(KDate), (QContactBirthday::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactBirthday::FieldBirthday).operator QString()/* R_VPBK_FIELD_TYPE_DATE*/, EDataTypeDateTime}, |
|
118 {TPtrC(KNote), (QContactNote::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactNote::FieldNote).operator QString()/* R_VPBK_FIELD_TYPE_NOTE*/, EDataTypeText}, |
|
119 {TPtrC(KThumbnailPath), (QContactAvatar::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactAvatar::SubTypeImage).operator QString()/* R_VPBK_FIELD_TYPE_THUMBNAILPIC*/, EDataTypeText}, |
|
120 // {TPtrC(KThumbnailId), R_VPBK_FIELD_TYPE_THUMBNAILPIC, EDataTypeText}, |
|
121 // {TPtrC(KRingTone), R_VPBK_FIELD_TYPE_RINGTONE, EDataTypeText}, |
|
122 // {TPtrC(KRingToneId), R_VPBK_FIELD_TYPE_RINGTONE, EDataTypeText}, |
|
123 |
|
124 //{TPtrC(KCallerobjImg), R_VPBK_FIELD_TYPE_CALLEROBJIMG, EDataTypeText}, |
|
125 // {TPtrC(KCallerobjText), R_VPBK_FIELD_TYPE_CALLEROBJTEXT, EDataTypeText}, |
|
126 {TPtrC(KMiddlename), (QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactName::FieldMiddleName).operator QString()/*R_VPBK_FIELD_TYPE_MIDDLENAME*/, EDataTypeText}, |
|
127 {TPtrC(KDepartment), (QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactOrganization::FieldDepartment).operator QString()/*R_VPBK_FIELD_TYPE_DEPARTMENT*/, EDataTypeText}, |
|
128 {TPtrC(KAsstname), (QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactOrganization::FieldAssistantName).operator QString()/*R_VPBK_FIELD_TYPE_ASSTNAME*/, EDataTypeText}, |
|
129 {TPtrC(KSpouse), (QContactFamily::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactFamily::FieldSpouse).operator QString()/* R_VPBK_FIELD_TYPE_SPOUSE*/, EDataTypeText}, |
|
130 {TPtrC(KChildren), (QContactFamily::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactFamily::FieldChildren).operator QString()/*R_VPBK_FIELD_TYPE_CHILDREN, EDataTypeText}, |
|
131 {TPtrC(KAsstphone), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactPhoneNumber::SubTypeAssistant).operator QString()/* R_VPBK_FIELD_TYPE_ASSTPHONE*/, EDataTypeText}, |
|
132 |
|
133 {TPtrC(KCarphone), (QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactPhoneNumber::SubTypeCar).operator QString()/* R_VPBK_FIELD_TYPE_CARPHONE*/, EDataTypeText}, |
|
134 {TPtrC(KAnniversary), (QContactAnniversary::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(),(QContactAnniversary::SubTypeEmployment).operator QString()/*R_VPBK_FIELD_TYPE_ANNIVERSARY*/, EDataTypeDateTime}, |
|
135 // {TPtrC(KSyncclass), R_VPBK_FIELD_TYPE_SYNCCLASS, EDataTypeText}, |
|
136 // {TPtrC(KLocPrivacy), R_VPBK_FIELD_TYPE_LOCPRIVACY, EDataTypeText}, |
|
137 {TPtrC(KGenlabel), (QContactDisplayLabel::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(),(QContactDisplayLabel::FieldLabel).operator QString()/*R_VPBK_FIELD_TYPE_GENLABEL*/, EDataTypeText} |
|
138 }; |
|
139 |
|
140 //********************************************************************************* |
46 |
141 |
47 CCreatorContactElementBase* CCreatorContactElementBase::NewL(CCreatorEngine* aEngine, const TDesC& aName, const TDesC& aContext) |
142 CCreatorContactElementBase* CCreatorContactElementBase::NewL(CCreatorEngine* aEngine, const TDesC& aName, const TDesC& aContext) |
48 { |
143 { |
49 LOGSTRING("Creator: CCreatorContactElementBase::NewL"); |
144 LOGSTRING("Creator: CCreatorContactElementBase::NewL"); |
50 CCreatorContactElementBase* self = new (ELeave) CCreatorContactElementBase(aEngine); |
145 CCreatorContactElementBase* self = new (ELeave) CCreatorContactElementBase(aEngine); |
72 iIsCommandElement = ETrue; |
167 iIsCommandElement = ETrue; |
73 } |
168 } |
74 |
169 |
75 |
170 |
76 void CCreatorContactElement::ExecuteCommandL() |
171 void CCreatorContactElement::ExecuteCommandL() |
|
172 { |
|
173 LOGSTRING("Creator: CCreatorContactElement::ExecuteCommandL"); |
|
174 // Find out how many contacts should we create: |
|
175 const CCreatorScriptAttribute* contactAmountAttr = this->FindAttributeByName(KAmount); |
|
176 TInt contactAmount = 1; |
|
177 if( contactAmountAttr ) |
|
178 { |
|
179 contactAmount = ConvertStrToIntL(contactAmountAttr->Value()); |
|
180 } |
|
181 CCreatorScriptElement* fieldsElement = FindSubElement(KFields); |
|
182 TInt fieldMappingTblSize = sizeof(fieldMappingTbl)/sizeof(FieldMapping); |
|
183 for( TInt cI = 0; cI < contactAmount; ++cI ) |
|
184 { |
|
185 CPhonebookParameters* param = (CPhonebookParameters*) TCreatorFactory::CreatePhoneBookParametersL(); |
|
186 CleanupStack::PushL(param); |
|
187 // Loop all the field elements |
|
188 if( fieldsElement && fieldsElement->SubElements().Count() > 0 ) |
|
189 { |
|
190 |
|
191 const RPointerArray<CCreatorScriptElement>& fieldList = fieldsElement->SubElements(); |
|
192 |
|
193 if( fieldList.Count() == 0 ) |
|
194 { |
|
195 |
|
196 } |
|
197 for( TInt i = 0; i < fieldList.Count(); ++i ) |
|
198 { |
|
199 TPtrC fieldName = fieldList[i]->Name(); |
|
200 CCreatorContactField* field = 0; |
|
201 field = CCreatorContactField::NewL(); |
|
202 |
|
203 const CCreatorScriptAttribute* amountAttr = fieldList[i]->FindAttributeByName(KAmount); |
|
204 const CCreatorScriptAttribute* rndLenAttr = fieldList[i]->FindAttributeByName(KRandomLength); |
|
205 const CCreatorScriptAttribute* increaseAttr = fieldList[i]->FindAttributeByName(KIncrease); |
|
206 TBool increase( EFalse ); |
|
207 if ( increaseAttr ) |
|
208 { |
|
209 increase = ConvertStrToBooleanL( increaseAttr->Value() ); |
|
210 } |
|
211 for( TInt j = 0; j < fieldMappingTblSize; ++j ) |
|
212 { |
|
213 const FieldMapping& mapping = fieldMappingTbl[j]; |
|
214 if( fieldName == mapping.iElementName ) |
|
215 { |
|
216 TInt rndLen = 0; |
|
217 TPtrC content = fieldList[i]->Content(); |
|
218 |
|
219 // MCreatorRandomDataField::TRandomLengthType randomLenType = MCreatorRandomDataField::ERandomLengthUndefined; |
|
220 |
|
221 if( content == TPtrC(KEmpty) || content == TPtrC(KNullDesC) ) |
|
222 { |
|
223 // random |
|
224 CleanupStack::PushL( field ); |
|
225 QContactDetail cntDetail = field->CreateContactDetail(iEngine,param,mapping.iDetail,mapping.iContext,mapping.iFieldCode, KErrNotFound ); |
|
226 if(!cntDetail.isEmpty()) |
|
227 { |
|
228 field->AddFieldToParam( param, cntDetail ); //it will do "param->iContactFields.AppendL(field);" |
|
229 } |
|
230 CleanupStack::Pop( field ); |
|
231 } |
|
232 else |
|
233 { |
|
234 CleanupStack::PushL( field ); |
|
235 QContactDetail cntDetail = field->CreateContactDetail(iEngine,param,mapping.iDetail,mapping.iContext,mapping.iFieldCode, content ); |
|
236 if(!cntDetail.isEmpty()) |
|
237 { |
|
238 field->AddFieldToParam( param, cntDetail ); //it will do "param->iContactFields.AppendL(field);" |
|
239 } |
|
240 CleanupStack::Pop( field ); |
|
241 } |
|
242 |
|
243 break; |
|
244 |
|
245 } |
|
246 } |
|
247 |
|
248 } |
|
249 } |
|
250 else |
|
251 { |
|
252 // No fields specified, so add all fields with random content: |
|
253 for( TInt i = 0; i < fieldMappingTblSize; ++i ) |
|
254 { |
|
255 if( fieldMappingTbl[i].iElementName == KThumbnailId || |
|
256 fieldMappingTbl[i].iElementName == KRingToneId ) |
|
257 { |
|
258 // Skip thumbnail and ringtone IDs, since they are duplicates with thumbnailpath and ringtonepath |
|
259 continue; |
|
260 } |
|
261 |
|
262 CCreatorContactField* field = CCreatorContactField::NewL(); |
|
263 CleanupStack::PushL( field ); |
|
264 QContactDetail cntDetail = field->CreateContactDetail(iEngine,param,fieldMappingTbl[i].iDetail,fieldMappingTbl[i].iContext,fieldMappingTbl[i].iFieldCode, KErrNotFound ); |
|
265 if(!cntDetail.isEmpty()) |
|
266 { |
|
267 field->AddFieldToParam( param, cntDetail ); //it will do "param->iContactFields.AppendL(field);" |
|
268 } |
|
269 CleanupStack::Pop( field ); |
|
270 } |
|
271 } |
|
272 iEngine->AppendToCommandArrayL(ECmdCreatePhoneBookEntryContacts, param); |
|
273 iParameters.AppendL(param); // Save the pointer to the parametes. |
|
274 CleanupStack::Pop(param); |
|
275 } |
|
276 } |
|
277 |
|
278 |
|
279 /* |
|
280 void CCreatorContactElement::ExecuteCommandL() |
77 {} |
281 {} |
78 |
282 */ |
79 CCreatorContactSetElement* CCreatorContactSetElement::NewL(CCreatorEngine* aEngine, const TDesC& aName, const TDesC& aContext) |
283 CCreatorContactSetElement* CCreatorContactSetElement::NewL(CCreatorEngine* aEngine, const TDesC& aName, const TDesC& aContext) |
80 { |
284 { |
81 LOGSTRING("Creator: CCreatorContactSetElement::NewL"); |
285 LOGSTRING("Creator: CCreatorContactSetElement::NewL"); |
82 CCreatorContactSetElement* self = new (ELeave) CCreatorContactSetElement(aEngine); |
286 CCreatorContactSetElement* self = new (ELeave) CCreatorContactSetElement(aEngine); |
83 CleanupStack::PushL(self); |
287 CleanupStack::PushL(self); |