--- /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 <e32base.h>
+#include <secdlg.h>
+#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