equal
deleted
inserted
replaced
53 CAsyncContactOperation::~CAsyncContactOperation() |
53 CAsyncContactOperation::~CAsyncContactOperation() |
54 { |
54 { |
55 CActive::Cancel(); |
55 CActive::Cancel(); |
56 delete iDiskSpaceChecker; |
56 delete iDiskSpaceChecker; |
57 iFs.Close(); |
57 iFs.Close(); |
|
58 delete iViewDef; |
58 } |
59 } |
59 |
60 |
60 void CAsyncContactOperation::ConstructL() |
61 void CAsyncContactOperation::ConstructL() |
61 { |
62 { |
62 User::LeaveIfError( iFs.Connect() ); |
63 User::LeaveIfError( iFs.Connect() ); |
65 ( TVPbkContactStoreUriPtr::EContactStoreUriStoreDrive ) ); |
66 ( TVPbkContactStoreUriPtr::EContactStoreUriStoreDrive ) ); |
66 TInt drive( EDriveA ); // c is usually the default location |
67 TInt drive( EDriveA ); // c is usually the default location |
67 User::LeaveIfError( iFs.CharToDrive |
68 User::LeaveIfError( iFs.CharToDrive |
68 ( ptr[0], drive) ); |
69 ( ptr[0], drive) ); |
69 iDiskSpaceChecker = VPbkEngUtils::CVPbkDiskSpaceCheck::NewL( iFs, drive ); |
70 iDiskSpaceChecker = VPbkEngUtils::CVPbkDiskSpaceCheck::NewL( iFs, drive ); |
|
71 |
|
72 iViewDef = CContactItemViewDef::NewL( |
|
73 CContactItemViewDef::EIncludeFields, |
|
74 CContactItemViewDef::EMaskHiddenFields); |
|
75 |
|
76 iViewDef->AddL( KUidContactFieldMatchAll ); |
|
77 |
70 } |
78 } |
71 |
79 |
72 void CAsyncContactOperation::PrepareL |
80 void CAsyncContactOperation::PrepareL |
73 ( MVPbkContactObserver::TContactOp aOpCode, |
81 ( MVPbkContactObserver::TContactOp aOpCode, |
74 TContactItemId aContactId, |
82 TContactItemId aContactId, |
132 CleanupStack::Pop( ci ); |
140 CleanupStack::Pop( ci ); |
133 break; |
141 break; |
134 } |
142 } |
135 |
143 |
136 case MVPbkContactObserver::EContactReadAndLock: |
144 case MVPbkContactObserver::EContactReadAndLock: |
137 { |
145 { |
138 CContactItem* ci = |
146 CContactItem* ci = |
139 iContactStore.NativeDatabase().OpenContactLX( iTargetContactId ); |
147 iContactStore.NativeDatabase().OpenContactLX( iTargetContactId, *iViewDef ); |
140 CleanupStack::PushL( ci ); |
148 CleanupStack::PushL( ci ); |
|
149 |
141 CContact* contact = CContact::NewL( iContactStore, ci ); |
150 CContact* contact = CContact::NewL( iContactStore, ci ); |
142 result.iStoreContact = contact; |
151 result.iStoreContact = contact; |
143 contact->SetModified(); |
152 contact->SetModified(); |
144 CleanupStack::Pop( 2 ); // ci, lock |
153 CleanupStack::Pop( 2 ); // ci, lock |
145 break; |
154 break; |
154 case MVPbkContactObserver::EContactLock: |
163 case MVPbkContactObserver::EContactLock: |
155 { |
164 { |
156 if( iClientContact ) |
165 if( iClientContact ) |
157 { |
166 { |
158 CContactItem* ci = iContactStore.NativeDatabase().OpenContactLX( |
167 CContactItem* ci = iContactStore.NativeDatabase().OpenContactLX( |
159 iClientContact->NativeContact()->Id() ); |
168 iClientContact->NativeContact()->Id(), *iViewDef ); |
160 CleanupStack::PushL( ci ); |
169 CleanupStack::PushL( ci ); |
161 const_cast<CContact*>( iClientContact )->SetContact( ci ); |
170 const_cast<CContact*>( iClientContact )->SetContact( ci ); |
162 const_cast<CContact*>( iClientContact )->SetModified(); |
171 const_cast<CContact*>( iClientContact )->SetModified(); |
163 CleanupStack::Pop( 2 ); // ci, lock |
172 CleanupStack::Pop( 2 ); // ci, lock |
164 } |
173 } |