2 * Copyright (c) 2006-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.
15 * crypto base api interface
26 #ifndef __CRYPTOAPI_BASEAPI_H__
27 #define __CRYPTOAPI_BASEAPI_H__
30 #include <cryptospi/plugincharacteristics.h>
38 class CExtendedCharacteristics;
40 NONSHARABLE_CLASS(CCryptoBase) : public CBase
44 Retrieves the plugin's common characteristics
45 @param aPluginCharacteristics The plugin characteristics value retrieved
46 @leave ... Any of the crypto error codes defined in
47 cryptospi_errs.h or any of the system-wide error codes.
49 IMPORT_C void GetCharacteristicsL(const TCharacteristics*& aPluginCharacteristics);
52 Retrieves the plugin's extended characteristics
53 @return The extended plugin characteristics, on the heap.
54 This should be deleted by the caller when finished with.
55 @leave ... Any of the crypto error codes defined in
56 cryptospi_errs.h or any of the system-wide error codes.
58 IMPORT_C const CExtendedCharacteristics* GetExtendedCharacteristicsL();
61 Resets the state of the crypto object to uninitialised. All prior
64 IMPORT_C void Reset();
72 CCryptoBase(MPlugin* aPlugin, TInt aLibHandle);
76 virtual ~CCryptoBase();
80 The plugin implementation
85 The current plugin DLL loaded
91 #endif //__CRYPTOAPI_BASEAPI_H__