diff -r 880bdb445c5c -r c0e7917aa107 authenticationservices/authenticationserver/test/reftestplugin/pinplugin/pinplugindialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/authenticationservices/authenticationserver/test/reftestplugin/pinplugin/pinplugindialog.h Sat Dec 05 21:41:51 2009 +0000 @@ -0,0 +1,124 @@ +/* +* 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: +* CPinPluginDialog declaration +* +*/ + + +/** + @file +*/ + +#ifndef PIN_PLUGINDIALOG_H +#define PIN_PLUGINDIALOG_H + +#include +#include + +/** + Definition of the pin plugin dialog interface + */ +class CPinPluginDialog : public CActive + { +public: + /** + Prompts the user to enter a pin. + + @param aMinLength The minimum length of the pin. + @param aMaxLength The maximum length of the pin. + @param aRetry Indicates whether the user is retrying. + @param aPinValue On return, It holds the pin that the user entered. + @param aResult On return, It holds output of the dialog + @param aStatus An asynchronous request status object. + */ + void PinIdentify(const TInt aMinLength, const TInt aMaxLength, const TBool aRetry, TPinValue& aPinValue, + TPinPluginDialogResult& aResult, TRequestStatus& aStatus); + + /** + Prompts the user to select a pin from the list. + + @param aType Information about the pin to train/retrain + @param aPinNumbers array of pin number to display + @param aMinLength The minimum length of the pin. + @param aMaxLength The maximum length of the pin. + @param aIndex On return, It holds the index of the selected pin. + @param aCurrentLength By default, It has the current length of the pin + On return, It holds the new length of the pin if user changes. + @param aResult On return, It holds output of the dialog. + @param aStatus An asynchronous request status object. + */ + void PinTraining(const TPinPluginTrainingMessage aType, const RPointerArray& aPinNumbers, + const TInt aMinLength, const TInt aMaxLength, TInt& aIndex, TInt& aCurrentLength, + TPinPluginDialogResult& aResult, TRequestStatus& aStatus); + + /** + Display the message to the user. + + @param aMessage Information about the PIN to display. + @param aStatus An asynchronous request status object. + */ + void PinInfo(const TPinPluginInfoMessage aMessage,TRequestStatus& aStatus); + +public: + /** + Destructor for the CPinPluginDialog class + */ + ~CPinPluginDialog(); + /** static methods to constuct the object of the CPinPluginDialog */ + static CPinPluginDialog* NewL(); + static CPinPluginDialog* NewLC(); +private: + CPinPluginDialog(); + void ConstructL(); + /** + Helper function to perform basic initialization + */ + void DoInitialize(const TPinPluginDialogOperation aOperation, TRequestStatus& aStatus); + /** + Helper function to Issue Notifier request for the Dialog. + */ + void RequestDialog(const TDesC8& aData, TDes8& aResponse); + +private: // from CActive + void RunL(); + void DoCancel(); + TInt RunError(TInt aError); + +private: + enum TState + { + KPinPluginInfo, + KPinPluginTraining, + KPinPluginIdentify + }; + + TPinPluginDialogOperation iCurrentOperation; + TRequestStatus* iClientStatus; + RNotifier iNotifier; + TState iState; + + TPinIdentifyInputBuf iPinIdentifyInputBuf; + TPinTrainingInputBuf iPinTrainingInputBuf; + TPinInfoInputBuf iPinInfoInputBuf; + TPinDialogOutputBuf iPinDialogOutputBuf; + TInt* iClientPinIndex; + TPinValue* iClientPinValue; + TInt* iClientNewPinLength; + TPinPluginDialogResult* iClientPinDialogResult; + }; + + +#endif /* PIN_PLUGINDIALOG_H */ +