williamr@4: /* williamr@4: * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: * All rights reserved. williamr@4: * This component and the accompanying materials are made available williamr@4: * under the terms of the License "Eclipse Public License v1.0" williamr@4: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: * williamr@4: * Initial Contributors: williamr@4: * Nokia Corporation - initial contribution. williamr@4: * williamr@4: * Contributors: williamr@4: * williamr@4: * Description: williamr@4: * crypto base api interface williamr@4: * williamr@4: */ williamr@4: williamr@4: williamr@4: /** williamr@4: @file williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: williamr@4: #ifndef __CRYPTOAPI_BASEAPI_H__ williamr@4: #define __CRYPTOAPI_BASEAPI_H__ williamr@4: williamr@4: #include williamr@4: #include williamr@4: williamr@4: namespace CryptoSpi williamr@4: { williamr@4: class MPlugin; williamr@4: class MHash; williamr@4: class MAsyncHash; williamr@4: class CCryptoParams; williamr@4: class CExtendedCharacteristics; williamr@4: williamr@4: NONSHARABLE_CLASS(CCryptoBase) : public CBase williamr@4: { williamr@4: public: williamr@4: /** williamr@4: Retrieves the plugin's common characteristics williamr@4: @param aPluginCharacteristics The plugin characteristics value retrieved williamr@4: @leave ... Any of the crypto error codes defined in williamr@4: cryptospi_errs.h or any of the system-wide error codes. williamr@4: */ williamr@4: IMPORT_C void GetCharacteristicsL(const TCharacteristics*& aPluginCharacteristics); williamr@4: williamr@4: /** williamr@4: Retrieves the plugin's extended characteristics williamr@4: @return The extended plugin characteristics, on the heap. williamr@4: This should be deleted by the caller when finished with. williamr@4: @leave ... Any of the crypto error codes defined in williamr@4: cryptospi_errs.h or any of the system-wide error codes. williamr@4: */ williamr@4: IMPORT_C const CExtendedCharacteristics* GetExtendedCharacteristicsL(); williamr@4: williamr@4: /** williamr@4: Resets the state of the crypto object to uninitialised. All prior williamr@4: state is lost. williamr@4: */ williamr@4: IMPORT_C void Reset(); williamr@4: williamr@4: protected: williamr@4: /** williamr@4: * @internalComponent williamr@4: * williamr@4: * Constructor williamr@4: **/ williamr@4: CCryptoBase(MPlugin* aPlugin, TInt aLibHandle); williamr@4: /** williamr@4: Destructor williamr@4: */ williamr@4: virtual ~CCryptoBase(); williamr@4: williamr@4: protected: williamr@4: /** williamr@4: The plugin implementation williamr@4: */ williamr@4: MPlugin* iPlugin; williamr@4: williamr@4: /** williamr@4: The current plugin DLL loaded williamr@4: */ williamr@4: TInt iLibHandle; williamr@4: }; williamr@4: } williamr@4: williamr@4: #endif //__CRYPTOAPI_BASEAPI_H__ williamr@4: