os/security/cryptoplugins/cryptospiplugins/test/dummyecchwplugin/src/pluginentry.cpp
Update contrib.
2 * Copyright (c) 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 "pluginentry.h"
20 #include "pluginconfig.h"
21 #include "dummyeccimpl.h"
22 #include "dummyeccsignerimpl.h"
24 #include <cryptospi/cryptospidef.h>
26 using namespace DummyEccHwCrypto;
28 EXPORT_C const TCharacteristics** CCryptoPluginEntry::Enumerate(
29 TUid aInterface, TInt& aNumPlugins)
31 const TCharacteristics** ptr(0);
33 switch (aInterface.iUid)
35 case KAsymmetricCipherInterface:
37 aNumPlugins = sizeof(KAsymmetricCipherCharacteristics)
38 / sizeof(TAsymmetricCipherCharacteristics*);
40 = (const TCharacteristics**) &KAsymmetricCipherCharacteristics[0];
44 case KSignerInterface:
46 aNumPlugins = sizeof(KSignerCharacteristics)
47 / sizeof(TAsymmetricSignatureCharacteristics*);
48 ptr = (const TCharacteristics**) &KSignerCharacteristics[0];
59 EXPORT_C void CCryptoPluginEntry::GetExtendedCharacteristicsL(
60 TUid /* aImplementationUid */, CExtendedCharacteristics*& /* aExt */)
62 User::Leave(KErrNotSupported);
65 EXPORT_C void CCryptoPluginEntry::CreateAsymmetricCipherL(
66 MAsymmetricCipher*& aPlugin, TUid aImplementationId,
67 const CKey& aKey, TUid aCryptoMode, TUid aPaddingMode,
68 const CCryptoParams* /* aAlgorithmParams */)
70 switch (aImplementationId.iUid)
72 case KCryptoPluginEccCipher:
74 aPlugin = CDummyECCCipherImpl::NewL(aKey, aCryptoMode, aPaddingMode);
79 User::Leave(KErrNotFound);
83 EXPORT_C void CCryptoPluginEntry::CreateAsymmetricSignerL(
84 MSigner*& aPlugin, TUid aImplementationId,
85 const CKey& aKey, TUid aPaddingMode, const CCryptoParams* /* aAlgorithmParams */)
87 switch (aImplementationId.iUid)
89 case KCryptoPluginEccSigner:
91 aPlugin = CDummyECCSignerImpl::NewL(aKey, aPaddingMode);
96 User::Leave(KErrNotFound);
100 EXPORT_C void CCryptoPluginEntry::CreateAsymmetricVerifierL(
101 MVerifier*& /*aPlugin*/, TUid /*aImplementationId*/,
102 const CKey& /*aKey*/, TUid /*aPaddingMode*/, const CCryptoParams* /*aAlgorithmParams*/)
104 User::Leave(KErrNotFound);
107 EXPORT_C void CCryptoPluginEntry::CreateHashL(MHash*& /*aPlugin*/,
108 TUid /*aImplementationId*/, TUid /*aOperationMode*/,
109 const CKey* /*aKey*/, const CCryptoParams* /*aAlgorithmParams*/)
111 User::Leave(KErrNotFound);
114 EXPORT_C void CCryptoPluginEntry::CreateKeyAgreementL(
115 MKeyAgreement*& /*aPlugin*/, TUid /*aImplementationId*/,
116 const CKey& /*aPrivateKey*/, const CCryptoParams* /*aAlgorithmParams*/)
118 User::Leave(KErrNotFound);
121 EXPORT_C void CCryptoPluginEntry::CreateKeyPairGeneratorL(
122 MKeyPairGenerator*& /*aPlugin*/, TUid /*aImplementationId*/,
123 const CCryptoParams* /*aAlgorithmParams*/)
125 User::Leave(KErrNotFound);
128 EXPORT_C void CCryptoPluginEntry::CreateRandomL(MRandom*& /*aPlugin*/,
129 TUid /*aImplementationId*/, const CCryptoParams* /*aAlgorithmParams*/)
131 User::Leave(KErrNotFound);
134 EXPORT_C void CCryptoPluginEntry::CreateSymmetricCipherL(
135 MSymmetricCipher*& /*aPlugin*/, TUid /*aImplementationId*/, const CKey& /*aKey*/,
136 TUid /*aCryptoMode*/, TUid /*aOperationMode*/, TUid /*aPadding*/,
137 const CCryptoParams* /*aAlgorithmParams*/)
139 User::Leave(KErrNotSupported);