--- a/omads/omadsextensions/adapters/contacts/src/NSmlContactsDataStore.cpp Tue Feb 02 00:02:49 2010 +0000
+++ b/omads/omadsextensions/adapters/contacts/src/NSmlContactsDataStore.cpp Fri Feb 19 22:40:37 2010 +0200
@@ -1910,12 +1910,61 @@
{
iWriteStream.Close();
User::RequestComplete( iCallerStatus, aError );
- }
- else if(iLastOperation == ENSmlRetrieveOp)
- {
- User::RequestComplete( iCallerStatus, aError );
- }
- }
+ }
+ else if (iLastOperation == ENSMLUpdateExportOp)
+ {
+ iWriteStream.Close();
+ delete iMergeItem;
+ iMergeItem = NULL;
+ User::RequestComplete( iCallerStatus, aError );
+ }
+ else if (iLastOperation == ENSMLUpdateImportOp)
+ {
+ if(iBatchMode)
+ {
+ iResultArray->Append( aError );
+ }
+ delete iBuf;
+ iBuf = NULL;
+ iReadStream.Close();
+ iIndex++;
+ if(iIndex == iContactsBufferItemList.Count() )
+ {
+ ResetBuffer();
+ User::RequestComplete( iCallerStatus, aError );
+ }
+ else
+ {
+ _DBG_FILE("VPbkSingleContactOperationFailed, Continuing to complete the Batch Operation");
+ ExecuteBufferL();
+ }
+ }
+ else if(iLastOperation == ENSmlRetrieveOp)
+ {
+ iRetrieveCount--;
+ if(iBatchMode)
+ {
+ iResultArray->AppendL( aError );
+ }
+ iIndex++;
+ if(iIndex == iContactsBufferItemList.Count() )
+ {
+ ResetBuffer();
+ User::RequestComplete( iCallerStatus, aError );
+ }
+ else if(!iRetrieveCount)
+ {
+ _DBG_FILE("VPbkSingleContactOperationFailed, Continuing to complete the Batch Operation");
+ ExecuteBufferL();
+ }
+ }
+ else
+ {
+ _DBG_FILE("VPbkSingleContactOperationFailed, No Matching LastOperation Completing the Operation");
+ User::RequestComplete( iCallerStatus, aError );
+ }
+ _DBG_FILE("CNSmlContactsDataStore::VPbkSingleContactOperationFailed(): end");
+ }
// ---------------------------------------------------------------------------
// CNSmlContactsDataStore::VPbkSingleContactOperationFailed
// ---------------------------------------------------------------------------