kerneltest/e32test/usbho/t_otgdi/inc/testengine.h
changeset 0 a41df078684a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/e32test/usbho/t_otgdi/inc/testengine.h	Mon Oct 19 15:55:17 2009 +0100
@@ -0,0 +1,100 @@
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "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:
+// @internalComponent
+// 
+//
+
+#ifndef TESTENGINE_H
+#define TESTENGINE_H
+
+
+extern RTest test;
+
+extern TPtrC KMyApplicationName;
+
+extern TBool gSemiAutomated;
+extern TBool gVerboseOutput;
+extern TInt  gOOMIterations;
+extern TInt  gOpenIterations;
+extern TBool gTestRoleMaster; 
+extern TUint gUSBVidPid;
+
+	
+// Forward declarations
+class CTestCaseController;
+
+//	
+// This class represents the engine for this test module.  It is controlled by user (manual) 
+// key commands.
+//
+
+class CTestEngine : public CBase  //: public CActive
+	{
+public:
+	/**
+	Symbian Construction
+	@return a pointer to a new instance of CTestEngine
+	*/
+	static CTestEngine* NewL();
+
+
+	~CTestEngine();
+	
+	/**
+	Retrieve the next in the list of test cases identities to run
+	@param an empty descriptor to populate with the next test case identity
+	@return KErrNone if successful or KErrNotFound if test cases identities depleted
+	*/
+	TInt NextTestCaseId(TDes& aTestCaseId);
+
+	void Report();
+	// keyboard input
+	static void GetNumericInput(TInt &aNumber);
+
+private: 
+	// From CActive
+	void DoCancel();
+	
+	void RunL();
+	
+	TInt RunError(TInt aError);	
+	
+	CTestEngine();
+	
+	/**
+	2nd phase constructor
+	*/
+	void ConstructL();
+
+	// command-line handling methods
+	void ResetTestCaseIndex() {iTestCaseIndex=0;}
+	void AddAllDefaultTests();	
+	void ProcessCommandLineL();
+	void PrintUsage();
+
+	/**
+	The test cases that the user wishes to execute
+	*/
+	RPointerArray<HBufC> iTestCasesIdentities;
+	TInt 	iTestCaseIndex;
+	TBool 	iHelpRequested;
+	
+	/**
+	The test controller
+	*/
+	CTestCaseController* iTestCaseController;
+	};
+
+	
+#endif  // TESTENGINE_H