diff -r 000000000000 -r 2c201484c85f cryptoservices/certificateandkeymgmt/tasn1/testparameter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cryptoservices/certificateandkeymgmt/tasn1/testparameter.h Wed Jul 08 11:25:26 2009 +0100 @@ -0,0 +1,126 @@ +/* +* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* TestParameter.h: interface for the CTestParameter class. +* +*/ + + + + + + +/** + @file +*/ + +#ifndef __TESTPARAMETER_H__ +#define __TESTPARAMETER_H__ + +#include + +const TInt KMaxValueSize = 100; + +class CTestParameter : public CBase +{ +public: + enum TType + { + EInt, + EString, + EIntRange, + ERandom + }; +public: + virtual ~CTestParameter(){}; + + virtual TType GetType(void) = 0; + TBool iValid; +protected: + CTestParameter(); + TInt ConvertHex(const TDes& aValue, TInt &aIntValue); +}; + +class CIntTestParameter : public CTestParameter +{ +public: + static CIntTestParameter* NewL(TDes& aValue); + static CIntTestParameter* NewLC(TDes& aValue); + virtual ~CIntTestParameter(){}; + + inline TType GetType(void) { return(EInt);}; + inline TInt Value(void) { return(iValue);} +protected: + CIntTestParameter(){} +private: + void Construct(TDes& aValue); +private: + TInt iValue; +}; + +class CIntRangeTestParameter : public CTestParameter +{ +public: + static CIntRangeTestParameter* NewL(TDes& aValue); + static CIntRangeTestParameter* NewLC(TDes& aValue); + virtual ~CIntRangeTestParameter(){}; + + inline TType GetType(void) { return(EIntRange);}; + inline TInt Start(void) { return(iStart);}; + inline TInt Finish(void) { return(iFinish);}; + inline TInt Range(void) { return((iFinish - iStart)+1);}; +protected: + CIntRangeTestParameter(){} +private: + void Construct(TDes& aValue); +private: + TInt iStart; + TInt iFinish; +}; + +class CRandomTestParameter : public CTestParameter +{ +public: + static CRandomTestParameter* NewL(TDes& aValue); + static CRandomTestParameter* NewLC(TDes& aValue); + virtual ~CRandomTestParameter(){}; + + inline TType GetType(void) { return(ERandom);}; + inline TInt Interations(void) { return(iInterations);}; +protected: + CRandomTestParameter(){} +private: + void Construct(TDes& aValue); +private: + TInt iInterations; +}; + +class CStringTestParameter : public CTestParameter +{ +public: + static CStringTestParameter* NewL(TDes& aValue); + static CStringTestParameter* NewLC(TDes& aValue); + virtual ~CStringTestParameter(){}; + + inline TType GetType(void) { return(EString);}; + inline void GetValue(TDes& aValue) { aValue.Copy(iValue);}; +protected: + CStringTestParameter(){} +private: + void Construct(TDes& aValue); +private: + TBuf iValue; +}; + +#endif // !defined(AFX_TESTPARAMETER_H__95894347_8529_11D6_AB96_00080214A261__INCLUDED_)