buildverification/smoketest/messaging/Inc/TestMessSharedData.h
branchRCL_3
changeset 20 493058e57c8c
parent 0 9736f095102e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buildverification/smoketest/messaging/Inc/TestMessSharedData.h	Wed Sep 01 12:30:50 2010 +0100
@@ -0,0 +1,102 @@
+// Copyright (c) 2003-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:
+// This contains CTestMessSharedData
+// 
+//
+
+#if (!defined __TEST_MESS_SHARED_DATA_H__)
+#define __TEST_MESS_SHARED_DATA_H__
+
+#include <msvapi.h>
+#include <mtclreg.h>
+#include <imapconnectionobserver.h>
+#include <test/testexecutestepbase.h>
+
+class  CTestMessSharedData : public CBase, private MMsvSessionObserver
+{
+public:
+	static CTestMessSharedData*	NewL();
+	~CTestMessSharedData();
+
+	void	IMAP4ConnectAndSyncCompleteAfterDisconnectL(TUid aMtmId, TMsvId aMsvId, CTestStep& aStep);
+	TInt	DeleteEntryL(CTestStep& aStep);
+
+	void	DoProcessL();
+
+protected:
+	CTestMessSharedData();
+
+private:
+	void	ConstructL();
+
+	//	MMsvSessionObserver implementation
+	virtual void HandleSessionEventL(TMsvSessionEvent, TAny*, TAny*, TAny*) {}
+
+private:
+	class CMsgEntry : public CActive
+	{
+	public:
+		~CMsgEntry();
+
+		virtual void	DoCancel();
+		virtual void	RunL();
+		virtual void	DoProcessL(CClientMtmRegistry& aMtmRegistry) = 0;
+		virtual void	DoCancelProcessL() = 0;
+
+	protected:
+		CMsgEntry(CMsgEntry* aList);
+
+		void	ConstructL(CTestStep& aStep);
+
+	public:
+		TName		iName;
+		CMsgEntry*	iNext;
+		TBool		iReadyToBeDeleted;
+	};
+	class CMsgIMAP4ConnectAndSyncComplete : public CMsgEntry, public MMsvImapConnectionObserver
+	{
+	public:
+		static CMsgIMAP4ConnectAndSyncComplete* NewL(TUid aMtmId, TMsvId aMsvId, CTestStep& aStep, CMsgEntry* aList);
+		~CMsgIMAP4ConnectAndSyncComplete();
+
+		virtual void	RunL();
+		virtual void	DoProcessL(CClientMtmRegistry& aMtmRegistry);
+		virtual void	DoCancelProcessL();
+
+	protected:
+		CMsgIMAP4ConnectAndSyncComplete(TUid aMtmId, TMsvId aMsvId, CMsgEntry* aList);
+
+	private:		
+		//	MMsvImapConnectionObserver implementation
+		void	HandleImapConnectionEvent(TImapConnectionEvent aConnectionEvent);
+
+	private:
+		TUid			iMtmId;
+		TMsvId			iMsvId;
+		CBaseMtm*		iBaseMtm;
+		CMsvOperation*	iOperation;
+		
+	};
+
+public:
+	CMsvSession*		iSession;
+	CClientMtmRegistry*	iMtmRegistry;
+	CMsgEntry*			iList;
+
+private:
+	CMsgEntry*			iAnyPostStepToDo;
+	TBool				iDeleteTestStep;
+};
+
+#endif /* __TEST_MESS_SHARED_DATA_H__ */