telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmsecuritytsy.h
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmsecuritytsy.h	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmsecuritytsy.h	Thu May 06 15:10:38 2010 +0100
@@ -1,553 +1,553 @@
-/*
-* 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 "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:
-*
-*/
-
-
-
-#ifndef CMMSECURITYTSY_H
-#define CMMSECURITYTSY_H
-
-//  INCLUDES
-#include <e32base.h>
-#include <et_tsy.h>
-#include <etelmm.h>
-
-// FORWARD DECLARATIONS
-class CMmPhoneTsy;
-class CMmDataPackage;
-
-// CLASS DECLARATION
-
-/**
- *  CMmPhoneTsy contains mode-independent phone functionality.
- *  Extension request handles and parameters are stored as attributes.
- */
-NONSHARABLE_CLASS( CMmSecurityTsy ) : public CBase
-    {
-    private:
-        
-        /**
-         * Struct to hold GetSecurityCodeInfo requests data.
-         */
-        struct TGetSecurityCodeInfoRequest
-            {
-            /** ETel request handle */
-            TTsyReqHandle iReqHandle;
-            /** Security code type */
-            RMobilePhone::TMobilePhoneSecurityCode iSecurityCode;
-            /** Pointer to client-side data */
-            TDes8* iSecurityCodeInfo;
-            };
-
-    public:  // Constructors and destructor
-
-        /**
-         * Two-phased constructor.
-         * return CMmPhoneTsy*: created phone object 
-         */
-        static CMmSecurityTsy* NewL( CMmPhoneTsy* aPhoneTsy );
-
-        /**
-         * Destructor.
-         */
-        virtual ~CMmSecurityTsy();
-
-        // New functions
-
-        /**
-         * Handles extended client requests. Uses TRAP to ensure functioning on 
-         * memory allocation failure
-         *          
-         *
-         * @param aTsyReqHandle TSY request handle
-         * @param aIpc request IPC number
-         * @param aPackage packaged request parameters
-         * @return result of the request
-         */
-        TInt DoExtFuncL( const TTsyReqHandle aTsyReqHandle, 
-            const TInt aIpc, 
-            const TDataPackage& aPackage );
-
-        /**
-         * Cancels request that's IPC number and request handle are given in
-         * parameters
-         *          
-         *
-         * @param aIpc request IPC number
-         * @param aTsyReqHandle TSY request handle
-         * @return result of the request
-         */
-        virtual TInt CancelService( const TInt aIpc, 
-            const TTsyReqHandle aTsyReqHandle );
-
-        /**
-         * Completes security capabilities change notification
-         *          
-         *
-         * @param aDataPackage
-         * @return KErrNone
-         */
-        virtual TInt CompleteNotifySecurityCapsChange( TUint32 aCaps );
-
-        /**
-         * Notifies client about security event
-         *          
-         *
-         * @param aEvent security event
-         * @param aErrorCode error/success code
-         */
-        virtual void CompleteNotifySecurityEventL( 
-            RMobilePhone::TMobilePhoneSecurityEvent aEvent, 
-            TInt aErrorCode );
-
-        /**
-         * Completes lock state setting
-         *          
-         *
-         * @param aErrorCode: error/success code
-         * @param  aStatus current lock status
-         * @param aSetting current lock setting
-         *          
-         */
-        virtual void CompleteSetLockSetting( TInt aErrorCode, 
-            RMobilePhone::TMobilePhoneLockStatus aStatus,
-            RMobilePhone::TMobilePhoneLockSetting aSetting );
-
-        /**
-         * Completes security code change
-         *
-         * @param aErrorCode
-         * @return KErrNone
-         */
-        virtual TInt CompleteChangeSecurityCode( TInt aErrorCode );
-
-        /**
-         * Completes security code verification
-         *          
-         *
-         * @param aErrorCode
-         */
-        virtual void CompleteVerifySecurityCodeL( TInt aErrorCode );
-
-        /**
-         * Completes security code verification aborting
-         *          
-         *
-         * @param aErrorCode
-         */
-        virtual void CompleteAbortSecurityCode( TInt aErrorCode );
-
-        /**
-         * Completes lock information notification
-         *          
-         *
-         * @param aDataPackage
-         * @return KErrNone
-         */
-        virtual void CompleteNotifyLockInfoChange(
-            CMmDataPackage* aDataPackage, TInt aErrorCode );
-
-        /**
-         * Sets iPin1DisableSupported flag to EFalse, no support for PIN 
-         * disable
-         *          
-         *         
-         */
-        virtual void SetPin1DisableNotSupported();
-
-        /**
-         * Complete get lock info request
-         *          
-         *
-         * @param aDataPackage
-         */
-        virtual void CompleteGetLockInfo( CMmDataPackage* aDataPackage,
-            TInt aErrorCode );
-
-        /**
-         * Complete GetSecurityCodeInfo request
-         *          
-         * @param aDataPackage
-         * @param aErrorCode
-         */
-        virtual void CompleteGetSecurityCodeInfo( 
-            CMmDataPackage* aDataPackage, TInt aErrorCode );
-
-        /**
-         * Complete NotifySecurityCodeInfoChange notification
-         *          
-         * @param aDataPackage
-         * @param aErrorCode
-         */
-        virtual void CompleteNotifySecurityCodeInfoChange( 
-            CMmDataPackage* aDataPackage, TInt aErrorCode );
-
-    private:
-    
-        /**
-         * C++ default constructor.
-         */
-        CMmSecurityTsy(void);
-
-        /**
-         * Class attributes are created in ConstructL
-         */
-        void ConstructL( void );
-
-        /**
-         * Delivers current security capabilies
-         *          
-         *
-         * @param aTsyReqHandle
-         * @param aCaps
-         * @return KErrNone
-         */
-        virtual TInt GetSecurityCaps( const TTsyReqHandle aTsyReqHandle,
-            TUint32* aCaps );
-        
-        /**
-         * Sets TSY to notify if security capabilities change
-         *          
-         *
-         * @param aCaps
-         * @return KErrNone
-         */
-        virtual TInt NotifySecurityCapsChange( TUint32* aCaps );
-
-        /**
-         * Cancels notification request about security capabilities change
-         *          
-         *
-         * @param aTsyReqHandle
-         * @return KErrNone
-         */
-        virtual TInt NotifySecurityCapsChangeCancel( 
-            const TTsyReqHandle aTsyReqHandle );
-
-        /**
-         * Delivers current lock information
-         *          
-         *
-         * @param aPackage Parameters where lock information is stored
-         * @return KErrNone or KErrArgument
-         */
-        virtual TInt GetLockInfoL( const TDataPackage& aPackage );
-
-        /**
-         * Sets TSY notify if lock information changes
-         *          
-         *
-         * @param aLock
-         * @param aLockInfo
-         * @return KErrNone
-         */
-        virtual TInt NotifyLockInfoChange(
-            RMobilePhone::TMobilePhoneLock* aLock,
-            TDes8* aLockInfo );
-
-        /**
-         * Cancel notification request about lock information change
-         *          
-         *
-         * @param aTsyReqHandle
-         * @return KErrNone
-         */
-        virtual TInt NotifyLockInfoChangeCancel( 
-            const TTsyReqHandle aTsyReqHandle );
-
-        /**
-         * Checks if setting a new setting for a lock is possible
-         *          
-         * 
-         * @param aTsyReqHandle
-         * @param aPackage
-         * @return KErrNone
-         */
-        virtual TInt SetLockSettingL( const TTsyReqHandle aTsyReqHandle,
-            const TDataPackage& aPackage );
-
-        /**
-         * Cancel the request about lock setting, can be cancelled if no ISI
-         * sending done yet.
-         *          
-         *
-         * @param aTsyReqHandle
-         * @return KErrNone
-         */
-        virtual TInt SetLockSettingCancel( const TTsyReqHandle aTsyReqHandle );
-
-        /**
-         * Cancel the request about lock setting, can be cancelled if no ISI
-         * sending done yet.
-         *          
-         *
-         * @param aTsyReqHandle
-         * @return KErrNone
-         */
-        virtual TInt GetLockInfoCancel ( const  TTsyReqHandle aTsyReqHandle );
-
-        /**
-         * Sets new setting for a lock
-         *          
-         *
-         * @param aPackage
-         * @return KErrNone
-         */
-        virtual TInt LockSettingL( const TTsyReqHandle aTsyReqHandle,
-            const TDataPackage& aPackage );
-
-        /**
-         * Replaces old security code with new one
-         *          
-         *
-         * @param aType
-         * @param aChange
-         * @return Error value
-         */
-        virtual TInt ChangeSecurityCodeL( const TTsyReqHandle aTsyReqHandle,
-            const TDataPackage& aPackage );
-
-        /**
-         * Sets TSY notify if security event appears
-         *          
-         *
-         * @param aEven
-         * @return KErrNone
-         */
-        virtual TInt NotifySecurityEventL( 
-            RMobilePhone::TMobilePhoneSecurityEvent* aEvent );
-
-        /**
-         * Cancel notification request about lock information change
-         *          
-         *
-         * @const aTsyReqHandle
-         * @return KErrNone
-         */
-        virtual TInt NotifySecurityEventCancel( 
-            const TTsyReqHandle aTsyReqHandle );
-
-        /**
-         * Verifies current security code
-         *          
-         *
-         * @param aTsyReqHandle 
-         * @param aType
-         * @param aCodes
-         * @return KErrNone
-         */
-        virtual TInt VerifySecurityCodeL( const TTsyReqHandle aTsyReqHandle, 
-            const TDataPackage& aPackage );
-        
-        /**
-         * Aborts current security code verification query
-         *          
-         *
-         * @param aTsyReqHandle
-         * @param aPackage
-         * @return KErrNone
-         */
-        virtual TInt AbortSecurityCodeL( const TTsyReqHandle aTsyReqHandle,
-            const TDataPackage& aPackage );
-
-        /**
-         * This method retrieves the current number of remaining entry 
-         * attemps of security code.
-         *          
-         * @param aTsyReqHandle
-         * @param aSecurityCode
-         * @param aSecurityCodeInfo
-         * @return Error value
-         */
-        virtual TInt GetSecurityCodeInfoL( const TTsyReqHandle aTsyReqHandle, 
-            RMobilePhone::TMobilePhoneSecurityCode* aSecurityCode, 
-            TDes8* aSecurityCodeInfo );
-
-        /**
-         * Cancel GetSecurityCodeInfo request
-         *          
-         * @param aTsyReqHandle
-         * @return Error value
-         */
-        virtual TInt GetSecurityCodeInfoCancel( 
-            const TTsyReqHandle aTsyReqHandle );
-
-        /**
-         * Notifies security code info changes
-         *          
-         * @param aSecurityCode
-         * @param aSecurityCodeInfo
-         * @return Error value
-         */
-        virtual TInt NotifySecurityCodeInfoChange( 
-            RMobilePhone::TMobilePhoneSecurityCode* aSecurityCode, 
-            TDes8* aSecurityCodeInfo );
-
-        /**
-         * Cancel notification about security code info changes
-         *          
-         * @param aTsyReqHandle
-         * @return Error value
-         */
-        virtual TInt NotifySecurityCodeInfoChangeCancel( 
-            const TTsyReqHandle aTsyReqHandle );
-
-        /**
-         * It resets the (GetSecurityCodeInfo) request handle.
-         *          
-         * @param aSecurityCode Security Code.
-         */
-        virtual void ResetGetSecurityCodeInfoTsyReqHandle( 
-            const RMobilePhone::TMobilePhoneSecurityCode aSecurityCode );
-
-        /**
-         * Checks that security codes are well formed.
-         * 
-         *@param aCodeType The security code to check, e.g. PIN, PUK, etc.
-         *@param aCodes The code that needs to be checked.		 		          
-         */
-        TBool AreCodesWellFormed(
-            const RMobilePhone::TMobilePhoneSecurityCode& aCodeType,
-            const RMobilePhone::TCodeAndUnblockCode& aCodes ) const;
-            
-    private:    // Data
-
-        /**
-         * Pointer to phone tsy
-         */         
-        CMmPhoneTsy* iMmPhoneTsy;
-
-        /**
-         * get lock info
-         */         
-        TDes8* iRetGetLockInfo;
-
-        /**
-         * notify phone lock change
-         */         
-        RMobilePhone::TMobilePhoneLock* iRetNotifyPhoneLockChange;
-
-        /**
-         * notify phone lock info change
-         */         
-        TDes8* iRetNotifyLockInfoChange;
-
-        /**
-         * Set Lock Setting phone lock
-         */         
-        RMobilePhone::TMobilePhoneLock iLockSettingPhoneLock;
-        
-        /**
-         * Set Lock Setting
-         */         
-        RMobilePhone::TMobilePhoneLockSetting iLockSetting; 
-
-        /**
-         * notify security event
-         */         
-        RMobilePhone::TMobilePhoneSecurityEvent* iRetNotifySecurityEvent;
-
-        /**
-         * notify security capabilities change
-         */         
-        TUint32* iRetNotifySecurityCapsChange;
-
-        /**
-         * Lock type
-         */         
-        RMobilePhone::TMobilePhoneSecurityCode iLockType;
-
-        /**
-         * Is PIN1 disable supported
-         */         
-        TBool iPin1DisableSupported;
-
-        /**
-         * Is Puk code verify
-         */         
-        TBool iPukCodeVerify;
-
-        /**
-         * Is Phone password verify
-         */         
-        TBool iPhonePasswordVerify;
-
-        /**
-         * Is security codes checked for client after boot
-         */         
-        TBool iSecurityCheckedForBoot;
-
-        /**
-         * member enum for storing the last requested pin
-         */         
-        enum TLastPinRequested
-        	{
-        	EPinUnknown,
-        	EPin1Requested,
-        	EPin2Requested
-        	};
-        
-        /** 
-         * State while changing active code from PIN to UPIN
-         */         
-        TLastPinRequested iLastPinRequested;
-        
-        /**
-         * ETrue if requested through TSY and not yet completed to client.
-         */         
-        TBool iIsSecurityCodeRequestCachedInBoot;
-
-        /** These states are used when changing active code 
-            from PIN to UPIN */        
-        enum TActiveCodeToUpinState
-	        {
-	        EActiveCodeToUpinIdle,
-	        EActiveCodeToUpinAskUpin,        
-	        EActiveCodeToUpinAskPin,             
-            };
-
-        /** 
-         * State while changing active code from PIN to UPIN
-         */         
-        TActiveCodeToUpinState iActiveCodeToUpinState;
-
-        /**
-         * Security code info. Pointer to client side data.
-         * Not Own.
-         */
-        TDes8* iRetSecurityCodeInfo;
-
-        /**
-         * Security code. Pointer to client side data.
-         * Not Own.
-         */
-        RMobilePhone::TMobilePhoneSecurityCode* iRetNotifySecurityCode;
-
-        /**
-         * Security code info. Pointer to client side data.
-         * Not Own.
-         */
-        TDes8* iRetNotifySecurityCodeInfo;
-
-        /**
-	     * Array for buffering Get Security Code Info requests
-	     */		     
-	    RPointerArray< TGetSecurityCodeInfoRequest > iGetSecurityCodeInfoRequests;
-
-    };
-#endif // CMMSECURITYTSY_H
-
-// End of File
+/*
+* 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 "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:
+*
+*/
+
+
+
+#ifndef CMMSECURITYTSY_H
+#define CMMSECURITYTSY_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <et_tsy.h>
+#include <etelmm.h>
+
+// FORWARD DECLARATIONS
+class CMmPhoneTsy;
+class CMmDataPackage;
+
+// CLASS DECLARATION
+
+/**
+ *  CMmPhoneTsy contains mode-independent phone functionality.
+ *  Extension request handles and parameters are stored as attributes.
+ */
+NONSHARABLE_CLASS( CMmSecurityTsy ) : public CBase
+    {
+    private:
+        
+        /**
+         * Struct to hold GetSecurityCodeInfo requests data.
+         */
+        struct TGetSecurityCodeInfoRequest
+            {
+            /** ETel request handle */
+            TTsyReqHandle iReqHandle;
+            /** Security code type */
+            RMobilePhone::TMobilePhoneSecurityCode iSecurityCode;
+            /** Pointer to client-side data */
+            TDes8* iSecurityCodeInfo;
+            };
+
+    public:  // Constructors and destructor
+
+        /**
+         * Two-phased constructor.
+         * return CMmPhoneTsy*: created phone object 
+         */
+        static CMmSecurityTsy* NewL( CMmPhoneTsy* aPhoneTsy );
+
+        /**
+         * Destructor.
+         */
+        virtual ~CMmSecurityTsy();
+
+        // New functions
+
+        /**
+         * Handles extended client requests. Uses TRAP to ensure functioning on 
+         * memory allocation failure
+         *          
+         *
+         * @param aTsyReqHandle TSY request handle
+         * @param aIpc request IPC number
+         * @param aPackage packaged request parameters
+         * @return result of the request
+         */
+        TInt DoExtFuncL( const TTsyReqHandle aTsyReqHandle, 
+            const TInt aIpc, 
+            const TDataPackage& aPackage );
+
+        /**
+         * Cancels request that's IPC number and request handle are given in
+         * parameters
+         *          
+         *
+         * @param aIpc request IPC number
+         * @param aTsyReqHandle TSY request handle
+         * @return result of the request
+         */
+        virtual TInt CancelService( const TInt aIpc, 
+            const TTsyReqHandle aTsyReqHandle );
+
+        /**
+         * Completes security capabilities change notification
+         *          
+         *
+         * @param aDataPackage
+         * @return KErrNone
+         */
+        virtual TInt CompleteNotifySecurityCapsChange( TUint32 aCaps );
+
+        /**
+         * Notifies client about security event
+         *          
+         *
+         * @param aEvent security event
+         * @param aErrorCode error/success code
+         */
+        virtual void CompleteNotifySecurityEventL( 
+            RMobilePhone::TMobilePhoneSecurityEvent aEvent, 
+            TInt aErrorCode );
+
+        /**
+         * Completes lock state setting
+         *          
+         *
+         * @param aErrorCode: error/success code
+         * @param  aStatus current lock status
+         * @param aSetting current lock setting
+         *          
+         */
+        virtual void CompleteSetLockSetting( TInt aErrorCode, 
+            RMobilePhone::TMobilePhoneLockStatus aStatus,
+            RMobilePhone::TMobilePhoneLockSetting aSetting );
+
+        /**
+         * Completes security code change
+         *
+         * @param aErrorCode
+         * @return KErrNone
+         */
+        virtual TInt CompleteChangeSecurityCode( TInt aErrorCode );
+
+        /**
+         * Completes security code verification
+         *          
+         *
+         * @param aErrorCode
+         */
+        virtual void CompleteVerifySecurityCodeL( TInt aErrorCode );
+
+        /**
+         * Completes security code verification aborting
+         *          
+         *
+         * @param aErrorCode
+         */
+        virtual void CompleteAbortSecurityCode( TInt aErrorCode );
+
+        /**
+         * Completes lock information notification
+         *          
+         *
+         * @param aDataPackage
+         * @return KErrNone
+         */
+        virtual void CompleteNotifyLockInfoChange(
+            CMmDataPackage* aDataPackage, TInt aErrorCode );
+
+        /**
+         * Sets iPin1DisableSupported flag to EFalse, no support for PIN 
+         * disable
+         *          
+         *         
+         */
+        virtual void SetPin1DisableNotSupported();
+
+        /**
+         * Complete get lock info request
+         *          
+         *
+         * @param aDataPackage
+         */
+        virtual void CompleteGetLockInfo( CMmDataPackage* aDataPackage,
+            TInt aErrorCode );
+
+        /**
+         * Complete GetSecurityCodeInfo request
+         *          
+         * @param aDataPackage
+         * @param aErrorCode
+         */
+        virtual void CompleteGetSecurityCodeInfo( 
+            CMmDataPackage* aDataPackage, TInt aErrorCode );
+
+        /**
+         * Complete NotifySecurityCodeInfoChange notification
+         *          
+         * @param aDataPackage
+         * @param aErrorCode
+         */
+        virtual void CompleteNotifySecurityCodeInfoChange( 
+            CMmDataPackage* aDataPackage, TInt aErrorCode );
+
+    private:
+    
+        /**
+         * C++ default constructor.
+         */
+        CMmSecurityTsy(void);
+
+        /**
+         * Class attributes are created in ConstructL
+         */
+        void ConstructL( void );
+
+        /**
+         * Delivers current security capabilies
+         *          
+         *
+         * @param aTsyReqHandle
+         * @param aCaps
+         * @return KErrNone
+         */
+        virtual TInt GetSecurityCaps( const TTsyReqHandle aTsyReqHandle,
+            TUint32* aCaps );
+        
+        /**
+         * Sets TSY to notify if security capabilities change
+         *          
+         *
+         * @param aCaps
+         * @return KErrNone
+         */
+        virtual TInt NotifySecurityCapsChange( TUint32* aCaps );
+
+        /**
+         * Cancels notification request about security capabilities change
+         *          
+         *
+         * @param aTsyReqHandle
+         * @return KErrNone
+         */
+        virtual TInt NotifySecurityCapsChangeCancel( 
+            const TTsyReqHandle aTsyReqHandle );
+
+        /**
+         * Delivers current lock information
+         *          
+         *
+         * @param aPackage Parameters where lock information is stored
+         * @return KErrNone or KErrArgument
+         */
+        virtual TInt GetLockInfoL( const TDataPackage& aPackage );
+
+        /**
+         * Sets TSY notify if lock information changes
+         *          
+         *
+         * @param aLock
+         * @param aLockInfo
+         * @return KErrNone
+         */
+        virtual TInt NotifyLockInfoChange(
+            RMobilePhone::TMobilePhoneLock* aLock,
+            TDes8* aLockInfo );
+
+        /**
+         * Cancel notification request about lock information change
+         *          
+         *
+         * @param aTsyReqHandle
+         * @return KErrNone
+         */
+        virtual TInt NotifyLockInfoChangeCancel( 
+            const TTsyReqHandle aTsyReqHandle );
+
+        /**
+         * Checks if setting a new setting for a lock is possible
+         *          
+         * 
+         * @param aTsyReqHandle
+         * @param aPackage
+         * @return KErrNone
+         */
+        virtual TInt SetLockSettingL( const TTsyReqHandle aTsyReqHandle,
+            const TDataPackage& aPackage );
+
+        /**
+         * Cancel the request about lock setting, can be cancelled if no ISI
+         * sending done yet.
+         *          
+         *
+         * @param aTsyReqHandle
+         * @return KErrNone
+         */
+        virtual TInt SetLockSettingCancel( const TTsyReqHandle aTsyReqHandle );
+
+        /**
+         * Cancel the request about lock setting, can be cancelled if no ISI
+         * sending done yet.
+         *          
+         *
+         * @param aTsyReqHandle
+         * @return KErrNone
+         */
+        virtual TInt GetLockInfoCancel ( const  TTsyReqHandle aTsyReqHandle );
+
+        /**
+         * Sets new setting for a lock
+         *          
+         *
+         * @param aPackage
+         * @return KErrNone
+         */
+        virtual TInt LockSettingL( const TTsyReqHandle aTsyReqHandle,
+            const TDataPackage& aPackage );
+
+        /**
+         * Replaces old security code with new one
+         *          
+         *
+         * @param aType
+         * @param aChange
+         * @return Error value
+         */
+        virtual TInt ChangeSecurityCodeL( const TTsyReqHandle aTsyReqHandle,
+            const TDataPackage& aPackage );
+
+        /**
+         * Sets TSY notify if security event appears
+         *          
+         *
+         * @param aEven
+         * @return KErrNone
+         */
+        virtual TInt NotifySecurityEventL( 
+            RMobilePhone::TMobilePhoneSecurityEvent* aEvent );
+
+        /**
+         * Cancel notification request about lock information change
+         *          
+         *
+         * @const aTsyReqHandle
+         * @return KErrNone
+         */
+        virtual TInt NotifySecurityEventCancel( 
+            const TTsyReqHandle aTsyReqHandle );
+
+        /**
+         * Verifies current security code
+         *          
+         *
+         * @param aTsyReqHandle 
+         * @param aType
+         * @param aCodes
+         * @return KErrNone
+         */
+        virtual TInt VerifySecurityCodeL( const TTsyReqHandle aTsyReqHandle, 
+            const TDataPackage& aPackage );
+        
+        /**
+         * Aborts current security code verification query
+         *          
+         *
+         * @param aTsyReqHandle
+         * @param aPackage
+         * @return KErrNone
+         */
+        virtual TInt AbortSecurityCodeL( const TTsyReqHandle aTsyReqHandle,
+            const TDataPackage& aPackage );
+
+        /**
+         * This method retrieves the current number of remaining entry 
+         * attemps of security code.
+         *          
+         * @param aTsyReqHandle
+         * @param aSecurityCode
+         * @param aSecurityCodeInfo
+         * @return Error value
+         */
+        virtual TInt GetSecurityCodeInfoL( const TTsyReqHandle aTsyReqHandle, 
+            RMobilePhone::TMobilePhoneSecurityCode* aSecurityCode, 
+            TDes8* aSecurityCodeInfo );
+
+        /**
+         * Cancel GetSecurityCodeInfo request
+         *          
+         * @param aTsyReqHandle
+         * @return Error value
+         */
+        virtual TInt GetSecurityCodeInfoCancel( 
+            const TTsyReqHandle aTsyReqHandle );
+
+        /**
+         * Notifies security code info changes
+         *          
+         * @param aSecurityCode
+         * @param aSecurityCodeInfo
+         * @return Error value
+         */
+        virtual TInt NotifySecurityCodeInfoChange( 
+            RMobilePhone::TMobilePhoneSecurityCode* aSecurityCode, 
+            TDes8* aSecurityCodeInfo );
+
+        /**
+         * Cancel notification about security code info changes
+         *          
+         * @param aTsyReqHandle
+         * @return Error value
+         */
+        virtual TInt NotifySecurityCodeInfoChangeCancel( 
+            const TTsyReqHandle aTsyReqHandle );
+
+        /**
+         * It resets the (GetSecurityCodeInfo) request handle.
+         *          
+         * @param aSecurityCode Security Code.
+         */
+        virtual void ResetGetSecurityCodeInfoTsyReqHandle( 
+            const RMobilePhone::TMobilePhoneSecurityCode aSecurityCode );
+
+        /**
+         * Checks that security codes are well formed.
+         * 
+         *@param aCodeType The security code to check, e.g. PIN, PUK, etc.
+         *@param aCodes The code that needs to be checked.		 		          
+         */
+        TBool AreCodesWellFormed(
+            const RMobilePhone::TMobilePhoneSecurityCode& aCodeType,
+            const RMobilePhone::TCodeAndUnblockCode& aCodes ) const;
+            
+    private:    // Data
+
+        /**
+         * Pointer to phone tsy
+         */         
+        CMmPhoneTsy* iMmPhoneTsy;
+
+        /**
+         * get lock info
+         */         
+        TDes8* iRetGetLockInfo;
+
+        /**
+         * notify phone lock change
+         */         
+        RMobilePhone::TMobilePhoneLock* iRetNotifyPhoneLockChange;
+
+        /**
+         * notify phone lock info change
+         */         
+        TDes8* iRetNotifyLockInfoChange;
+
+        /**
+         * Set Lock Setting phone lock
+         */         
+        RMobilePhone::TMobilePhoneLock iLockSettingPhoneLock;
+        
+        /**
+         * Set Lock Setting
+         */         
+        RMobilePhone::TMobilePhoneLockSetting iLockSetting; 
+
+        /**
+         * notify security event
+         */         
+        RMobilePhone::TMobilePhoneSecurityEvent* iRetNotifySecurityEvent;
+
+        /**
+         * notify security capabilities change
+         */         
+        TUint32* iRetNotifySecurityCapsChange;
+
+        /**
+         * Lock type
+         */         
+        RMobilePhone::TMobilePhoneSecurityCode iLockType;
+
+        /**
+         * Is PIN1 disable supported
+         */         
+        TBool iPin1DisableSupported;
+
+        /**
+         * Is Puk code verify
+         */         
+        TBool iPukCodeVerify;
+
+        /**
+         * Is Phone password verify
+         */         
+        TBool iPhonePasswordVerify;
+
+        /**
+         * Is security codes checked for client after boot
+         */         
+        TBool iSecurityCheckedForBoot;
+
+        /**
+         * member enum for storing the last requested pin
+         */         
+        enum TLastPinRequested
+        	{
+        	EPinUnknown,
+        	EPin1Requested,
+        	EPin2Requested
+        	};
+        
+        /** 
+         * State while changing active code from PIN to UPIN
+         */         
+        TLastPinRequested iLastPinRequested;
+        
+        /**
+         * ETrue if requested through TSY and not yet completed to client.
+         */         
+        TBool iIsSecurityCodeRequestCachedInBoot;
+
+        /** These states are used when changing active code 
+            from PIN to UPIN */        
+        enum TActiveCodeToUpinState
+	        {
+	        EActiveCodeToUpinIdle,
+	        EActiveCodeToUpinAskUpin,        
+	        EActiveCodeToUpinAskPin,             
+            };
+
+        /** 
+         * State while changing active code from PIN to UPIN
+         */         
+        TActiveCodeToUpinState iActiveCodeToUpinState;
+
+        /**
+         * Security code info. Pointer to client side data.
+         * Not Own.
+         */
+        TDes8* iRetSecurityCodeInfo;
+
+        /**
+         * Security code. Pointer to client side data.
+         * Not Own.
+         */
+        RMobilePhone::TMobilePhoneSecurityCode* iRetNotifySecurityCode;
+
+        /**
+         * Security code info. Pointer to client side data.
+         * Not Own.
+         */
+        TDes8* iRetNotifySecurityCodeInfo;
+
+        /**
+	     * Array for buffering Get Security Code Info requests
+	     */		     
+	    RPointerArray< TGetSecurityCodeInfoRequest > iGetSecurityCodeInfoRequests;
+
+    };
+#endif // CMMSECURITYTSY_H
+
+// End of File