crypto/weakcryptospi/test/tcryptospi/src/te_cryptospiconversion.cpp
changeset 8 35751d3474b7
child 15 da2ae96f639b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcryptospi/test/tcryptospi/src/te_cryptospiconversion.cpp	Thu Sep 10 14:01:51 2009 +0300
@@ -0,0 +1,412 @@
+/*
+* Copyright (c) 2007-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: 
+*
+*/
+
+
+/**
+ @file
+ @internalTechnology
+*/
+
+#include "te_cryptospiconversion.h"
+#include "te_cryptospidefs.h"
+#include <cryptospi/cryptohashapi.h>
+#include <cryptospi/cryptorandomapi.h>
+#include "cryptosymmetriccipherapi.h"
+#include "cryptoasymmetriccipherapi.h"
+#include "cryptosignatureapi.h"
+#include "cryptokeypairgeneratorapi.h"
+#include "cryptokeyagreementapi.h"
+#include <cryptospi/ruleselector.h>
+
+using namespace CryptoSpi;
+
+//Returns the Uid representation for the stored string value
+TVariantPtrC::operator TUid()
+	{
+	if (*this==_L("KAlgorithmHashMd2"))	return KMd2Uid;	
+	else if (*this==_L("KAlgorithmHashMd5")) return KMd5Uid;
+	else if (*this==_L("KAlgorithmHashSha1")) return KSha1Uid;
+	else if (*this==_L("KAlgorithmHashMd4")) return KMd4Uid;
+	else if (*this==_L("KAlgorithmHashSha224")) return KSha224Uid;
+	else if (*this==_L("KAlgorithmHashSha256")) return KSha256Uid;
+	else if (*this==_L("KAlgorithmHashSha384")) return KSha384Uid;
+	else if (*this==_L("KAlgorithmHashSha512")) return KSha512Uid;
+	else if (*this==_L("KAlgorithmRandom")) return KRandomUid;	
+	else if (*this==_L("KAlgorithmCipherDes")) return KDesUid;	
+	else if (*this==_L("KAlgorithmCipher3Des")) return K3DesUid;
+	else if (*this==_L("KAlgorithmCipherRc2")) return KRc2Uid;
+	else if (*this==_L("KAlgorithmCipherArc4")) return KArc4Uid;
+	else if (*this==_L("KAlgorithmCipherAes")) return KAesUid;
+	else if (*this==_L("KAlgorithmCipherMisty1")) return KMisty1Uid;
+	else if (*this==_L("KAlgorithmCipherMisty2")) return KMisty2Uid;
+	else if (*this==_L("KAlgorithmCipherKasumi")) return KKasumiUid;
+	else if (*this==_L("KAlgorithmCipherRsa")) return KRsaCipherUid;
+	else if (*this==_L("KAlgorithmSignerRsa")) return KRsaSignerUid;
+	else if (*this==_L("KAlgorithmSignerDsa")) return KDsaSignerUid; 
+	else if (*this==_L("KAlgorithmVerifierRsa")) return KRsaVerifierUid;
+	else if (*this==_L("KAlgorithmVerifierDsa")) return KDsaVerifierUid;
+	else if (*this==_L("KAlgorithmKeyAgreementDH")) return KDHAgreementUid;
+	else if (*this==_L("KAlgorithmRSAKeyPairGenerator")) return KRSAKeyPairGeneratorUid;
+	else if (*this==_L("KAlgorithmDSAKeyPairGenerator")) return KDSAKeyPairGeneratorUid;
+	else if (*this==_L("KAlgorithmDHKeyPairGenerator")) return KDHKeyPairGeneratorUid;
+
+	else if (*this==_L("KHashInterface")) return KHashInterfaceUid;
+	else if (*this==_L("KRandomInterface")) return KRandomInterfaceUid;
+	else if (*this==_L("KSymmetricCipherInterface")) return KSymmetricCipherInterfaceUid;
+	else if (*this==_L("KAsymmetricCipherInterface")) return KAsymmetricCipherInterfaceUid;
+	else if (*this==_L("KSignerInterface")) return KSignerInterfaceUid;
+	else if (*this==_L("KVerifierInterface")) return KVerifierInterfaceUid;
+	else if (*this==_L("KKeyAgreementInterface")) return KKeyAgreementInterfaceUid;
+	else if (*this==_L("KKeyGeneratorInterface")) return KKeyGeneratorInterfaceUid;
+	else if (*this==_L("KKeypairGeneratorInterface")) return KKeypairGeneratorInterfaceUid;
+	else if (*this==_L("KAsyncHashInterface")) return KAsyncHashInterfaceUid;
+	else if (*this==_L("KAsyncRandomInterface")) return KAsyncRandomInterfaceUid;
+	else if (*this==_L("KAsyncSymmetricCipherInterface")) return KAsyncSymmetricCipherInterfaceUid;
+	else if (*this==_L("KAsyncAsymmetricCipherInterface")) return KAsyncAsymmetricCipherInterfaceUid;
+	else if (*this==_L("KAsyncSignerInterface")) return KAsyncSignerInterfaceUid;
+	else if (*this==_L("KAsyncVerifierInterface")) return KAsyncVerifierInterfaceUid;
+	else if (*this==_L("KAsyncKeyAgreementInterface")) return KAsyncKeyAgreementInterfaceUid;
+	else if (*this==_L("KAsyncKeyGeneratorInterface")) return KAsyncKeyGeneratorInterfaceUid;
+	else if (*this==_L("KAsyncKeypairGeneratorInterface")) return KAsyncKeypairGeneratorInterfaceUid;
+	
+	else if (*this==_L("KCryptoModeEncrypt")) return KCryptoModeEncryptUid;
+	else if (*this==_L("KCryptoModeDecrypt")) return KCryptoModeDecryptUid;
+	
+	else if (*this==_L("KOperationModeNone")) return KOperationModeNoneUid;	
+	else if (*this==_L("KOperationModeECB")) return KOperationModeECBUid;
+	else if (*this==_L("KOperationModeCBC")) return KOperationModeCBCUid;
+	else if (*this==_L("KOperationModeOFB")) return KOperationModeOFBUid;
+	else if (*this==_L("KOperationModeCFB")) return KOperationModeCFBUid;
+	else if (*this==_L("KOperationModeCTR")) return KOperationModeCTRUid;
+	else if (*this==_L("KHashMode")) return KHashModeUid;
+	else if (*this==_L("KHmacMode")) return KHmacModeUid;
+	
+	else if (*this==_L("KPaddingInterface")) return KPaddingInterfaceUid;	
+	else if (*this==_L("KPaddingModeNone")) return KPaddingModeNoneUid;
+	else if (*this==_L("KPaddingModeSSLv3")) return KPaddingModeSSLv3Uid;
+	else if (*this==_L("KPaddingModePKCS7")) return KPaddingModePKCS7Uid;
+	else if (*this==_L("KPaddingModePkcs1_v1_5_Encryption")) return KPaddingModePkcs1_v1_5_EncryptionUid;
+	else if (*this==_L("KPaddingModePkcs1_v1_5_Signature")) return KPaddingModePkcs1_v1_5_SignatureUid;
+	
+	else if (*this==_L("KSymmetricKey")) return	KSymmetricKeyUid;
+	else if (*this==_L("KSymmetricKeyParameter")) return KSymmetricKeyParameterUid;
+	else if (*this==_L("KRsaKeyParameterN")) return KRsaKeyParameterNUid;
+	else if (*this==_L("KHmacKey")) return	KHmacKeyUid;
+	else if (*this==_L("KHmacKeyParameter")) return KHmacKeyParameterUid;
+			
+	else if (*this==_L("KRsaSigner")) return KRsaSignerUid;
+	else if (*this==_L("KDsaSigner")) return KDsaSignerUid;
+	
+	else if (*this==_L("KNone")) return KNoneUid;
+	else if (*this==_L("KInterfaceType")) return KInterfaceTypeUid;
+	else if (*this==_L("KAlgorithmType")) return KAlgorithmTypeUid;
+	else if (*this==_L("KImplementationType")) return KImplementationTypeUid;
+	else if (*this==_L("KCreatorNameType")) return KCreatorNameTypeUid;
+	else if (*this==_L("KIsFIPSApprovedType")) return KIsFIPSApprovedTypeUid;
+	else if (*this==_L("KIsHardwareSupportedType")) return KIsHardwareSupportedTypeUid;
+	else if (*this==_L("KMaxConcurrencySupportedType")) return KMaxConcurrencySupportedTypeUid;
+	else if (*this==_L("KLatencyType")) return KLatencyTypeUid;
+	else if (*this==_L("KThroughputType")) return KThroughputTypeUid;
+	else if (*this==_L("KBlockSizeType")) return KBlockSizeTypeUid;
+	else if (*this==_L("KOutputSizeType")) return KOutputSizeTypeUid;
+	else if (*this==_L("KSupportedOperationModesType")) return KSupportedOperationModesTypeUid;
+	else if (*this==_L("KBlockingModeType")) return KBlockingModeTypeUid;
+	else if (*this==_L("KMaximumKeyLengthType")) return KMaximumKeyLengthTypeUid;
+	else if (*this==_L("KSupportedPaddingModesType")) return KSupportedPaddingModesTypeUid;
+	else if (*this==_L("KKeySupportModeType")) return KKeySupportModeTypeUid;
+	else if (*this==_L("KConcurrencyType")) return KConcurrencyTypeUid;
+	else if (*this==_L("KExclusiveUseType")) return KExclusiveUseTypeUid;
+	
+	else if (*this==_L("KExtendCharType1")) return KExtendCharType1Uid;
+	else if (*this==_L("KExtendCharType2")) return KExtendCharType2Uid;
+	else if (*this==_L("KExtendCharType3")) return KExtendCharType3Uid;
+#ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT
+	else if (*this==_L("KAlgorithmCipherAesXcbcMac96")) return KAesXcbcMac96Uid;
+	else if (*this==_L("KAlgorithmCipherAesXcbcPrf128")) return KAesXcbcPrf128Uid;
+	else if (*this==_L("KMacInterface")) return KMacInterfaceUid;
+	else if (*this==_L("KMacModeType")) return KMacModeTypeUid;
+#endif	
+	else
+		{
+		User::Panic(*this,KErrNotFound);
+		return TUid::Null();	
+		}		
+	}	
+
+//Returns the TInt representation for the stored string value	
+TVariantPtrC::operator TInt()
+	{
+	
+	if (*this==_L("KAlgorithmHashMd2")) return KAlgorithmHashMd2;	
+	else if (*this==_L("KAlgorithmHashMd5")) return KAlgorithmHashMd5;
+	else if (*this==_L("KAlgorithmHashSha1")) return KAlgorithmHashSha1;
+	else if (*this==_L("KAlgorithmHashSha224")) return KAlgorithmHashSha224;
+	else if (*this==_L("KAlgorithmHashSha256")) return KAlgorithmHashSha256;
+	else if (*this==_L("KAlgorithmHashSha384")) return KAlgorithmHashSha384;
+	else if (*this==_L("KAlgorithmHashSha512")) return KAlgorithmHashSha512;
+	else if (*this==_L("KAlgorithmRandom")) return KAlgorithmRandom;	
+	else if (*this==_L("KAlgorithmCipherDes")) return KAlgorithmCipherDes;	
+	else if (*this==_L("KAlgorithmCipher3Des")) return KAlgorithmCipher3Des;
+	else if (*this==_L("KAlgorithmCipherRc2")) return KAlgorithmCipherRc2;
+	else if (*this==_L("KAlgorithmCipherArc4")) return KAlgorithmCipherArc4;
+	else if (*this==_L("KAlgorithmCipherAes")) return KAlgorithmCipherAes;
+	else if (*this==_L("KAlgorithmCipherRsa")) return KAlgorithmCipherRsa;
+	else if (*this==_L("KAlgorithmSignerRsa")) return KAlgorithmSignerRsa;
+	else if (*this==_L("KAlgorithmSignerDsa")) return KAlgorithmSignerDsa; 
+	else if (*this==_L("KAlgorithmVerifierRsa")) return KAlgorithmVerifierRsa;
+	else if (*this==_L("KAlgorithmVerifierDsa")) return KAlgorithmVerifierDsa;
+	else if (*this==_L("KAlgorithmKeyAgreementDH")) return KAlgorithmKeyAgreementDH;
+	else if (*this==_L("KAlgorithmRSAKeyPairGenerator")) return KAlgorithmRSAKeyPairGenerator;
+	else if (*this==_L("KAlgorithmDSAKeyPairGenerator")) return KAlgorithmDSAKeyPairGenerator;
+	else if (*this==_L("KAlgorithmDHKeyPairGenerator")) return KAlgorithmDHKeyPairGenerator;
+	
+	else if (*this==_L("KHashInterface")) return KHashInterface;
+	else if (*this==_L("KRandomInterface")) return KRandomInterface;
+	else if (*this==_L("KSymmetricCipherInterface")) return KSymmetricCipherInterface;
+	else if (*this==_L("KAsymmetricCipherInterface")) return KAsymmetricCipherInterface;
+	else if (*this==_L("KSignerInterface")) return KSignerInterface;
+	else if (*this==_L("KVerifierInterface")) return KVerifierInterface;
+	else if (*this==_L("KKeyAgreementInterface")) return KKeyAgreementInterface;
+	else if (*this==_L("KKeyGeneratorInterface")) return KKeyGeneratorInterface;
+	else if (*this==_L("KKeypairGeneratorInterface")) return KKeypairGeneratorInterface;
+	else if (*this==_L("KAsyncHashInterface")) return KAsyncHashInterface;
+	else if (*this==_L("KAsyncRandomInterface")) return KAsyncRandomInterface;
+	else if (*this==_L("KAsyncSymmetricCipherInterface")) return KAsyncSymmetricCipherInterface;
+	else if (*this==_L("KAsyncAsymmetricCipherInterface")) return KAsyncAsymmetricCipherInterface;
+	else if (*this==_L("KAsyncSignerInterface")) return KAsyncSignerInterface;
+	else if (*this==_L("KAsyncVerifierInterface")) return KAsyncVerifierInterface;
+	else if (*this==_L("KAsyncKeyAgreementInterface")) return KAsyncKeyAgreementInterface;
+	else if (*this==_L("KAsyncKeyGeneratorInterface")) return KAsyncKeyGeneratorInterface;
+	else if (*this==_L("KAsyncKeypairGeneratorInterface")) return KAsyncKeypairGeneratorInterface;
+	
+	else if (*this==_L("KCryptoModeEncrypt")) return KCryptoModeEncrypt;
+	else if (*this==_L("KCryptoModeDecrypt")) return KCryptoModeDecrypt;
+	
+	else if (*this==_L("KOperationModeNone")) return KOperationModeNone;	
+	else if (*this==_L("KOperationModeECB")) return KOperationModeECB;
+	else if (*this==_L("KOperationModeCBC")) return KOperationModeCBC;
+	else if (*this==_L("KOperationModeOFB")) return KOperationModeOFB;
+	else if (*this==_L("KOperationModeCFB")) return KOperationModeCFB;
+	else if (*this==_L("KOperationModeCTR")) return KOperationModeCTR;
+	else if (*this==_L("KHashMode")) return KHashMode;
+	else if (*this==_L("KHmacMode")) return KHmacMode;
+	
+	else if (*this==_L("KPaddingInterface")) return KPaddingInterface;	
+	else if (*this==_L("KPaddingModeNone")) return KPaddingModeNone;
+	else if (*this==_L("KPaddingModeSSLv3")) return KPaddingModeSSLv3;
+	else if (*this==_L("KPaddingModePKCS7")) return KPaddingModePKCS7;
+	else if (*this==_L("KPaddingModePkcs1_v1_5_Encryption")) return KPaddingModePkcs1_v1_5_Encryption;
+	else if (*this==_L("KPaddingModePkcs1_v1_5_Signature")) return KPaddingModePkcs1_v1_5_Signature;
+	
+	else if (*this==_L("KTestPlugin01Des_1")) return KTestPlugin01Des_1;	
+	else if (*this==_L("KTestPlugin01Des_2")) return KTestPlugin01Des_2;
+	else if (*this==_L("KTestPlugin01Des_3")) return KTestPlugin01Des_3;
+	else if (*this==_L("KTestPlugin01Des_4")) return KTestPlugin01Des_4;
+	else if (*this==_L("KTestPlugin01Md2_1")) return KTestPlugin01Md2_1;
+	else if (*this==_L("KTestPlugin01Md2_2")) return KTestPlugin01Md2_2;
+	else if (*this==_L("KTestPlugin01RsaKeyGen_1")) return KTestPlugin01RsaKeyGen_1;
+	else if (*this==_L("KTestPlugin01RsaVerifier_1")) return KTestPlugin01RsaVerifier_1;
+	else if (*this==_L("KTestPlugin01RsaVerifier_2")) return KTestPlugin01RsaVerifier_2;
+	
+	else if (*this==_L("KTestPlugin02Random_1")) return KTestPlugin02Random_1;	
+	else if (*this==_L("KTestPlugin02Md5_1")) return KTestPlugin02Md5_1;
+	else if (*this==_L("KTestPlugin02Des_1")) return KTestPlugin02Des_1;
+	else if (*this==_L("KTestPlugin02Des_2")) return KTestPlugin02Des_2;
+	else if (*this==_L("KTestPlugin02Rsa_1")) return KTestPlugin02Rsa_1;
+	else if (*this==_L("KTestPlugin02Rsa_2")) return KTestPlugin02Rsa_2;
+	else if (*this==_L("KTestPlugin02RsaKeyGen_1")) return KTestPlugin02RsaKeyGen_1;
+	else if (*this==_L("KTestPlugin02DHKeyGen_1")) return KTestPlugin02DHKeyGen_1;
+	else if (*this==_L("KTestPlugin02RsaSigner_1")) return KTestPlugin02RsaSigner_1;
+	else if (*this==_L("KTestPlugin02DHKeyAgree_1")) return KTestPlugin02DHKeyAgree_1;
+	else if (*this==_L("KTestPlugin02Random_2")) return KTestPlugin02Random_2;
+	
+	else if (*this==_L("KCryptoPluginMd2")) return KCryptoPluginMd2;	
+	else if (*this==_L("KCryptoPluginMd5")) return KCryptoPluginMd5;
+	else if (*this==_L("KCryptoPluginSha1")) return KCryptoPluginSha1;
+	else if (*this==_L("KCryptoPluginSha224")) return KCryptoPluginSha224;
+	else if (*this==_L("KCryptoPluginSha256")) return KCryptoPluginSha256;
+	else if (*this==_L("KCryptoPluginSha384")) return KCryptoPluginSha384;
+	else if (*this==_L("KCryptoPluginSha512")) return KCryptoPluginSha512;
+	else if (*this==_L("KCryptoPluginRandom")) return KCryptoPluginRandom;
+	else if (*this==_L("KCryptoPluginDes")) return KCryptoPluginDes;
+	else if (*this==_L("KCryptoPlugin3Des")) return KCryptoPlugin3Des;
+	else if (*this==_L("KCryptoPluginAes")) return KCryptoPluginAes;
+	else if (*this==_L("KCryptoPluginRc2")) return KCryptoPluginRc2;
+	else if (*this==_L("KCryptoPluginArc4")) return KCryptoPluginArc4;	
+	else if (*this==_L("KCryptoPluginRsaCipher")) return KCryptoPluginRsaCipher;
+	else if (*this==_L("KCryptoPluginRsaSigner")) return KCryptoPluginRsaSigner;
+	else if (*this==_L("KCryptoPluginDsaSigner")) return KCryptoPluginDsaSigner;
+	else if (*this==_L("KCryptoPluginRsaVerifier")) return KCryptoPluginRsaVerifier;
+	else if (*this==_L("KCryptoPluginDsaVerifier")) return KCryptoPluginDsaVerifier;
+	else if (*this==_L("KCryptoPluginDhKeyAgreement")) return KCryptoPluginDhKeyAgreement;
+	else if (*this==_L("KCryptoPluginDhKeyPairGen")) return KCryptoPluginDhKeyPairGen;
+	else if (*this==_L("KCryptoPluginRsaKeyPairGen")) return KCryptoPluginRsaKeyPairGen;
+	else if (*this==_L("KCryptoPluginDsaKeyPairGen")) return KCryptoPluginDsaKeyPairGen;
+	
+	else if (*this==_L("KInterfaceType")) return KInterfaceType;
+	else if (*this==_L("KAlgorithmType")) return KAlgorithmType;
+	else if (*this==_L("KImplementationType")) return KImplementationType;
+	else if (*this==_L("KCreatorNameType")) return KCreatorNameType;
+	else if (*this==_L("KIsFIPSApprovedType")) return KIsFIPSApprovedType;
+	else if (*this==_L("KIsHardwareSupportedType")) return KIsHardwareSupportedType;
+	else if (*this==_L("KMaxConcurrencySupportedType")) return KMaxConcurrencySupportedType;
+	else if (*this==_L("KLatencyType")) return KLatencyType;
+	else if (*this==_L("KThroughputType")) return KThroughputType;
+	else if (*this==_L("KBlockSizeType")) return KBlockSizeType;
+	else if (*this==_L("KOutputSizeType")) return KOutputSizeType;
+	else if (*this==_L("KSupportedOperationModesType")) return KSupportedOperationModesType;
+	else if (*this==_L("KBlockingModeType")) return KBlockingModeType;
+	else if (*this==_L("KMaximumKeyLengthType")) return KMaximumKeyLengthType;
+	else if (*this==_L("KSupportedPaddingModesType")) return KSupportedPaddingModesType;
+	else if (*this==_L("KKeySupportModeType")) return KKeySupportModeType;
+	else if (*this==_L("KConcurrencyType")) return KConcurrencyType;
+	else if (*this==_L("KExclusiveUseType")) return KExclusiveUseType;
+	
+	else if (*this==_L("KExtendCharType1")) return KExtendCharType1;
+	else if (*this==_L("KExtendCharType2")) return KExtendCharType2;
+	else if (*this==_L("KExtendCharType3")) return KExtendCharType3;
+	
+	//************************** CUSTOM INTEGERS *******************************
+	
+	else if (*this==_L("EOpEqual")) return EOpEqual;
+	else if (*this==_L("EOpNotEqual")) return EOpNotEqual;
+	else if (*this==_L("EOpGreaterThan")) return EOpGreaterThan;
+	else if (*this==_L("EOpLessThan")) return EOpLessThan;
+	else if (*this==_L("EOpGreaterThanOrEqual")) return EOpGreaterThanOrEqual;
+	else if (*this==_L("EOpLessThanOrEqual")) return EOpLessThanOrEqual;
+	else if (*this==_L("EOpAscendingSort")) return EOpAscendingSort;
+	else if (*this==_L("EOpDescendingSort")) return EOpDescendingSort;	
+	
+	else if (*this==_L("ERuleValueInteger")) return ERuleValueInteger;
+	else if (*this==_L("ERuleValueDes8")) return ERuleValueDes8;
+	else if (*this==_L("ERuleValueDes16")) return ERuleValueDes16;
+	else if (*this==_L("ERuleValueBoolean")) return ERuleValueBoolean;
+	
+	else if (*this==_L("KMaxTInt")) return KMaxTInt;
+	else if (*this==_L("NULL")) return NULL;
+#ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT
+	else if (*this==_L("KAlgorithmHashMd4")) return KAlgorithmHashMd4;
+	else if (*this==_L("KAlgorithmCipherAesXcbcMac96")) return KAlgorithmCipherAesXcbcMac96;
+	else if (*this==_L("KAlgorithmCipherAesXcbcPrf128")) return KAlgorithmCipherAesXcbcPrf128;
+	else if (*this==_L("KMacInterface")) return KMacInterface;
+	else if (*this==_L("KSymmetricCipherMode")) return KSymmetricCipherMode;
+	else if (*this==_L("KTestPlugin01Aes")) return KTestPlugin01Aes;
+	else if (*this==_L("KTestPlugin01XcbcMac96")) return KTestPlugin01XcbcMac96;
+	else if (*this==_L("KTestPlugin01MacMd2_1")) return KTestPlugin01MacMd2_1;
+	else if (*this==_L("KTestPlugin01MacMd2_2")) return KTestPlugin01MacMd2_2;
+	else if (*this==_L("KTestPlugin02Aes")) return KTestPlugin02Aes;
+	else if (*this==_L("KTestPlugin02XcbcMac96")) return KTestPlugin02XcbcMac96;
+	else if (*this==_L("KTestPlugin02XcbcPrf128")) return KTestPlugin02XcbcPrf128;
+#endif	
+	else
+		{
+		User::Panic(*this,KErrNotFound);
+		return 0;	
+		}	
+	}
+	
+TVariantPtrC::operator const TInt32*() 
+	{
+	
+	if (*this==_L("KHashOperationModes")) return KHashOperationModes;
+	else if (*this==_L("KDesCryptoModes")) return KDesCryptoModes;
+	else if (*this==_L("K3DesCryptoModes")) return K3DesCryptoModes;
+	else if (*this==_L("KAesCryptoModes")) return KAesCryptoModes;
+	else if (*this==_L("KRc2CryptoModes")) return KRc2CryptoModes;
+	else if (*this==_L("KArc4CryptoModes")) return KArc4CryptoModes;
+
+	else if (*this==_L("KDesPaddingModes")) return KDesPaddingModes;
+	else if (*this==_L("K3DesPaddingModes")) return K3DesPaddingModes;
+	else if (*this==_L("KAesPaddingModes")) return KAesPaddingModes;
+	else if (*this==_L("KRc2PaddingModes")) return KRc2PaddingModes;
+	else if (*this==_L("KArc4PaddingModes")) return KArc4PaddingModes;
+	else if (*this==_L("KRSACipherPaddingModes")) return KRSACipherPaddingModes;
+	else if (*this==_L("KRSASignerPaddingModes")) return KRSASignerPaddingModes;
+	else if (*this==_L("KDSASignerPaddingModes")) return KDSASignerPaddingModes;
+	else if (*this==_L("KRSAVerifierPaddingModes")) return KRSAVerifierPaddingModes;
+	else if (*this==_L("KDSAVerifierPaddingModes")) return KDSAVerifierPaddingModes;
+	
+	else
+		{
+		User::Panic(*this,KErrNotFound);
+		return 0;	
+		}
+	}
+	
+TVariantPtrC::operator TRomLitC16() 
+	{
+	
+	if (*this==_L("KSymbian")) return KSymbian;	
+	else if (*this==_L("KSymbianTestFramework")) return KSymbianTestFramework;
+	else if (*this==_L("KTestFramework")) return KTestFramework;
+	else if (*this==_L("KAlternativeName")) return KAlternativeName;
+	
+	else if (*this==_L("KMd2Description")) return KMd2Description;	
+	else if (*this==_L("KMd5Description")) return KMd5Description;
+	else if (*this==_L("KSha1Description")) return KSha1Description;
+	else if (*this==_L("KSha224Description")) return KSha224Description;
+	else if (*this==_L("KSha256Description")) return KSha256Description;
+	else if (*this==_L("KSha384Description")) return KSha384Description;
+	else if (*this==_L("KSha512Description")) return KSha512Description;
+	else if (*this==_L("KHmacMd2Description")) return KHmacMd2Description;
+	else if (*this==_L("KHmacMd5Description")) return KHmacMd5Description;	
+	else if (*this==_L("KHmacSha1Description")) return KHmacSha1Description;
+	else if (*this==_L("KHmacSha224Description")) return KHmacSha224Description;
+	else if (*this==_L("KHmacSha256Description")) return KHmacSha256Description;
+	else if (*this==_L("KHmacSha384Description")) return KHmacSha384Description;
+	else if (*this==_L("KHmacSha512Description")) return KHmacSha512Description;
+	else if (*this==_L("KRandomDescription")) return KRandomDescription;	
+	else if (*this==_L("KDesDescription")) return KDesDescription;
+	else if (*this==_L("K3DesDescription")) return K3DesDescription;	
+	else if (*this==_L("KAesDescription")) return KAesDescription;
+	else if (*this==_L("KRC2Description")) return KRC2Description;
+	else if (*this==_L("KARC4Description")) return KARC4Description;	
+	else if (*this==_L("KRsaCipherDescription")) return KRsaCipherDescription;
+	else if (*this==_L("KRsaSignerDescription")) return KRsaSignerDescription;	
+	else if (*this==_L("KDsaSignerDescription")) return KDsaSignerDescription;
+	else if (*this==_L("KRsaVerifierDescription")) return KRsaVerifierDescription;	
+	else if (*this==_L("KDsaVerifierDescription")) return KDsaVerifierDescription;
+	else if (*this==_L("KDHDescription")) return KDHDescription;	
+	else if (*this==_L("KSymmetricKeyGeneratorDescription")) return KSymmetricKeyGeneratorDescription;
+	else if (*this==_L("KKeyPairDescription")) return KKeyPairDescription;
+#ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT
+	else if (*this==_L("KAesXcbcMac96Description")) return KAesXcbcMac96Description;
+	else if (*this==_L("KAesXcbcPrf128Description")) return KAesXcbcPrf128Description;
+#endif
+	else
+		{
+		User::Panic(*this,KErrNotFound);
+		return TRomLitC16();	
+		}
+	}
+	
+HBufC* TVariantPtrC::HexStringLC()
+	{
+	HBufC* parsedString = HBufC::NewLC(this->Length()*2);
+	TBuf<2> pair;
+	_LIT(KFormat2,"%02x"); 
+						    
+   	for(TInt i = 0; i<this->Length() ; i++)
+    	{
+		TInt num  = (*this)[i];
+    	pair.Format(KFormat2,num);
+    	parsedString->Des().Append(pair);
+    	}
+	    
+	return parsedString;
+	}
+