phonebookengines/VirtualPhonebook/VPbkCntModel/src/CAsyncContactOperation.cpp
branchRCL_3
changeset 15 e8e3147d53eb
parent 0 e686773b3f54
child 64 c1e8ba0c2b16
--- a/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CAsyncContactOperation.cpp	Fri Mar 12 15:41:25 2010 +0200
+++ b/phonebookengines/VirtualPhonebook/VPbkCntModel/src/CAsyncContactOperation.cpp	Mon Mar 15 12:39:26 2010 +0200
@@ -55,6 +55,7 @@
     CActive::Cancel();
     delete iDiskSpaceChecker;
     iFs.Close();
+    delete iViewDef;
     }
     
 void CAsyncContactOperation::ConstructL()
@@ -67,6 +68,13 @@
     User::LeaveIfError( iFs.CharToDrive
         ( ptr[0], drive) );
     iDiskSpaceChecker = VPbkEngUtils::CVPbkDiskSpaceCheck::NewL( iFs, drive );
+    
+    iViewDef = CContactItemViewDef::NewL(
+                      CContactItemViewDef::EIncludeFields, 
+                      CContactItemViewDef::EMaskHiddenFields);
+
+    iViewDef->AddL( KUidContactFieldMatchAll );
+    
     }    
 
 void CAsyncContactOperation::PrepareL
@@ -134,10 +142,11 @@
             }
 
         case MVPbkContactObserver::EContactReadAndLock:
-            {
+            {          
             CContactItem* ci = 
-                iContactStore.NativeDatabase().OpenContactLX( iTargetContactId );
+                iContactStore.NativeDatabase().OpenContactLX( iTargetContactId, *iViewDef );
             CleanupStack::PushL( ci );
+            
             CContact* contact = CContact::NewL( iContactStore, ci );
             result.iStoreContact = contact;
             contact->SetModified();
@@ -156,7 +165,7 @@
             if( iClientContact )
             	{
             	CContactItem* ci = iContactStore.NativeDatabase().OpenContactLX(
-            			iClientContact->NativeContact()->Id() );
+            			iClientContact->NativeContact()->Id(), *iViewDef );
 	            CleanupStack::PushL( ci );
 	            const_cast<CContact*>( iClientContact )->SetContact( ci );
 	            const_cast<CContact*>( iClientContact )->SetModified();