messagingfw/msgtest/integration/email/inc/sms.h
changeset 62 db3f5fa34ec7
parent 0 8e480a14352b
equal deleted inserted replaced
60:9f5ae1728557 62:db3f5fa34ec7
       
     1 // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef __SMS_H
       
    17 #define __SMS_H
       
    18 
       
    19 #include "emailsmoke.h"
       
    20 #include "sendas.h"
       
    21 #include <smuthdr.h>
       
    22 #include <smutset.h>
       
    23 #include "testframeparse.h"
       
    24 
       
    25 // sms commands
       
    26 _LIT(CCommandSmsBaseClientTest,	"sms_base_client_test");	// 1 param, name of sms base section
       
    27 _LIT(CCommandSmsClientTest,		"sms_client_test");			// 1 param, name of sms section
       
    28 _LIT(KCommandSmsBegin,			"sms_begin");				// no params
       
    29 _LIT(KCommandSmsCreateMessage,	"create_sms_message");		// 3+1 params: 
       
    30 															// param1, subdirectory of text file to be attached
       
    31 															// param2, file name to be attached
       
    32 															// param3, what folder to create
       
    33 															// param4, OPTIONAL how many messages to create
       
    34 _LIT(KCommandSmsEnd,			"sms_end");					// no params
       
    35 
       
    36 
       
    37 //
       
    38 class CSmsBaseUtils : public MMsvSessionObserver
       
    39 	{
       
    40 public:
       
    41 	CSmsBaseUtils();
       
    42 	virtual ~CSmsBaseUtils();
       
    43 
       
    44 	virtual void StartL();
       
    45 
       
    46 	void							SetEntryL(TMsvId	aId);
       
    47 	CMsvEntry&						EntryL();
       
    48 	const TMsvSelectionOrdering&	SelectionOrdering() const { return iOrder; }
       
    49 
       
    50 	//	MMsvSessionObserver
       
    51 	void	HandleSessionEventL(TMsvSessionEvent, TAny*, TAny*, TAny*) {};
       
    52 
       
    53 protected:
       
    54 	void SetDefaultServiceL(TUid aMtm, TMsvId aService) const;
       
    55 	TInt DefaultServiceL(TUid aMtm, TMsvId& aService) const;
       
    56 
       
    57 protected:
       
    58 	CMsvSession* iSession;
       
    59 	
       
    60 private:
       
    61 	CMsvEntry*				iEntry;
       
    62 	TMsvSelectionOrdering	iOrder;	
       
    63 	};
       
    64 
       
    65 
       
    66 //
       
    67 class CSmsTestUtils : public CSmsBaseUtils
       
    68 	{
       
    69 public:
       
    70 	CSmsTestUtils() {};
       
    71    ~CSmsTestUtils() {};
       
    72 
       
    73 	void StartL();
       
    74 	};
       
    75 
       
    76 
       
    77 //
       
    78 class CSmsBaseClientTest : public CBaseTestHarness
       
    79 	{
       
    80 public:
       
    81 	static CSmsBaseClientTest* NewL(CSmsTestUtils& aSmsUtils,RTest& aTest);
       
    82 	static CSmsBaseClientTest* NewL(CSmsTestUtils* aSmsUtils,RTest& aTest);
       
    83 	virtual ~CSmsBaseClientTest();
       
    84 
       
    85 	CSmsTestUtils& SmsTestUtils();
       
    86 	void DoCancel();
       
    87 	void SetCurrentOperation(CMsvOperation* aOperation);
       
    88 	CMsvOperation& CurrentOperation();
       
    89 
       
    90 protected:
       
    91 	virtual void ConstructL();
       
    92 	CSmsBaseClientTest(CSmsTestUtils& aSmsUtils,RTest& aTest);
       
    93 	CSmsBaseClientTest(CSmsTestUtils* aSmsUtils,RTest& aTest);
       
    94 
       
    95 public:
       
    96 	CMsvEntrySelection* iCurrentSelection;
       
    97 	TMsvId iSelectedFolder;
       
    98 	TMsvId iDestinationFolder;
       
    99 	TMsvId iCurrentServiceId;
       
   100 
       
   101 protected:
       
   102 	CSmsTestUtils& iSmsUtils;
       
   103 private:
       
   104 	CSmsTestUtils* iOwnedSmsUtils;
       
   105 	CMsvOperation* iOperation;
       
   106 	};
       
   107 
       
   108 
       
   109 //
       
   110 class CSmsBaseClientSectionParser : public CBaseSectionParser
       
   111 	{
       
   112 public:
       
   113 	static CSmsBaseClientSectionParser* NewL(CSmsBaseClientTest& aSmsTest, CTestScript& aScript, const TDesC& aNewSectionName);
       
   114 
       
   115 protected:
       
   116 	void LogCommentL(const TDesC& aComment);
       
   117 	void ConstructL(const TDesC& aNewSectionName);
       
   118 	CSmsBaseClientSectionParser(CSmsBaseClientTest& aSmsTest, CTestScript& aScript);
       
   119 
       
   120 private:
       
   121 	CSmsBaseClientTest& iSmsTest;
       
   122 	};
       
   123 
       
   124 
       
   125 //
       
   126 class CNewSmsBaseTestCommandParser : public CBaseCommandParser
       
   127 	{
       
   128 public:
       
   129 	void ProcessL();
       
   130 	static CNewSmsBaseTestCommandParser* NewL(CTestScript& aScript, CMainTestHarness& aMainTest, TBool aKeepLogFile);
       
   131 private:
       
   132 	void ConstructL();
       
   133 	CNewSmsBaseTestCommandParser(CTestScript& aScript, CMainTestHarness& aMainTest, TBool aKeepLogFile);
       
   134 	CMainTestHarness& iMainTest;
       
   135 	CTestScript& iScript;
       
   136 	TBool iKeepLogFile;
       
   137 	};
       
   138 
       
   139 
       
   140 //
       
   141 class CSmsClientTest : public CSmsBaseClientTest
       
   142 	{
       
   143 public:
       
   144 	static CSmsClientTest* NewL(CSmsTestUtils& aSmsUtils, RTest& aTest);
       
   145 	virtual ~CSmsClientTest();
       
   146 
       
   147 protected:
       
   148 	virtual void ConstructL();
       
   149 	CSmsClientTest(CSmsTestUtils& aSmsUtils, RTest& aTest);
       
   150 	};
       
   151 
       
   152 
       
   153 //
       
   154 class CSmsClientSectionParser : public CSmsBaseClientSectionParser
       
   155 	{
       
   156 public:
       
   157 	static CSmsClientSectionParser* NewL(CSmsClientTest& aSmsTest, CTestScript& aScript, const TDesC& aNewSectionName);
       
   158 
       
   159 protected:
       
   160 	void ConstructL(const TDesC& aNewSectionName);
       
   161 	CSmsClientSectionParser(CSmsClientTest& aSmsTest, CTestScript& aScript);
       
   162 
       
   163 private:
       
   164 	CSmsClientTest& iSmsTest;
       
   165 	};
       
   166 
       
   167 
       
   168 //
       
   169 class CNewSmsTestCommandParser : public CBaseCommandParser
       
   170 	{
       
   171 public:
       
   172 	void ProcessL();
       
   173 	static CNewSmsTestCommandParser* NewL(CTestScript& aScript, CSmsBaseClientTest& aSmsTest);
       
   174 private:
       
   175 	void ConstructL();
       
   176 	CNewSmsTestCommandParser(CTestScript& aScript, CSmsBaseClientTest& aSmsTest);
       
   177 	CSmsBaseClientTest& iSmsTest;
       
   178 	CTestScript& iScript;
       
   179 	};
       
   180 
       
   181 
       
   182 //
       
   183 class CSmsBaseUtilitiesParser : public CBaseCommandParser
       
   184 	{
       
   185 public:
       
   186 	void ProcessL();
       
   187 	static CSmsBaseUtilitiesParser* NewL(CSmsBaseClientTest& aSmsTest);
       
   188 private:
       
   189 	void ConstructL();
       
   190 	CSmsBaseUtilitiesParser(CSmsBaseClientTest& aSmsTest);
       
   191 	CSmsBaseClientTest& iSmsTest;
       
   192 	};
       
   193 
       
   194 
       
   195 //
       
   196 class CSmsBegin : public CBase, public MBaseTestState
       
   197 	{
       
   198 public:
       
   199 	void StartL(TRequestStatus& aStatus);
       
   200 	CSmsBegin(CSmsTestUtils& aSmsUtils);
       
   201 
       
   202 protected:
       
   203 	CSmsTestUtils& iSmsUtils;
       
   204 	};
       
   205 
       
   206 
       
   207 //
       
   208 class CSmsEnd : public CBase, public MBaseTestState
       
   209 	{
       
   210 public:
       
   211 	void StartL(TRequestStatus& aStatus);
       
   212 	CSmsEnd(CSmsTestUtils& aSmsUtils);
       
   213 
       
   214 protected:
       
   215 	CSmsTestUtils& iSmsUtils;
       
   216 	};
       
   217 
       
   218 
       
   219 
       
   220 
       
   221 //
       
   222 class CCreateSmsMessage : public CActive, public MBaseTestState, public MSendAsObserver
       
   223 	{
       
   224 public:
       
   225 	CCreateSmsMessage(TMsvId iFolderId, const TMsvId& iServiceId, const TDesC& aFileName, CSmsTestUtils& aSmsUtils,TInt aHowMany=1);
       
   226 	void StartL(TRequestStatus& aStatus);
       
   227 	void RunL();
       
   228 	void DoCancel();
       
   229 	~CCreateSmsMessage();
       
   230 	TBool CapabilityOK(TUid /*aCapability*/, TInt /*aResponse*/)	{ return ETrue; }
       
   231 	void CreateMessageL();
       
   232 
       
   233 private:
       
   234 	enum TCreateSmsState
       
   235 		{
       
   236 		ECreateSmsWait1,
       
   237 		ECreateSmsWait2
       
   238 		};
       
   239 
       
   240 	TCreateSmsState iState;
       
   241 	TMsvId iCurrentFolderId;
       
   242 	const TMsvId& iServiceId;
       
   243 	TFileName iFileName;
       
   244 	CSmsTestUtils& iSmsUtils;
       
   245 	CTestTimer* iTimer;
       
   246 	TRequestStatus* iReportStatus;
       
   247 	TInt iHowMany;
       
   248 	};
       
   249 
       
   250 
       
   251 #endif