diff -r 696bfeff199e -r fa1df4b99609 email/imap4mtm/imapprotocolcontroller/src/cimapprotocolcontroller.cpp --- a/email/imap4mtm/imapprotocolcontroller/src/cimapprotocolcontroller.cpp Thu Jul 15 18:34:37 2010 +0300 +++ b/email/imap4mtm/imapprotocolcontroller/src/cimapprotocolcontroller.cpp Thu Aug 19 09:51:11 2010 +0300 @@ -3510,17 +3510,49 @@ __LOG_TEXT(KDefaultLog, "CImapProtocolController::UpdateFlagL()"); __ASSERT_DEBUG(iImapCompound==NULL, TImapServerPanic::ImapPanic(TImapServerPanic::ECreateCompoundIsNotNull)); ResetProgress(); - if (!CompleteIfBackgroundOpInProgress(aStatus)) - { - iImapCompound = CImapUpdateFlagOperation::NewL(*iImapSyncManager, - iEntry, - *iImapSettings - ); - iRequestedOp = EUpdateFlag; - StartPrimaryOperation(); - Queue(aStatus); - SetActive(); - } - } - + if (!CompleteIfBackgroundOpInProgress(aStatus)) + { + + iImapCompound = CImapUpdateFlagOperation::NewL(*iImapSyncManager, + iEntry, + *iImapSettings + ); + + iRequestedOp = EUpdateFlag; + StartPrimaryOperation(); + Queue(aStatus); + SetActive(); + } + + } + + + +/** +Updates the selection of messages read/unread status from the remote server. +@param aStatus +*/ +EXPORT_C void CImapProtocolController::UpdateEntriesFlagL( TRequestStatus& aStatus,const CMsvEntrySelection& aSourceSel ,TBool aFlagChanged) + + { + __LOG_TEXT(KDefaultLog, "CImapProtocolController::UpdateEntriesFlagL()"); + __ASSERT_DEBUG(iImapCompound==NULL, TImapServerPanic::ImapPanic(TImapServerPanic::ECreateCompoundIsNotNull)); + ResetProgress(); + + if (!CompleteIfBackgroundOpInProgress(aStatus)) + { + + iImapCompound = CImapUpdateFlagOperation::NewL(*iImapSyncManager, + iEntry, + *iImapSettings, + aSourceSel, + aFlagChanged); + iRequestedOp = EUpdateFlag; + StartPrimaryOperation(); + Queue(aStatus); + SetActive(); + } + + } +