Update contrib.
2 * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
23 #include "performancetest.h"
25 #include "tvectorutils.h"
27 _LIT8(KPerformanceTestStart, "<KPerformanceTesting>");
28 _LIT8(KPerformanceTestEnd, "</KPerformanceTesting>");
30 /*static*/ CPerformance* CPerformance::iPerformanceTester = NULL;
32 /*static*/ CPerformance* CPerformance::NewL()
34 if (!iPerformanceTester)
36 iPerformanceTester = new (ELeave) CPerformance();
39 return (iPerformanceTester);
42 /*static*/ CPerformance* CPerformance::PerformanceTester()
44 ASSERT(iPerformanceTester);
45 return (iPerformanceTester);
48 /*static*/ void CPerformance::ClosePerformanceTester()
50 delete iPerformanceTester;
51 iPerformanceTester = NULL;
55 CPerformance::CPerformance()
56 : iTestingPerformance(EFalse) // Default to no performance testing
59 CPerformance::~CPerformance()
62 ////////////////////////////////////////////////////////////////////////
63 // Use this class as a place holder to turn performance testing on/off
64 ////////////////////////////////////////////////////////////////////////
66 CTestAction* CPerformanceTest::NewL(RFs& aFs, CConsoleBase& aConsole, Output& aOut, const TTestActionSpec& aTestActionSpec)
68 CTestAction* me = CPerformanceTest::NewLC(aFs, aConsole, aOut, aTestActionSpec);
69 CleanupStack::Pop(me);
73 CTestAction* CPerformanceTest::NewLC(RFs& /*aFs*/, CConsoleBase& aConsole, Output& aOut, const TTestActionSpec& aTestActionSpec)
75 CPerformanceTest* me = new (ELeave) CPerformanceTest(aConsole, aOut);
76 CleanupStack::PushL(me);
77 me->ConstructL(aTestActionSpec);
78 return (static_cast<CTestAction*>(me));
82 CPerformanceTest::CPerformanceTest(CConsoleBase& aConsole, Output& aOut)
83 : CTestAction(aConsole, aOut)
87 CPerformanceTest::~CPerformanceTest()
91 void CPerformanceTest::ConstructL(const TTestActionSpec& aTestActionSpec)
93 CTestAction::ConstructL(aTestActionSpec);
95 // Switch on performance testing?
96 TPtrC8 enablePtr = Input::ParseElement(aTestActionSpec.iActionBody, KPerformanceTestStart, KPerformanceTestEnd);
97 TBool enablePerformance = VectorUtils::ParseBoolL(enablePtr);
98 CPerformance::PerformanceTester()->SetTestingPerformance(enablePerformance);
100 iExpectedResult = KErrNone;
103 void CPerformanceTest::DoPerformPrerequisite(TRequestStatus& aStatus)
105 TRequestStatus* status = &aStatus;
106 User::RequestComplete(status, KErrNone);
107 iActionState = CTestAction::EAction;
110 void CPerformanceTest::DoPerformPostrequisite(TRequestStatus& aStatus)
112 TRequestStatus* status = &aStatus;
114 User::RequestComplete(status, KErrNone);
117 void CPerformanceTest::PerformAction(TRequestStatus& aStatus)
121 TRequestStatus* status = &aStatus;
122 User::RequestComplete(status, KErrNone);