diff -r d07aa956024a -r 030c4fbc13d7 authenticationservices/authenticationserver/test/reftestplugin/pinplugin/pinpluginao.h --- a/authenticationservices/authenticationserver/test/reftestplugin/pinplugin/pinpluginao.h Thu Apr 01 00:24:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,157 +0,0 @@ -/* -* 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: -* CPinPluginAO declaration -* -*/ - - -/** - @file - @internalComponent - @released -*/ - -#ifndef PIN_PLUGINAO_H -#define PIN_PLUGINAO_H - -#include "pinplugindialog.h" -#include "pinplugindb.h" -#include "pinpanic.h" - -class CPinPluginAO : public CActive - { -public: - /** static methods to constuct the object of the CPinpluginAO */ - static CPinPluginAO* NewL(TInt aPinSize, TInt aPinMinSize, TInt aPinMaxSize, TInt aRetryCount); - static CPinPluginAO* NewLC(TInt aPinSize, TInt aPinMinSize, TInt aPinMaxSize, TInt aRetryCount); - /** Destructor */ - ~CPinPluginAO(); -public: //CAuthPluginInterface - void Identify(AuthServer::TIdentityId& aId, const TDesC& aClientMessage, - HBufC8*& aResult, TRequestStatus& aRequest); - void Train(AuthServer::TIdentityId aId, HBufC8*& aResult, TRequestStatus& aRequest); - TInt Forget(AuthServer::TIdentityId aId); - TInt DefaultData(AuthServer::TIdentityId aId, HBufC8*& aOutputBuf); - void ResetL(AuthServer::TIdentityId aId, const TDesC& aRegistrationData, HBufC8*& aResult); - -private: //Active - void DoCancel(); - void RunL(); - TInt RunError(TInt aError); -private: - /** Constructor */ - CPinPluginAO(TInt aPinSize, TInt aPinMinSize, TInt aPinMaxSize, TInt aRetryCount); - - /** Second Phase Constructor */ - void ConstructL(); - - /** - Issue a Request for Identify Dialog upto iRetryCount times to - PinPluginDialog. If the pinvalue received is wrong for all the - retries, reset the identityId as KUnknownIdentity. - */ - void IdentifyId(); - - /** - Issue a Request for Train Dialog to PinPluginDialog. - It will generate 4 random pin of length iNewPinSize and send - the pin Numbers and iNewPinSize to PinpluginDialog. Once it completed - it have the selected pin index and new pin size which is used to generate - another set of pin numbers for the next dialogs if required. - - @panic EPinPanicInvalidPinLength if plugin receives invalid pinlength fron Dialog Notifier - */ - void TrainIdL(); - - /** - It will generate KeyHash for the pin number given in the Identify Dialog. - and verify the keyHash and Id with DB entries. If same, the state will be - changed to EInfo and message is set to EPinPluginIdentificationSuccess - which is used to display info message to the user. - If not, same state will be maintained so that it will ask another Identify - dialog to the user. - */ - void IdentifyResultL(); - - /** - It will add/update the DB with the pin selected in Pin Train/ReTrain Dialog. - - @panic EPinPanicIncorrectIndex if plugin receives index values otherthan 0 -3 - */ - void AddTrainResultToDBL(); - - /** - It will generate two KeyHash for the pin value using SHA1 Algorithm - Intermediate result will return to the Authentication server whereas - final result is stored in the DB. - - @param aPinValue The Pin number for which Hash value required - @param aIdentityKey aIdentityKey is updated with intermediate KeyHash generated. - @return It will return the final KeyHash Value generated - */ - HBufC8* GenerateKeyHashL(TPinValue& aPinValue, HBufC8*& aIdentityKey); - - /** - It will generate four Unique Pins which is not used any of the - existing identities. - - @param aPinList On return, it holds the array of Pin numbers generated - @param idKeyList On return, it holds the array of intermediate KeyHash - values for the Pin Numbers in the aPinList - @param idKeyHashList On return, it holds the array of Final KeyHash values - for the Pin Numbers in the aPinList - */ - void GenerateUniquePinsL(RPointerArray& aPinList, RPointerArray& idKeyList, - RPointerArray& idKeyHashList); -private: - enum TProcessState - { - EIdentify, - EIdentifyResult, - ETrain, - ETrainResult, - EInfo, - EFinished - }; - CPinPluginDialog* iPinPluginDialog; - CPinPluginDB* iPinPluginDb; - TRequestStatus* iRequestStatus; - TProcessState iState; - TInt iIndex; - TPinValue iPinValue; - AuthServer::TIdentityId iIdentityId; - AuthServer::TIdentityId* iIdentityIdPtr; - HBufC8** iResult; - TPinPluginDialogResult* iDialogResult; - TPinPluginInfoMessage iMessage; - - TInt iRetryCount; - TInt iRetryRefCount; - TInt iPinSize; - TInt iPinMinSize; - TInt iPinMaxSize; - TInt iNewPinSize; - - RPointerArray iPinList; - RPointerArray iIdKeyList; - RPointerArray iIdKeyHashList; - - //Displayable text string - const HBufC* iClientMessage; - - }; - -#endif /* PIN_PLUGINAO_H */ -