First public contribution.
2 * Copyright (c) 2007-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.
26 #include "cryptoldd.h"
28 class DCryptoPddFactory : public DPhysicalDevice
33 // Inherited from DPhysicalDevice
34 virtual TInt Install();
35 // Inherited from DPhysicalDevice
36 virtual void GetCaps(TDes8& aDes) const;
37 // Inherited from DPhysicalDevice
38 virtual TInt Create(DBase*& aChannel, TInt aUnit, const TDesC8* aInfo, const TVersion& aVer);
39 // Inherited from DPhysicalDevice
40 virtual TInt Validate(TInt aUnit, const TDesC8* aInfo, const TVersion& aVer);
43 static void DeleteDfcQFunc(TAny *any);
46 enum TMinimumLDDVersion
48 EMinimumLddMajorVersion=1,
49 EMinimumLddMinorVersion=0,
50 EMinimumLddBuild=0 //Not used
53 TBool iDfcQueInitialised;
54 TDfcQue *iDfcQue; // Will be deleted by the deleteDfcQDfc started by our destructor
59 class CryptoJobRandom;
61 class DCryptoH4Chan : public DCryptoPddChannel
64 DCryptoH4Chan(DCryptoPddFactory &iCryptoPddFactory);
69 virtual TDfcQue* DfcQue();
71 virtual void GetHwVersions(RCryptoDriver::THwVersions& aHwVersions) const;
73 virtual TInt FakeDriverSetting() const;
74 virtual TInt SetFakeDriverSetting(TInt aFakeDriverSetting);
76 virtual CryptoJobRandom *GetJobRandom(TBool aAutoCreate = ETrue);
77 virtual CryptoJobAes *GetJobAes(TBool aAutoCreate = ETrue);
80 DCryptoPddFactory &iCryptoPddFactory;
82 TInt iFakeDriverSetting;
84 CryptoJobRandom *iCryptoJobRandom;
85 CryptoJobAes *iCryptoJobAes;