email/imap4mtm/imapprotocolcontroller/inc/cimapupdateflagoperation.h
author hgs
Wed, 03 Nov 2010 22:55:44 +0530
changeset 80 8b14b30db193
permissions -rw-r--r--
201044_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
80
8b14b30db193 201044_02
hgs
parents:
diff changeset
     1
/*
8b14b30db193 201044_02
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
8b14b30db193 201044_02
hgs
parents:
diff changeset
     3
* All rights reserved.
8b14b30db193 201044_02
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
8b14b30db193 201044_02
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
8b14b30db193 201044_02
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
8b14b30db193 201044_02
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
8b14b30db193 201044_02
hgs
parents:
diff changeset
     8
*
8b14b30db193 201044_02
hgs
parents:
diff changeset
     9
* Initial Contributors:
8b14b30db193 201044_02
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
8b14b30db193 201044_02
hgs
parents:
diff changeset
    11
*
8b14b30db193 201044_02
hgs
parents:
diff changeset
    12
* Contributors:
8b14b30db193 201044_02
hgs
parents:
diff changeset
    13
*
8b14b30db193 201044_02
hgs
parents:
diff changeset
    14
* Description:
8b14b30db193 201044_02
hgs
parents:
diff changeset
    15
*
8b14b30db193 201044_02
hgs
parents:
diff changeset
    16
*/
8b14b30db193 201044_02
hgs
parents:
diff changeset
    17
8b14b30db193 201044_02
hgs
parents:
diff changeset
    18
8b14b30db193 201044_02
hgs
parents:
diff changeset
    19
#ifndef __CIMAPUPDATEFLAGOPERATION_H__
8b14b30db193 201044_02
hgs
parents:
diff changeset
    20
#define __CIMAPUPDATEFLAGOPERATION_H__
8b14b30db193 201044_02
hgs
parents:
diff changeset
    21
8b14b30db193 201044_02
hgs
parents:
diff changeset
    22
#include "cimapcompoundbase.h"
8b14b30db193 201044_02
hgs
parents:
diff changeset
    23
#include "cimapsession.h"
8b14b30db193 201044_02
hgs
parents:
diff changeset
    24
#include "cimapsessionconsts.h"
8b14b30db193 201044_02
hgs
parents:
diff changeset
    25
#include "cimaplogger.h"
8b14b30db193 201044_02
hgs
parents:
diff changeset
    26
#include "imappaniccodes.h"
8b14b30db193 201044_02
hgs
parents:
diff changeset
    27
8b14b30db193 201044_02
hgs
parents:
diff changeset
    28
8b14b30db193 201044_02
hgs
parents:
diff changeset
    29
8b14b30db193 201044_02
hgs
parents:
diff changeset
    30
8b14b30db193 201044_02
hgs
parents:
diff changeset
    31
/**
8b14b30db193 201044_02
hgs
parents:
diff changeset
    32
Sends updated Read/unread mail status to server
8b14b30db193 201044_02
hgs
parents:
diff changeset
    33
8b14b30db193 201044_02
hgs
parents:
diff changeset
    34
@internalTechnology
8b14b30db193 201044_02
hgs
parents:
diff changeset
    35
@released
8b14b30db193 201044_02
hgs
parents:
diff changeset
    36
*/
8b14b30db193 201044_02
hgs
parents:
diff changeset
    37
 NONSHARABLE_CLASS (CImapUpdateFlagOperation) : public CImapCompoundBase
