Update contrib.
2 * Copyright (c) 2003-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 "tprimegen.h"
25 CTestAction* CPrimeGen::NewL(RFs& aFs, CConsoleBase& aConsole,
26 Output& aOut, const TTestActionSpec& aTestActionSpec)
28 CTestAction* self = CPrimeGen::NewLC(aFs, aConsole,
29 aOut, aTestActionSpec);
34 CTestAction* CPrimeGen::NewLC(RFs& aFs, CConsoleBase& aConsole,
35 Output& aOut, const TTestActionSpec& aTestActionSpec)
37 CPrimeGen* self = new(ELeave) CPrimeGen(aFs, aConsole, aOut);
38 CleanupStack::PushL(self);
39 self->ConstructL(aTestActionSpec);
43 CPrimeGen::~CPrimeGen()
48 CPrimeGen::CPrimeGen(RFs& aFs, CConsoleBase& aConsole,
49 Output& aOut) : CTestAction(aConsole, aOut), iFs(aFs)
53 void CPrimeGen::ConstructL(const TTestActionSpec& aTestActionSpec)
55 CTestAction::ConstructL(aTestActionSpec);
56 iBody = HBufC8::NewL(aTestActionSpec.iActionBody.Length());
57 iBody->Des().Copy(aTestActionSpec.iActionBody);
59 iBits = Input::ParseIntElement(*iBody, _L8("<bits>"), _L8("</bits>"));
62 void CPrimeGen::DoPerformPrerequisite(TRequestStatus& aStatus)
64 TRequestStatus* status = &aStatus;
65 User::RequestComplete(status, KErrNone);
66 iActionState = CTestAction::EAction;
69 void CPrimeGen::DoPerformPostrequisite(TRequestStatus& aStatus)
71 TRequestStatus* status = &aStatus;
73 User::RequestComplete(status, KErrNone);
76 void CPrimeGen::DoReportAction(void)
80 void CPrimeGen::DoCheckResult(TInt)
84 void CPrimeGen::PerformAction(TRequestStatus& aStatus)
87 TRequestStatus* status = &aStatus;
90 RInteger prime = RInteger::NewPrimeL(iBits, TInteger::ETopBitSet);
91 CleanupStack::PushL(prime);
92 if(prime.BitCount() == iBits && prime.IsPrimeL())
97 CleanupStack::PopAndDestroy(&prime);
99 User::RequestComplete(status, KErrNone);
100 iActionState = CTestAction::EPostrequisite;