First public contribution.
1 #ifndef __TEST_CASE_CONTROLLER_H
2 #define __TEST_CASE_CONTROLLER_H
5 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
7 * This component and the accompanying materials are made available
8 * under the terms of the License "Eclipse Public License v1.0"
9 * which accompanies this distribution, and is available
10 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
12 * Initial Contributors:
13 * Nokia Corporation - initial contribution.
18 * @file TestCaseController.h
28 #include "TestCaseFactory.h"
30 namespace NUnitTesting_USBDI
33 // Forward declarations
36 class CBasicTestPolicy;
40 This class represents the test case state machine for executing the host test cases
42 class CTestCaseController : public CActive
46 Symbian construction of the controller of the test cases
47 @param aTestEngine the test engine for the test application
48 @param aHostRole the role for the test controller (i.e. running test cases in host or client mode)
51 static CTestCaseController* NewL(CTestEngine& aTestEngine,TBool aHostRole);
57 ~CTestCaseController();
59 protected: // From CActive
62 Cancels the task that the this controller is performing
68 Keeps running all specified test cases
74 Framework error function for RunL
77 TInt RunError(TInt aError);
82 C++ constructor, build a controller for the test cases
83 @param aTestEngine the test engine for the test application
84 @param aHostRole the role for the test controller (i.e. running test cases in host or client mode)
87 CTestCaseController(CTestEngine& aTestEngine,TBool aHostRole);
90 Symbian 2nd phase construction
99 CTestEngine& iTestEngine;
103 TBuf<KTestCaseIdLength> iTestCaseId;
106 Array of cases results
108 RArray<TBool> iTestCasesResults;
111 The test policy employed for the test cases
113 CBasicTestPolicy* iTestPolicy;
116 The role of this controller, whether it runs USB client device test cases
117 or USB Host test cases