messagingfw/msgtest/integration/email/inc/emailsmoke.h
changeset 0 8e480a14352b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgtest/integration/email/inc/emailsmoke.h	Mon Jan 18 20:36:02 2010 +0200
@@ -0,0 +1,165 @@
+// Copyright (c) 1999-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:
+//
+
+#include <e32test.h>
+#include <csdprog.h>
+#include "emailtestutils.h"
+#include "testframeutils.h"
+
+#ifndef EMAILSMOKE_H
+#define EMAILSMOKE_H
+
+
+#define KInvalidState	-99  //Invalid progress state
+#define KInvalidIAP	-99 
+//
+//
+// MBaseTestState
+//
+
+class MBaseTestState
+	{
+public:
+	virtual void StartL(TRequestStatus& aStatus) = 0;
+	virtual ~MBaseTestState() {};
+
+	void SetDebugInfo(const TTestDebugInfo& aDebugInfo) {iDebugInfo = aDebugInfo;};
+	const TTestDebugInfo& GetDebugInfo() const {return iDebugInfo;};
+
+protected:
+	TTestDebugInfo iDebugInfo;
+	};
+
+class TTestDebugInfo;
+
+//
+//
+// CBaseTestHarness
+//
+
+class CBaseTestHarness : public CActive, public MBaseTestState
+	{
+public:
+	virtual ~CBaseTestHarness();
+
+	virtual void StartL(TRequestStatus& aStatus);
+
+	virtual void AddStateL(MBaseTestState* aTestState, TTestDebugInfo aDebugInfo);
+
+	virtual void LogComment(const TDesC& aError);
+	
+	// From CActive
+	void RunL();
+	void DoCancel();
+	TInt RunError(TInt aError);
+	RTest& TestConsole();
+
+protected:
+	virtual void ConstructL();
+	CBaseTestHarness(RTest& aTest);
+
+	TInt iCurrentState;
+	TRequestStatus* iReportStatus;
+
+	RTest& iTest;
+	CArrayPtrFlat<MBaseTestState>* iStateList;
+
+private:
+//	CTestScript& iScript;
+	};
+
+
+//
+//
+// CMainTestHarness
+//
+
+class CMainTestHarness : public CBaseTestHarness
+	{
+public:
+	static CMainTestHarness* NewL(RTest& aTest);
+	virtual void StartL(TRequestStatus& aStatus);
+
+protected:
+	virtual void ConstructL();
+	CMainTestHarness(RTest& aTest);
+	};
+
+
+//
+//
+// CMsvClientTest
+//
+
+class CMsvClientTest : public CBaseTestHarness
+	{
+public:
+	static CMsvClientTest* NewL(CEmailTestUtils& aTestUtils, RTest& aTest);
+	static CMsvClientTest* NewL(CEmailTestUtils* aTestUtils, RTest& aTest);
+	virtual ~CMsvClientTest();
+	CEmailTestUtils& MsvTestUtils();
+	void DoCancel();
+	void SetCurrentOperation(CMsvOperation* aOperation);
+	CMsvOperation& CurrentOperation();
+
+protected:
+	virtual void ConstructL();
+	CMsvClientTest(CEmailTestUtils& aMsvTestUtils, RTest& aTest);
+	CMsvClientTest(CEmailTestUtils* aMsvTestUtils, RTest& aTest);
+
+public:
+	CMsvEntrySelection* iCurrentSelection;
+	TMsvId iSelectedFolder;
+	TMsvId iDestinationFolder;
+	TMsvId iCurrentServiceId;
+
+protected:
+	CEmailTestUtils& iMsvTestUtils;
+
+private:
+	CMsvTestUtils* iOwnedMsvTestUtils;
+	CMsvOperation* iOperation;
+	};
+
+
+
+//
+//
+// CEmailClientTest
+//
+
+class CEmailClientTest : public CMsvClientTest
+	{
+public:
+	static CEmailClientTest* NewL(CEmailTestUtils& aTestUtils, RTest& aTest);
+	static CEmailClientTest* NewL(CEmailTestUtils* aTestUtils, RTest& aTest);
+	virtual ~CEmailClientTest();
+
+	void LogComment(const TDesC& aError);
+
+	CEmailTestUtils& EmailTestUtils();
+protected:
+	virtual void ConstructL();
+	CEmailClientTest(CEmailTestUtils& aTestUtils, RTest& aTest);
+	CEmailClientTest(CEmailTestUtils* aTestUtils, RTest& aTest);
+
+protected:
+	CEmailTestUtils& iEmailTestUtils;
+
+private:
+	CEmailTestUtils* iOwnedEmailTestUtils;
+	};
+
+#endif