diff -r 675a964f4eb5 -r 35751d3474b7 crypto/weakcryptospi/source/spi/cryptospiutil.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/crypto/weakcryptospi/source/spi/cryptospiutil.h Thu Sep 10 14:01:51 2009 +0300 @@ -0,0 +1,92 @@ +/* +* Copyright (c) 2006-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: +* CryptoSpi Utility Functionality definition +* +*/ + + +/** + @file + @internalComponent + @released +*/ + +#ifndef __CRYPTOSPIUTIL_H__ +#define __CRYPTOSPIUTIL_H__ + +#include +#include + +namespace CryptoSpi + { + class CryptoSpiUtil + { + public: + + /** + Run the cryptospi setup executable to publish the characteristics + @return KErrNone if successful; otherwise, a system wide error code. + */ + static TInt RunCryptoSpiPropertySetupExe(); + + /** + Retrieve characteristics and Dll list for an interface + @param aInterface the interface Uid + */ + static void RetrieveCharacteristicsL(TInt32 aInterface, RPointerArray& aList); + + /** + Retrieve characteristics and Dll list for an interface + @param aInterface the interface Uid + */ + static void RetrieveCharacteristicsL(TInt32 aInterface, RPointerArray& aList); + + /** + Get the plugin dll name from the given Dll index + @param aDllIndex dll index + @param aName the plugin file name + @return KErrNone if successful; otherwise, a system wide error code. + */ + static TInt DllIndexToName(TInt aDllIndex, TFileName& aName); + + /** + Load the given name plugin Dll, and leaves the plugin handle on the cleanup stack + @param aLib the library handle of the plugin dll, which is put on the cleanup stack. + @param aFileName the plugin dll file name + */ + static void LoadPluginDllLC(RLibrary& aLib, TFileName& aFileName); + + /** + Create the characteristics for a crypto interface + @param aInterface the crypto interface + @return the pointer to characteristic + */ + static CCharacteristics* CreateCharacteristicsL(TInt32 aInterface); + + private: + /** + Retrieve the characteristics to the given buffer + @param aInterface the crypto interface + @param aStream the steam to read from + @param aBuf the buffer which holds the characteristic + @param aCount the count of the characteristics. + */ + static TInt RetrieveCharacteristicsL(TInt32 aInterface, RDesReadStream& aStream, RBuf8& aBuf, TInt& aCount); + }; + } + +#endif //__CRYPTOSPIUTIL_H__ + +