diff -r 000000000000 -r a41df078684a kerneltest/e32test/usbho/t_otgdi/inc/testengine.h --- /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 iTestCasesIdentities; + TInt iTestCaseIndex; + TBool iHelpRequested; + + /** + The test controller + */ + CTestCaseController* iTestCaseController; + }; + + +#endif // TESTENGINE_H