00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef SMS_EXAMPLE_ENGINE
00031 #define SMS_EXAMPLE_ENGINE
00032
00033
00034 #include <e32base.h>
00035 #include <msvapi.h>
00036 #include <badesca.h>
00037
00038
00039 class CClientMtmRegistry;
00040 class CSmsClientMtm;
00041 class MSMSExampleMtmsEngineObserver;
00042
00043
00044
00049 class CSMSExampleMtmsEngine : public CActive, public MMsvSessionObserver
00050 {
00051 public:
00052
00059 static CSMSExampleMtmsEngine* NewL(MSMSExampleMtmsEngineObserver&
00060 aObserver);
00061
00065 ~CSMSExampleMtmsEngine();
00066
00067 public:
00068
00074 void MoveToFolderL( TMsvId aMessageId, TMsvId aFolder );
00075
00080 void DeleteMessageL( TMsvId aMessageId );
00081
00087 void CopyMessageL( TMsvId aMessageId, TMsvId aFolder );
00088
00094 void GetMessageAddressL( TMsvId aMessageId, TDes& aAddress );
00095
00103 TBool GetMessageL( TMsvId aMessageId, TDes& aMessage );
00104
00112 TBool GetMessageIndexBodyTextL( TMsvId aMessageId, TDes& aMessage );
00113
00119 void GetFolderSMSMessageInformationL( TMsvId aFolderID,
00120 CDesCArrayFlat*& aAddresses,
00121 CDesCArrayFlat*& aMessages );
00122
00128 RArray<TMsvId>* GetMessageIds();
00129
00130 private:
00135 CSMSExampleMtmsEngine(MSMSExampleMtmsEngineObserver& aObserver);
00136
00140 void ConstructL();
00141
00145 void CreateMtmClientL();
00146
00147 private:
00148 virtual void DoCancel();
00149 virtual void RunL();
00150
00151
00152 private:
00153 void HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1,
00154 TAny* aArg2, TAny* aArg3);
00155
00156 private:
00157
00158
00159 CSmsClientMtm* iSmsMtm;
00160
00161
00162 MSMSExampleMtmsEngineObserver& iObserver;
00163
00164
00165
00166 CMsvOperation* iMsvOper;
00167
00168
00169 CMsvEntrySelection* iEntrySelection;
00170
00171
00172 CMsvSession* iSession;
00173
00174
00175
00176 CClientMtmRegistry* iClientMtmReg;
00177
00178
00179 RArray<TMsvId>* iIdArray;
00180
00181
00182 TMsvId iSmsId;
00183 };
00184
00188 class MSMSExampleMtmsEngineObserver
00189 {
00190 public:
00191 virtual void HandleMessageSentL(TInt aError) = 0;
00192 };
00193
00194
00195 #endif // SMS_EXAMPLE_ENGINE
00196