sl@0: /* sl@0: * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of the License "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * plugin extended characteristic definition sl@0: * sl@0: */ sl@0: sl@0: sl@0: /** sl@0: @file sl@0: @publishedAll sl@0: @released sl@0: */ sl@0: sl@0: #ifndef __CRYPTOAPI_EXTENDRDCHARACTERISTICS_H__ sl@0: #define __CRYPTOAPI_EXTENDRDCHARACTERISTICS_H__ sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: namespace CryptoSpi sl@0: { sl@0: /** sl@0: The characteristics associated with the plugin implementation sl@0: */ sl@0: sl@0: NONSHARABLE_CLASS(CExtendedCharacteristics) : public CBase sl@0: { sl@0: public: sl@0: sl@0: IMPORT_C static CExtendedCharacteristics* NewL(TInt aAvailableConcurrency, sl@0: TBool aExclusiveUse); sl@0: sl@0: IMPORT_C void AddCharacteristicL(const TInt value, TUid aUid); sl@0: IMPORT_C void AddCharacteristicL(const TDesC8& value, TUid aUid); sl@0: sl@0: IMPORT_C ~CExtendedCharacteristics(); sl@0: sl@0: /** sl@0: Get the extended characteristic for this UID; sl@0: @param aUid The UID of the extended characteristic sl@0: @param aCharacteristics The value of the extended characteristic sl@0: */ sl@0: IMPORT_C TInt GetTIntCharacteristicL(TUid aUid) const; sl@0: IMPORT_C const TDesC8& GetTDesC8CharacteristicL(TUid aUid) const; sl@0: sl@0: /** sl@0: Retrieve all the extended characteristics sl@0: */ sl@0: IMPORT_C const CCryptoParams* ListExtendedCharacteristics() const; sl@0: sl@0: private: sl@0: CExtendedCharacteristics(); sl@0: void ConstructL(TInt aAvailableConcurrency, TBool aExclusiveUse); sl@0: sl@0: /** sl@0: The extended characteristics list sl@0: */ sl@0: CCryptoParams* iExtCharacteristics; sl@0: }; sl@0: } sl@0: #endif //__CRYPTOAPI_EXTENDRDCHARACTERISTICS_H__