00001
00002
00003
00004
00005
00006 #ifndef __TXTFWDOP_H__
00007 #define __TXTFWDOP_H__
00008
00009 #include <msvapi.h>
00010
00011 _LIT(KTxtMtmFwdPrefix, "Fwd:");
00012
00013
00014
00015 class TTxtMtmForwardOpProgress
00016 {
00017 public:
00018 enum TState
00019 {
00020 EInit,
00021 ECreateMessage,
00022 EFormatBodyText,
00023 EFinished
00024 };
00025
00026 public:
00027 TState iState;
00028 TMsvId iFinalMsgId;
00029 TInt iError;
00030 };
00031
00032
00033 typedef TPckgBuf <TTxtMtmForwardOpProgress> TTxtMtmForwardOpProgressBuf;
00034
00035
00036 class CTxtMtmForwardOperation : public CMsvOperation
00037 {
00038 public:
00039 static CTxtMtmForwardOperation* NewL(TMsvId aSourceMessage, TMsvId aDestinationFolder, CMsvSession& aMsvSession, TRequestStatus& aObserverRequestStatus);
00040 ~CTxtMtmForwardOperation();
00041
00042 public:
00043 virtual const TDesC8& ProgressL();
00044 virtual const TDesC8& FinalProgress();
00045
00046 public:
00047 virtual void DoCancel();
00048 virtual void RunL();
00049 virtual TInt RunError(TInt aError);
00050
00051 private:
00052 void CreateMessageL();
00053 void FormatBodyTextL();
00054
00055 private:
00056 CTxtMtmForwardOperation(TMsvId aSourceMessage, TMsvId aDestinationFolder, CMsvSession& aMsvSession, TRequestStatus& aObserverRequestStatus);
00057 void ConstructL();
00058
00059 private:
00060 TTxtMtmForwardOpProgress iProgress;
00061 TTxtMtmForwardOpProgressBuf iProgressBuf;
00062 TMsvId iSourceMessage;
00063 TMsvId iDestinationFolder;
00064 CMsvEntry* iMsvEntry;
00065 };
00066
00067 #endif // __TXTFWDOP_H__