Update contrib.
2 * Copyright (c) 2007-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.
25 #if (!defined __PLUGINCHARSCHECKER_H__)
26 #define __PLUGINCHARSCHECKER_H__
28 #include <cryptospi/plugincharacteristics.h>
29 #include <cryptospi/extendedcharacteristics.h>
30 #include "te_cryptospiconversion.h"
32 class CPluginCharsChecker : public CBase
36 static CPluginCharsChecker* NewL();
37 static CPluginCharsChecker* NewLC();
39 ~CPluginCharsChecker();
41 TBool checkCommonCharacteristics(const CryptoSpi::TCommonCharacteristics* aCharacteristics,
42 TVariantPtrC aInterfaceUid,
43 TVariantPtrC aAlgorithmUid,
44 TVariantPtrC aImplementationUid,
45 TVariantPtrC aCreatorName,
47 TBool aHardwareSupported,
48 TInt aMaxConcurrencySupported,
49 TVariantPtrC aAlgorithmName,
52 TPtrC& aErrorMessage);
54 TBool checkSymmetricCharacteristics(const CryptoSpi::TSymmetricCipherCharacteristics* aCharacteristics,
55 TInt aSymmetricMaxKeyLength,
56 TInt aSymmetricBlockSize,
57 TVariantPtrC aSymmetricPaddingModes,
58 TInt aSymmetricPaddingModeNum,
59 TVariantPtrC aSymmetricOperationModes,
60 TInt aSymmetricOperationModeNum,
61 TInt aSymmetricKeySupportMode,
62 TPtrC& aErrorMessage);
64 TBool checkAsymmetricCharacteristics(const CryptoSpi::TAsymmetricCipherCharacteristics* aCharacteristics,
65 TInt aAsymmetricMaxKeyLength,
66 TVariantPtrC aAsymmetricPaddingModes,
67 TInt aAsymmetricPaddingModeNum,
68 TInt aAsymmetricKeySupportMode,
69 TPtrC& aErrorMessage);
71 TBool checkHashCharacteristics(const CryptoSpi::THashCharacteristics* aCharacteristics,
74 TVariantPtrC aHashOperationModes,
75 TInt aHashOperationModeNum,
76 TPtrC& aErrorMessage);
77 #ifdef SYMBIAN_SDP_IPSEC_VOIP_SUPPORT
78 TBool checkMacCharacteristics(const CryptoSpi::TMacCharacteristics* aCharacteristics,
79 TVariantPtrC aMacMode,
80 TPtrC& aErrorMessage);
83 TBool checkRandomCharacteristics(const CryptoSpi::TRandomCharacteristics* aCharacteristics,
84 TInt aRandomBlockingMode,
85 TPtrC& aErrorMessage);
87 TBool checkAsymSignatureCharacteristics(const CryptoSpi::TAsymmetricSignatureCharacteristics* aCharacteristics,
88 TInt aAsymSignMaxKeyLength,
89 TVariantPtrC aAsymSignPaddingModes,
90 TInt aAsymSignPaddingModeNum,
91 TInt aAsymSignKeySupportMode,
92 TPtrC& aErrorMessage);
94 TBool checkAsymKeypairGenCharacteristics(const CryptoSpi::TAsymmetricKeypairGeneratorCharacteristics* aCharacteristics,
95 TInt aAsymKeypairGenMaxKeyLength,
96 TPtrC& aErrorMessage);
98 TBool checkSelectedPlugin(const CryptoSpi::TCharacteristics* aCharacteristics,
99 TVariantPtrC aAlgorithmUid,
100 TVariantPtrC aImplementationUid,
101 TPtrC& aErrorMessage);
105 CPluginCharsChecker();