messagingfw/msgtestfw/TestActions/Email/Imap4/inc/CMtfDoInvokeAsyncFunctionTestAction.h
changeset 62 db3f5fa34ec7
parent 0 8e480a14352b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingfw/msgtestfw/TestActions/Email/Imap4/inc/CMtfDoInvokeAsyncFunctionTestAction.h	Wed Nov 03 22:41:46 2010 +0530
@@ -0,0 +1,76 @@
+/**
+* Copyright (c) 2004-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:
+*
+*/
+
+
+
+/**
+ @file 
+ @internalTechnology 
+*/
+
+
+#ifndef __CMTF_TEST_ACTION_DO_INVOKE_ASYNC_FUNCTION_TEST_ACTION_H__
+#define __CMTF_TEST_ACTION_DO_INVOKE_ASYNC_FUNCTION_TEST_ACTION_H__
+
+
+// EPOC include
+#include <impcmtm.h>
+
+
+// User include
+#include "CMtfTestAction.h"
+
+// Forward declaration
+class CMtfTestParameter;
+
+
+/**
+  Abstract base class which calls the asynchronous IMAP4-specific commands.
+  The class stores the CMsvOperation object which control asynchronous commands 
+  of IMAP4.
+  
+  InvokeAsyncImap4PopulateCommandL() function in the class can be called to 
+  invoke IMAP4 commands related to Populate mails.
+  
+  Derived classes need to override ExecuteActionL() of CMtfTestAction.
+  This class implements the DoCancel() and RunL() methods.
+
+  @internalTechnology
+*/
+class CMtfDoInvokeAsyncFunctionTestAction : public CMtfTestAction
+	{
+protected:
+	// Constructor
+	CMtfDoInvokeAsyncFunctionTestAction(CMtfTestCase& aTestCase);
+
+	// Invokes the asynchronous IMAP4 command related to Populate All mails, New mails
+	// and mail selection
+	void InvokeAsyncImap4PopulateCommandL(TImap4Cmds			aImap4Command,
+										  CMsvEntrySelection&	aMailSelection
+										 );
+	// Overriding the virtual function from CMtfTestAction
+	virtual void DoCancel();
+
+	// Overriding the virtual function from CMtfTestAction	
+	virtual void RunL();
+
+protected:
+	/** Interface for controlling asynchronous commands */
+	CMsvOperation* iOperation;
+	};
+
+#endif //__CMTF_TEST_ACTION_DO_INVOKE_ASYNC_FUNCION_TEST_ACTION_H__