| author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> | 
| Fri, 12 Mar 2010 15:50:11 +0200 | |
| branch | RCL_3 | 
| changeset 20 | 597aaf25e343 | 
| permissions | -rw-r--r-- | 
| 20 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 1 | // Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 2 | // All rights reserved. | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 3 | // This component and the accompanying materials are made available | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 4 | // under the terms of the License "Eclipse Public License v1.0" | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 5 | // which accompanies this distribution, and is available | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 6 | // at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 7 | // | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 8 | // Initial Contributors: | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 9 | // Nokia Corporation - initial contribution. | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 10 | // | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 11 | // Contributors: | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 12 | // | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 13 | // Description: | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 14 | // e32test\entropysources\d_entropysources.cpp | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 15 | // | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 16 | // | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 17 | /** | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 18 | @file | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 19 | @internalComponent | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 20 | @test | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 21 | */ | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 22 | #include <dfcs.h> | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 23 | #include <kernel/kernel.h> | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 24 | #include <kernel/kern_priv.h> | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 25 | #include "kern_test.h" | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 26 | #include "d_entropysources.h" | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 27 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 28 | //--------------------------------------------------------------------------------------------------------------------- | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 29 | //! @SYMTestCaseID KBASE-entropysources-2703 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 30 | //! @SYMTestType UT | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 31 | //! @SYMTestCaseDesc Verifies that entropy is contributed to the Secure RNG | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 32 | //! @SYMPREQ PREQ211 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 33 | //! @SYMTestPriority High | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 34 | //! @SYMTestActions | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 35 | //! 1. TestReseed: tests that the interval between RNG reseeds is less than KMaxReseedTime, unless the platform is | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 36 | //! known not to have a viable entropy source. | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 37 | //! | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 38 | //! | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 39 | //! @SYMTestExpectedResults | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 40 | //! 1. Properties checked: | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 41 | //! 1) checks that there is a valid entropy source contrbuting entropy data. | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 42 | //! 2) checks that the entropy collection framework is functioning correctly.. | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 43 | //! | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 44 | //--------------------------------------------------------------------------------------------------------------------- | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 45 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 46 | class DEntropySourcesFactory : public DLogicalDevice | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 47 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 48 | public: | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 49 | DEntropySourcesFactory(); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 50 | virtual TInt Install(); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 51 | virtual void GetCaps(TDes8 &aDes) const; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 52 | virtual TInt Create(DLogicalChannelBase*& aChannel); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 53 | }; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 54 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 55 | class DEntropySources : public DLogicalChannelBase | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 56 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 57 | public: | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 58 | DEntropySources(); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 59 | ~DEntropySources(); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 60 | void ReseedHook(); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 61 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 62 | protected: | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 63 | virtual TInt DoCreate(TInt aUnit, const TDesC8* anInfo, const TVersion& aVer); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 64 | virtual TInt Request(TInt aReqNo, TAny* a1, TAny* a2); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 65 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 66 | private: | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 67 | DThread* iClient; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 68 | TClientRequest* iRequest; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 69 | }; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 70 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 71 | // Function to be called from the kernel side code. | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 72 | void ReseedHook(TAny* aPtr) | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 73 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 74 | ((DEntropySources*)aPtr)->ReseedHook(); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 75 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 76 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 77 | DECLARE_STANDARD_LDD() | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 78 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 79 | return new DEntropySourcesFactory; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 80 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 81 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 82 | // | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 83 | // DEntropySourcesFactory | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 84 | // | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 85 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 86 | DEntropySourcesFactory::DEntropySourcesFactory() | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 87 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 88 | // Set version number for this device | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 89 | iVersion = TVersion(0,1,1); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 90 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 91 | // Indicate we don't support units or a PDD | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 92 | iParseMask = 0; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 93 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 94 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 95 | TInt DEntropySourcesFactory::Install() | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 96 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 97 | return(SetName(&KEntropySourcesName)); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 98 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 99 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 100 | void DEntropySourcesFactory::GetCaps(TDes8& aDes) const | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 101 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 102 | // Create a capabilities object | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 103 | TCapsEntropySources caps; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 104 | caps.iVersion = iVersion; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 105 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 106 | // Write it back to user memory | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 107 | Kern::InfoCopy(aDes,(TUint8*)&caps,sizeof(caps)); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 108 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 109 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 110 | TInt DEntropySourcesFactory::Create(DLogicalChannelBase*& aChannel) | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 111 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 112 | aChannel = new DEntropySources; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 113 | if(!aChannel) | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 114 | return KErrNoMemory; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 115 | return KErrNone; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 116 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 117 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 118 | // | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 119 | // DEntropySources | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 120 | // | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 121 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 122 | DEntropySources::DEntropySources() | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 123 | 	{
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 124 | iClient = &Kern::CurrentThread(); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 125 | iClient->Open(); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 126 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 127 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 128 | DEntropySources::~DEntropySources() | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 129 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 130 | KernTest::Test(KernTest::ERNGReseedHook, NULL, NULL); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 131 | Kern::SafeClose((DObject*&)iClient, NULL); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 132 | Kern::DestroyClientRequest(iRequest); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 133 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 134 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 135 | TInt DEntropySources::DoCreate(TInt /*aUnit*/, const TDesC8* /*aInfo*/, const TVersion& /*aVer*/) | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 136 | 	{
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 137 | return Kern::CreateClientRequest(iRequest); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 138 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 139 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 140 | TInt DEntropySources::Request(TInt aReqNo, TAny* a1, TAny* a2) | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 141 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 142 | (void)a2; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 143 | TInt r = KErrNotSupported; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 144 | switch(aReqNo) | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 145 |         {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 146 | case ~REntropySources::EReseedTest: | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 147 | r = iRequest->SetStatus((TRequestStatus*)a1); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 148 | if (r!=KErrNone) | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 149 | return r; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 150 | KernTest::Test(KernTest::ERNGReseedHook, (TAny*)&::ReseedHook, this); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 151 | break; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 152 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 153 | return r; | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 154 | } | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 155 | |
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 156 | void DEntropySources::ReseedHook() | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 157 |     {
 | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 158 | KernTest::Test(KernTest::ERNGReseedHook, NULL, NULL); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 159 | Kern::QueueRequestComplete(iClient, iRequest, KErrNone); | 
| 
597aaf25e343
Revision: 201008
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 160 | } |