Update contrib.
2 * Copyright (c) 2002-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.
19 #include "tprimevector.h"
23 CTestAction* CPrimeVector::NewL(RFs& aFs, CConsoleBase& aConsole,
24 Output& aOut, const TTestActionSpec& aTestActionSpec)
26 CTestAction* self = CPrimeVector::NewLC(aFs, aConsole,
27 aOut, aTestActionSpec);
32 CTestAction* CPrimeVector::NewLC(RFs& aFs, CConsoleBase& aConsole,
33 Output& aOut, const TTestActionSpec& aTestActionSpec)
35 CPrimeVector* self = new(ELeave) CPrimeVector(aFs, aConsole, aOut);
36 CleanupStack::PushL(self);
37 self->ConstructL(aTestActionSpec);
41 CPrimeVector::~CPrimeVector()
47 CPrimeVector::CPrimeVector(RFs& aFs, CConsoleBase& aConsole,
48 Output& aOut) : CTestAction(aConsole, aOut), iFs(aFs)
52 void CPrimeVector::ConstructL(const TTestActionSpec& aTestActionSpec)
54 CTestAction::ConstructL(aTestActionSpec);
55 iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
56 iBody->Des().Copy(aTestActionSpec.iActionBody);
58 iPrime = Input::ParseElementHexL(*iBody, _L8("<prime>"));
61 void CPrimeVector::DoPerformPrerequisite(TRequestStatus& aStatus)
63 TRequestStatus* status = &aStatus;
64 User::RequestComplete(status, KErrNone);
65 iActionState = CTestAction::EAction;
68 void CPrimeVector::DoPerformPostrequisite(TRequestStatus& aStatus)
70 TRequestStatus* status = &aStatus;
72 User::RequestComplete(status, KErrNone);
75 void CPrimeVector::DoReportAction(void)
79 void CPrimeVector::DoCheckResult(TInt /*aError*/)
81 iResult = (iResult && iExpectedResult) || (!iResult && !iExpectedResult);
83 iConsole.Printf(_L("."));
85 iConsole.Printf(_L("X"));
89 void CPrimeVector::PerformAction(TRequestStatus& aStatus)
92 TRequestStatus* status = &aStatus;
93 User::RequestComplete(status, KErrNone);
94 iActionState = CTestAction::EPostrequisite;
97 void CPrimeVector::PerformActionL(void)
102 RInteger prime = RInteger::NewL(*iPrime);
103 CleanupStack::PushL(prime);
104 iResult = prime.IsPrimeL();
106 CleanupStack::PopAndDestroy(&prime);