diff -r 000000000000 -r 164170e6151a wim/WimServer/inc/WimAuthObjHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wim/WimServer/inc/WimAuthObjHandler.h Tue Jan 26 15:20:08 2010 +0200 @@ -0,0 +1,294 @@ +/* +* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "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: WIM Authentication Object Handler +* +*/ + + + +#ifndef CWIMAUTHOBJHANDLER_H +#define CWIMAUTHOBJHANDLER_H + +// INCLUDES +#include +#include +#include "WimResponse.h" +#include "WimUtilityFuncs.h" + +// FORWARD DECLARATIONS +class CWimSecurityDlgHandler; +class CWimMemMgmt; +class CWimUtilityFuncs; + +// CONSTANTS +_LIT( KUnblockingPinLabel, "Unblocking PIN" ); + +// CLASS DECLARATION + +/** +* WIM Authentication Object Handler. +* Handles authentication objects, such as PIN. +* +* @since Series60 2.1 +*/ +class CWimAuthObjHandler : public CActive + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CWimAuthObjHandler* NewL(); + + /** + * Destructor. + */ + virtual ~CWimAuthObjHandler(); + + public: // New functions + + /** + * Get PIN count from the WIM card. + * @param aMessage Encapsulates a client request. + * @return void + */ + void GetPINCountL( const RMessage2& aMessage ) const; + + /** + * Get reference list for PINs. + * @param aMessage Encapsulates a client request. + * @param aWimMgmt Pointer to WIM reference management class. + * @return void + */ + void GetPINRefListL( const RMessage2& aMessage, + CWimMemMgmt* aWimMgmt ); + + /** + * Get detailed information about the PIN. + * @param aMessage Encapsulates a client request. + * @return void + */ + void GetPINInfoL( const RMessage2& aMessage ) ; + + /** + * Get detailed information about the PINs. + * @param aMessage Encapsulates a client request. + * @return void + */ + void GetPINsInfoL( const RMessage2& aMessage ); + + /** + * Verifies PIN number. + * @since Series60 2.6 + * @param aMessage Encapsulates a client request. + * @param aShowDialog Tells whether to show security dialog + for PIN query or not. + * @return void + */ + void VerifyPINRequestL( const RMessage2& aMessage, TBool aShowDialog ); + + /** + * Cancel Verifies PIN number. + * @since Series60 3.0 + * @param aMessage Encapsulates a client request. + * @return void + */ + void CancelVerifyPin( const RMessage2& aMessage ); + + /** + * Verifies Disabled PIN status. + * @since Series60 3.0 + * @param aMessage Encapsulates a client request. + * @param aShowDialog Tells whether to show security dialog + for PIN query or not. + * @return void + */ + void VerifyDisabledPINRequestL( const RMessage2& aMessage ); + + /** + * Changes a PIN number. + * @since Series60 2.6 + * @param aMessage Encapsulates a client request. + * @return void + */ + void ChangePINRequestL( const RMessage2& aMessage ); + + /** + * Cancel Changes a PIN number. + * @since Series60 3.0 + * @param aMessage Encapsulates a client request. + * @return void + */ + void CancelChangePin( const RMessage2& aMessage ); + + /** + * Enables/disables PIN query. + * @since Series60 2.6 + * @param aMessage Encapsulates a client request. + * @return void + */ + void EnablePINReqL( const RMessage2& aMessage ); + + /** + * Enables/disables PIN query. + * @since Series60 3.0 + * @param aMessage Encapsulates a client request. + * @return void + */ + void CancelEnablePin( const RMessage2& aMessage ); + + /** + * Unblocks blocked PIN. + * @since Series60 2.6 + * @param aMessage Encapsulates a client request. + * @return void + */ + void UnblockPinReqL( const RMessage2& aMessage ); + + /** + * Cancel Unblocks blocked PIN. + * @since Series60 3.0 + * @param aMessage Encapsulates a client request. + * @return void + */ + void CancelUnblockPin( const RMessage2& aMessage ); + + /** + * Retrive authentication object's info + * @since S60 3.2 + * @param aMessage Encapsulates a client request. + * @return void + */ + void RetrieveAuthObjectsInfo( const RMessage2& aMessage ); + + private: + + /** + * C++ default constructor. + */ + CWimAuthObjHandler(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + /** + * Continue Verify PIN request after PIN is asked. Calls WIMI. + * @since Series60 2.6 + * @return void + */ + void VerifyPINAskPIN(); + void ContinueVerifyPINReqL(); + + /** + * Continue Change PIN request after PIN is asked. Calls WIMI. + * @since Series60 2.6 + * @return void + */ + void ChangePINAskPIN(); + void ContinueChangePINReqL(); + + /** + * Continue Enable/Disable PIN request after PIN is asked. Calls WIMI. + * @since Series60 2.6 + * @return void + */ + void EnablePINAskPIN(); + void ContinueEnablePINReqL(); + + /** + * Continue Unblock PIN request after PIN is asked. Calls WIMI. + * @since Series60 2.6 + * @return void + */ + void UnblockPINAskPIN(); + void ContinueUnblockPinReqL(); + + /** + * From CActive. Asyncronous PIN query ready. Call ContinueXXX + * function depending what we are requesting. + */ + void RunL(); + + /** + * From CActive. Cancel asynchronous request. + */ + void DoCancel(); + + /** + * From CActive. Handle leave from RunL() + * @param aError leave code from RunL() + */ + TInt RunError( TInt aError ); + + private: // Data + // Enumerator for ongoing request + enum TAuthObjectRequest + { + EVerifyPINAskPIN, + EVerifyPINCallBackResponse, + EChangePINAskPIN, + EChangePINCallBackResponse, + EEnablePINAskPIN, + EEnablePINCallBackResponse, + EDisablePINAskPIN, + EDisablePINCallBackResponse, + EUnblockPINAskPIN, + EUnblockPINCallBackResponse, + EShowPINBlocked, + EShowCardIsRemoved, + EWIMIError, + EIdle + }; + + // Pointer to utility function class. Owned. + CWimUtilityFuncs* iWimUtilFuncs; + // Pointer to security handler class. Owned. + CWimSecurityDlgHandler* iWimSecDlg; + // Authentication object ongoing request + TAuthObjectRequest iRequest; + + // PIN value that user has given + TPINValue iPinValue; + // Old PIN value in PIN change + TPINValue iOldPinValue; + // New PIN value in Change PIN and Unblock PIN + TPINValue iNewPinValue; + // Unblocking PIN + TPINValue iUnblockingPinValue; + // Enable/Disable PIN query + TBool iEnablePinQuery; + + TBool iRetry; + + TBool iShowDialog; + + CWimResponse* iResponseID; + + TWimReqTrId* iTrId; + + TPINParams iPinParams; + + TPINParams iUnblockingPinParams; + TBool iDisablePINBlocked; + TBool iUnblockPING; + + WIMI_Ref_pt iPinGRef; + + }; + +#endif // CWIMAUTHOBJHANDLER_H + +// End of File