sl@0: /* sl@0: * Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of the License "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: #ifndef __TACTIONMONTECARLO_H__ sl@0: #define __TACTIONMONTECARLO_H__ sl@0: sl@0: #include "cryptotestaction.h" sl@0: sl@0: class CBufferedEncryptor; // Forward declare sl@0: class CBufferedDecryptor; // Forward declare sl@0: sl@0: const TInt KMonteCarloIterations = 10000; sl@0: sl@0: class CActionMonteCarlo : public CCryptoTestAction sl@0: { sl@0: public: sl@0: static CTestAction* NewL(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: static CTestAction* NewLC(RFs& aFs, CConsoleBase& aConsole, sl@0: Output& aOut, const TTestActionSpec& aTestActionSpec); sl@0: virtual ~CActionMonteCarlo(); sl@0: protected: sl@0: CActionMonteCarlo(RFs& aFs, CConsoleBase& aConsole, Output& aOut); sl@0: protected: sl@0: virtual void DoPerformPrerequisiteL(); sl@0: virtual void DoPerformActionL(); sl@0: protected: sl@0: void DoAESEncryptECB(); sl@0: void DoAESDecryptECB(); sl@0: void DoAESEncryptCBC(); sl@0: void DoAESDecryptCBC(); sl@0: protected: sl@0: CBufferedEncryptor* iEncrypt; sl@0: CBufferedDecryptor* iDecrypt; sl@0: }; sl@0: sl@0: #endif // __TACTIONMONTECARLO_H__