410 } |
410 } |
411 } |
411 } |
412 } |
412 } |
413 } |
413 } |
414 |
414 |
415 |
415 // -------------------------------------------------------------------------- |
416 |
416 // Pbk2AddressTools::MapVPbkFieldTypeToAddressGroupId |
417 |
417 // -------------------------------------------------------------------------- |
|
418 // |
|
419 EXPORT_C TPbk2FieldGroupId Pbk2AddressTools::MapVPbkFieldTypeToAddressGroupId( |
|
420 const MVPbkFieldType* aVPbkFieldType ) |
|
421 { |
|
422 TPbk2FieldGroupId groupId = EPbk2FieldGroupIdNone; |
|
423 TArray<TVPbkFieldVersitProperty> versitArr = aVPbkFieldType->VersitProperties(); |
|
424 if (versitArr.Count()) |
|
425 { |
|
426 const TVPbkFieldVersitProperty& prop = versitArr[0]; |
|
427 |
|
428 if (prop.Name() == EVPbkVersitNameADR) |
|
429 { |
|
430 if (versitArr[0].Parameters().Contains(EVPbkVersitParamHOME)) |
|
431 { |
|
432 groupId = EPbk2FieldGroupIdHomeAddress; |
|
433 } |
|
434 else if (versitArr[0].Parameters().Contains(EVPbkVersitParamWORK)) |
|
435 { |
|
436 groupId = EPbk2FieldGroupIdCompanyAddress; |
|
437 } |
|
438 else |
|
439 { |
|
440 groupId = EPbk2FieldGroupIdPostalAddress; |
|
441 } |
|
442 } |
|
443 } |
|
444 return groupId; |
|
445 } |
|
446 |
|
447 // -------------------------------------------------------------------------- |
|
448 // Pbk2AddressTools::IsAddressPreviewEmptyL |
|
449 // -------------------------------------------------------------------------- |
|
450 // |
|
451 EXPORT_C TBool Pbk2AddressTools::IsAddressPreviewEmptyL( |
|
452 MVPbkStoreContact& aContact, |
|
453 TPbk2FieldGroupId aAddressGroup ) |
|
454 { |
|
455 if( aAddressGroup != EPbk2FieldGroupIdPostalAddress && |
|
456 aAddressGroup != EPbk2FieldGroupIdCompanyAddress && |
|
457 aAddressGroup != EPbk2FieldGroupIdHomeAddress ) |
|
458 { |
|
459 User::Leave(KErrArgument); |
|
460 } |
|
461 TBool isEmpty = ETrue; |
|
462 RHashMap<TInt, TPtrC> fieldsMap; |
|
463 GetAddressFieldsLC( aContact, aAddressGroup, fieldsMap ); |
|
464 if( fieldsMap.Find( EVPbkVersitSubFieldStreet ) ) |
|
465 { |
|
466 isEmpty = EFalse; |
|
467 } |
|
468 else if( fieldsMap.Find( EVPbkVersitSubFieldLocality ) ) |
|
469 { |
|
470 isEmpty = EFalse; |
|
471 } |
|
472 else if( fieldsMap.Find( EVPbkVersitSubFieldRegion ) ) |
|
473 { |
|
474 isEmpty = EFalse; |
|
475 } |
|
476 else if( fieldsMap.Find( EVPbkVersitSubFieldCountry ) ) |
|
477 { |
|
478 isEmpty = EFalse; |
|
479 } |
|
480 CleanupStack::PopAndDestroy( &fieldsMap ); |
|
481 return isEmpty; |
|
482 } |
|
483 |