--- 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