8b14b30db193 201044_02
hgs
parents:
diff changeset
    38
	{
8b14b30db193 201044_02
hgs
parents:
diff changeset
    39
public:
8b14b30db193 201044_02
hgs
parents:
diff changeset
    40
	~CImapUpdateFlagOperation();
8b14b30db193 201044_02
hgs
parents:
diff changeset
    41
	
8b14b30db193 201044_02
hgs
parents:
diff changeset
    42
	static CImapUpdateFlagOperation* NewL(CImapSyncManager& aSyncManager,
8b14b30db193 201044_02
hgs
parents:
diff changeset
    43
						 			  CMsvServerEntry& aServerEntry,
8b14b30db193 201044_02
hgs
parents:
diff changeset
    44
						 			  CImapSettings& aImapSettings
8b14b30db193 201044_02
hgs
parents:
diff changeset
    45
						 			  );
8b14b30db193 201044_02
hgs
parents:
diff changeset
    46
	static CImapUpdateFlagOperation* NewL(CImapSyncManager& aSyncManager,
8b14b30db193 201044_02
hgs
parents:
diff changeset
    47
	                                      CMsvServerEntry& aServerEntry,
8b14b30db193 201044_02
hgs
parents:
diff changeset
    48
	                                      CImapSettings& aImapSettings,
8b14b30db193 201044_02
hgs
parents:
diff changeset
    49
	                                      const CMsvEntrySelection& aSourceSel,
8b14b30db193 201044_02
hgs
parents:
diff changeset
    50
	                                      TBool aFlagChanged
8b14b30db193 201044_02
hgs
parents:
diff changeset
    51
	                                      );
8b14b30db193 201044_02
hgs
parents:
diff changeset
    52
	virtual void StartOperation(TRequestStatus& aStatus, CImapSession& aSession);
8b14b30db193 201044_02
hgs
parents:
diff changeset
    53
	
8b14b30db193 201044_02
hgs
parents:
diff changeset
    54
////////////	virtual void StartOperation(TRequestStatus& aStatus);//
8b14b30db193 201044_02
hgs
parents:
diff changeset
    55
	virtual void Progress(TImap4CompoundProgress& aCompoundProgress);
8b14b30db193 201044_02
hgs
parents:
diff changeset
    56
	// Support for Bearer Mobility
8b14b30db193 201044_02
hgs
parents:
diff changeset
    57
	virtual void ResumeOperationL(TRequestStatus& aStatus, CImapSession& aSession);
8b14b30db193 201044_02
hgs
parents:
diff changeset
    58
	
8b14b30db193 201044_02
hgs
parents:
diff changeset
    59
private:
8b14b30db193 201044_02
hgs
parents:
diff changeset
    60
	CImapUpdateFlagOperation(CImapSyncManager& aSyncManager,
8b14b30db193 201044_02
hgs
parents:
diff changeset
    61
						 CMsvServerEntry& aServerEntry,
8b14b30db193 201044_02
hgs
parents:
diff changeset
    62
						 CImapSettings& aImapSettings
8b14b30db193 201044_02
hgs
parents:
diff changeset
    63
						 );
8b14b30db193 201044_02
hgs
parents:
diff changeset
    64
	void ConstructL();
8b14b30db193 201044_02
hgs
parents:
diff changeset
    65
	void ConstructL(const CMsvEntrySelection& aSourceSel,TBool aFlagChanged);
8b14b30db193 201044_02
hgs
parents:
diff changeset
    66
8b14b30db193 201044_02
hgs
parents:
diff changeset
    67
	TBool DoRunLoopL();
8b14b30db193 201044_02
hgs
parents:
diff changeset
    68
	void DoCancel();
8b14b30db193 201044_02
hgs
parents:
diff changeset
    69
8b14b30db193 201044_02
hgs
parents:
diff changeset
    70
	virtual TInt ProcessNegativeServerResponse();
8b14b30db193 201044_02
hgs
parents:
diff changeset
    71
						 
8b14b30db193 201044_02
hgs
parents:
diff changeset
    72
private:
8b14b30db193 201044_02
hgs
parents:
diff changeset
    73
8b14b30db193 201044_02
hgs
parents:
diff changeset
    74
	RArray<TUint> iMessageUids;
8b14b30db193 201044_02
hgs
parents:
diff changeset
    75
	
8b14b30db193 201044_02
hgs
parents:
diff changeset
    76
	RArrayMessageFlagInfo iFlagInfoResponseArray;
8b14b30db193 201044_02
hgs
parents:
diff changeset
    77
	
8b14b30db193 201044_02
hgs
parents:
diff changeset
    78
	CMsvEntrySelection* iSourceSel;
8b14b30db193 201044_02
hgs
parents:
diff changeset
    79
	TBool iMarkFlag;
8b14b30db193 201044_02
hgs
parents:
diff changeset
    80
	TBool iEntrySelection;
8b14b30db193 201044_02
hgs
parents:
diff changeset
    81
	TInt iProgressMsgsToDo;
8b14b30db193 201044_02
hgs
parents:
diff changeset
    82
	TInt iProgressMsgsDone;
8b14b30db193 201044_02
hgs
parents:
diff changeset
    83
8b14b30db193 201044_02
hgs
parents:
diff changeset
    84
	};
8b14b30db193 201044_02
hgs
parents:
diff changeset
    85
8b14b30db193 201044_02
hgs
parents:
diff changeset
    86
#endif	// __CIMAPUPDATEFLAGOPERATION_H__