diff -r 000000000000 -r 72b543305e3a email/pop3andsmtpmtm/clientmtms/inc/cimprunemessage.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email/pop3andsmtpmtm/clientmtms/inc/cimprunemessage.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,78 @@ +// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// cimprunemessage.h +// + +/** + * @file + * @publishedPartner + * @released + */ + +#if !defined (__CIMPRUNEMESSAGE_H__) +#define __CIMPRUNEMESSAGE_H__ + +class CImEntryFinder; + +class CImPruneMessage : public CMsgActive +/** Deletes the body text and attachment data from an individually specified message. + +Example uses of this class are: + +1. to cleanup after a populating operation has failed + +2. to remove body text and attachment data from remote messages, while preserving +the message structure +@publishedPartner +@released +*/ + { +public: + IMPORT_C static CImPruneMessage* NewL(CMsvEntry& aEntry, RFs& aFs); + IMPORT_C static CImPruneMessage* NewLC(CMsvEntry& aEntry, RFs& aFs); + + IMPORT_C void StartL(TMsvId aMessageEntry, TRequestStatus &aStatus); + ~CImPruneMessage(); + +private: + CImPruneMessage(CMsvEntry& aEntry, RFs& aFs); + void ConstructL(); + void DoRunL(); + void DoComplete(TInt& ); + void DoCancel(); + void PruneEntryL(); + void ResetStoreL(); + +private: + enum TImPruningState + { + EImPruneUpdatingEntry, + EImPruneUpdatingFirstEntry, + EImPruneFindingEntry, + EImPruneFindFirstEntry, + EImPruneFindNextEntry + }; + + TImPruningState iState; + + CMsvEntry& iCurrentEntry; + RFs& iFs; + CImEntryFinder* iEntryFinder; + CFileMan* iFileManager; + TMsvId iRootEntryId; + CMsvOperation* iChangeOperation; + CMsvStore* iStore; + }; + +#endif //__CIMPRUNEMESSAGE_H__