diff -r 000000000000 -r a41df078684a kerneltest/e32test/usbho/t_usbdi/inc/testengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kerneltest/e32test/usbho/t_usbdi/inc/testengine.h Mon Oct 19 15:55:17 2009 +0100 @@ -0,0 +1,132 @@ +#ifndef __TEST_ENGINE_H +#define __TEST_ENGINE_H + +/* +* 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: +* @file TestEngine.h +* @internalComponent +* +* +*/ + + + +#include + +namespace NUnitTesting_USBDI + { + +// Forward declarations + +class CTestCaseController; + +/** +This class represents the engine for this test module. +It parses the command line and builds the test that should be run(through iTestCaseController) +*/ +class CTestEngine : public CActive + { +public: + /** + Symbian Construction + @return a pointer to a new instance of CTestEngine + */ + + static CTestEngine* NewL(); + + /** + Destructor + */ + + ~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); + + /** + Retrieve the list of test cases identities + @return the list of test cases identities + */ + + RPointerArray& TestCasesIdentities(); + + /** + Retrieve the number of times the test cases are repeated + @the number of times the test cases are repeated + */ + + TUint NumRepeats(); + +private: // From CActive + /** + */ + + void DoCancel(); + + /** + */ + + void RunL(); + + /** + */ + + TInt RunError(TInt aError); + +private: + /** + C++ constructor + */ + + CTestEngine(); + + /** + 2nd phase constructor + */ + + void ConstructL(); + +private: + /** + The test cases from the Xml file that the user wishes to execute + */ + RPointerArray iTestCasesIdentities; + + /** + */ + TInt iTestCaseIndex; + + /** + */ + TUint iRepeat; + + /** + */ + TUint iNumRepeats; + + /** + The test controller + */ + CTestCaseController* iTestCaseController; + }; + + } + +#endif \ No newline at end of file