phonebookengines/VirtualPhonebook/VPbkVCardEng/src/CVPbkImportToStoreOperation.cpp
equal
deleted
inserted
replaced
20 |
20 |
21 #include "CVPbkVCardCompactBCardImporter.h" |
21 #include "CVPbkVCardCompactBCardImporter.h" |
22 #include "CVPbkVCardImporter.h" |
22 #include "CVPbkVCardImporter.h" |
23 #include "CVPbkVCardData.h" |
23 #include "CVPbkVCardData.h" |
24 #include "VPbkVCardEngError.h" |
24 #include "VPbkVCardEngError.h" |
|
25 #include "CVPbkLocalVariationManager.h" |
25 |
26 |
26 // From Virtual Phonebook |
27 // From Virtual Phonebook |
27 #include <MVPbkStoreContact.h> |
28 #include <MVPbkStoreContact.h> |
28 #include <MVPbkContactStore.h> |
29 #include <MVPbkContactStore.h> |
29 #include <MVPbkContactStoreProperties.h> |
30 #include <MVPbkContactStoreProperties.h> |
369 { |
370 { |
370 iOwncardHandler->SetAsOwnContactL(aResults->At(0)); |
371 iOwncardHandler->SetAsOwnContactL(aResults->At(0)); |
371 } |
372 } |
372 |
373 |
373 TBool destroyed = EFalse; |
374 TBool destroyed = EFalse; |
374 if(iGroupcardHandler && ((CVPbkVCardImporter *)iOperationImpl)->IsGroupcard()) |
375 TBool isGroupCard = ((CVPbkVCardImporter *)iOperationImpl)->IsGroupcard(); |
|
376 if(iGroupcardHandler && isGroupCard ) |
375 { |
377 { |
376 // CVPbkGroupCardHandler uses nested activescheduler loop to make |
378 // CVPbkGroupCardHandler uses nested activescheduler loop to make |
377 // async requests synchronous (why?). Hence it is possible that when |
379 // async requests synchronous (why?). Hence it is possible that when |
378 // the execution returns from BuildContactGroupsHashMapL, |
380 // the execution returns from BuildContactGroupsHashMapL, |
379 // GetContactGroupStoreL or DecodeContactGroupInVCardL this instance |
381 // GetContactGroupStoreL or DecodeContactGroupInVCardL this instance |
396 else |
398 else |
397 { |
399 { |
398 destroyed = ETrue; |
400 destroyed = ETrue; |
399 } |
401 } |
400 } |
402 } |
|
403 |
|
404 CVPbkLocalVariationManager* lvm = CVPbkLocalVariationManager::NewL(); |
|
405 TBool supportSyncGroupVcard = lvm->LocallyVariatedFeatureEnabled( EVPbkLVSyncGroupEnabled ); |
|
406 delete lvm; |
|
407 if (supportSyncGroupVcard && iGroupcardHandler && !isGroupCard) |
|
408 { |
|
409 iGroupcardHandler->BuildContactGroupsHashMapL(iTargetStore); |
|
410 iGroupcardHandler->GetContactGroupStoreL(aResults->At(0)); |
|
411 iGroupcardHandler->DeleteContactFromGroupsL(); |
|
412 } |
|
413 |
401 CleanupStack::PopAndDestroy(); // aResults |
414 CleanupStack::PopAndDestroy(); // aResults |
402 |
415 |
403 if ( !destroyed ) |
416 if ( !destroyed ) |
404 { |
417 { |
405 if ( curUnsavedCount == 0 ) |
418 if ( curUnsavedCount == 0 ) |