telephonyserverplugins/simtsy/inc/CSimPhoneSecurity.h
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/telephonyserverplugins/simtsy/inc/CSimPhoneSecurity.h	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/simtsy/inc/CSimPhoneSecurity.h	Thu May 06 15:10:38 2010 +0100
@@ -1,270 +1,270 @@
-// Copyright (c) 2003-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 __SIMPHONESECURITY_H_
-#define __SIMPHONESECURITY_H_
-
-/**
- * @file
- *
- * Contains the class definitions required for the Phone Security.
- * @internalAll
- */
-
-#include <etelmm.h>
-#include <et_phone.h>
-#include <mpbutil.h>
-#include "csimtimer.h"
-#include "CSimPhone.h"
-
-// CDMA Mode - Timer Values   
-//const TInt KNamTimeout=1;
-
-/**
- * The main Phone Security class which simulates security features.
- */
-class CSimPhone;
-class CTestConfigSection;
-class CTestConfigItem;
-class CSimPhoneSecurity : public CSubSessionExtBase, public MTimerCallBack
-	{
-public:
-	static CSimPhoneSecurity* NewL(CSimPhone* aPhone);
-	CSimPhoneSecurity(CSimPhone* aPhone);
-	~CSimPhoneSecurity();
-
-	virtual CTelObject::TReqMode ReqModeL(const TInt aIpc);
-// MTelObjectTSY pure virtual
-	virtual TInt RegisterNotification(const TInt aIpc);
-	virtual TInt DeregisterNotification(const TInt aIpc);
-	virtual void Init();
-	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
-	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
-	virtual TInt NumberOfSlotsL(const TInt aIpc);
-	virtual TInt CancelService(const TInt aIpc,const TTsyReqHandle aTsyReqHandle);
-
-// MSubSessionExtBaseTSY pure virtual
-	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
-	virtual void TimerCallBack(TInt aId);	
-	const CTestConfigSection* CfgFile();
-	//Called by other classes
-	TBool IsICCLocked();
-	TBool IsPIN2Locked();
-	void LockICC();
-	void UnLockICC();
-	void LockPIN2();
-	void UnLockPIN2();
-	TBool IsHiddenEnabled();
-	void HideEntries();
-	void ShowHidden();
-
-	void LockSpc();
-	void UnLockSpc();
-
-protected:
-	void ConstructL();
-public:
-
-	enum TSecurityEvent
-		{
-		EEventPin1Required,
-		EEventPin1Verified,
-		EEventPin2Required,
-		EEventPin2Verified,
-		EEventPuk1Required,
-		EEventPuk1Verified,
-		EEventPuk2Required,
-		EEventPuk2Verified,
-		EEventHiddenKeyRequired,
-		EEventHiddenKeyVerified,
-		EEventUSim1Required,
-		EEventUSim1Verified,
-		EEventUSim2Required,
-		EEventUSim2Verified,
-		EEventUniversalRequired,
-		EEventUniversalVerified,
-		};
-
-	class TSecurityCodes
-		{
-		public:
-			TName iPin1;
-			TName iPin2;
-			TName iPuk1;
-			TName iPuk2;
-			TName iPhonePassword;
-			TName iSPC;
-			TName iPhBkHiddenKey;
-			TName iUSimAppPin;
-			TName iSecondUSimAppPin;
-			TName iUniversalPin;
-		};
-
-	class TSecurityCodeRemainigAttempts
-		{
-		public:
-			TInt iPin1;
-			TInt iPin2;
-			TInt iPuk1;
-			TInt iPuk2;
-		};
-
-	class TSecurityStatus
-		{
-		public:
-			RMobilePhone::TMobilePhoneLockStatus iPin1;
-			RMobilePhone::TMobilePhoneLockStatus iPin2;
-			RMobilePhone::TMobilePhoneLockStatus iPuk1;
-			RMobilePhone::TMobilePhoneLockStatus iPuk2;
-			RMobilePhone::TMobilePhoneLockStatus iPhonePassword;
-			RMobilePhone::TMobilePhoneLockStatus iSPC;
-			RMobilePhone::TMobilePhoneLockStatus iPhBkHiddenKey;
-			RMobilePhone::TMobilePhoneLockStatus iUSimAppPin;
-			RMobilePhone::TMobilePhoneLockStatus iSecondUSimAppPin;
-			RMobilePhone::TMobilePhoneLockStatus iUniversalPin;
-		};
-	
-	class TSecuritySetting
-		{
-		public:
-			RMobilePhone::TMobilePhoneLockSetting iPin1;
-			RMobilePhone::TMobilePhoneLockSetting iPin2;
-			RMobilePhone::TMobilePhoneLockSetting iPuk1;
-			RMobilePhone::TMobilePhoneLockSetting iPuk2;
-			RMobilePhone::TMobilePhoneLockSetting iPhonePassword;
-			RMobilePhone::TMobilePhoneLockSetting iSPC;
-			RMobilePhone::TMobilePhoneLockSetting iPhBkHiddenKey;
-			RMobilePhone::TMobilePhoneLockSetting iUSimAppPin;
-			RMobilePhone::TMobilePhoneLockSetting iSecondUSimAppPin;
-			RMobilePhone::TMobilePhoneLockSetting iUniversalPin;
-		};
-
-		class TICCStatusEntry
-			{
-			public:
-				TInt iDuration;				// < Duration of ICC state
-				RMobilePhone::TMobilePhoneSecurityEvent iICCStatus;		// < State of ICC	
-			};
-
-		class TSecNotifyData
-			{	
-			public:
-				TBool iNotifyPending;  //indicates if a notification is pending
-				TTsyReqHandle iNotifyHandle; //the TSY notification handle
-				TAny* iNotifyData;  //Holds the data for the notification pending
-				TAny* iNotifyDataXtra;  //Holds the data for the notification pending
-			};
-			
-		class TICCSettingEntry
-			{
-			public:
-				TInt iDuration;				// < Duration of ICC setting
-				RMobilePhone::TMobilePhoneLock iLock;	//lock change applies to.
-				RMobilePhone::TMobilePhoneLockInfoV1 iLockInfo;
-			};
-
-
-public:
-
-	TInt GetSecurityCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
-
-	TInt NotifySecurityCapsChange(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
-	TInt NotifySecurityCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
-
-	TInt GetLockInfo(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneLock* aLock, TDes8* aLockInfo);
-	TInt GetLockInfoCancel(const TTsyReqHandle aTsyReqHandle);
-
-	TInt NotifyLockInfoChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneLock* aLock, TDes8* aLockInfo);
-	TInt NotifyLockInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
-
-	TInt SetLockSetting(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneLock* aLock, RMobilePhone::TMobilePhoneLockSetting* aSetting);
-	TInt SetLockSettingCancel(const TTsyReqHandle aTsyReqHandle);
-
-	TInt GetSecurityCodeInfo(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aSecurityCode,TDes8* aSecurityCodeInfo);
-	TInt GetSecurityCodeInfoCancel(const TTsyReqHandle aReqHandle);
-
-	TInt NotifySecurityCodeInfoChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aSecurityCode,TDes8* aSecurityCodeInfo);
-	TInt NotifySecurityCodeInfoChangeCancel(const TTsyReqHandle aReqHandle);
-
-	TInt ChangeSecurityCode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aType,const TDes8* aChange);
-	TInt ChangeSecurityCodeCancel(const TTsyReqHandle aTsyReqHandle);
-
-	TInt NotifySecurityEvent(const TTsyReqHandle aTsyReqHandle, TDes8* aEvent);
-	TInt NotifySecurityEventCancel(const TTsyReqHandle aTsyReqHandle);
-
-	TInt VerifySecurityCode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aType, const RMobilePhone::TCodeAndUnblockCode* aCode);
-	TInt VerifySecurityCodeCancel(const TTsyReqHandle aTsyReqHandle);
-
-	TInt AbortSecurityCode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aType);
-
-	TInt UnlockNam(const TTsyReqHandle aReqHandle, const RMobilePhone::TMobilePassword* aSpc);
-	TInt UnlockNamCancel(const TTsyReqHandle aTsyReqHandle);
-	void TimerCallBackUnlockNam();
-
-	TInt LockNamCancel(const TTsyReqHandle aTsyReqHandle);
-	void TimerCallBackLockNam();
-
-	void SecurityEvent(RMobilePhone::TMobilePhoneSecurityEvent aEvent);
-	
-	class CIccTimer : public CBase
-		{
-	public:
-		CIccTimer();
-		~CIccTimer();
-		static CIccTimer* NewL();
-	public:
-		TBool iTimerStarted;
-		TInt iIndex;
-		CSimTimer* iTimer;
-		};
-
-private:
-	TInt UpdateLockInfo(RMobilePhone::TMobilePhoneLock aLock, const RMobilePhone::TMobilePhoneLockInfoV1& aLockInfo);
-
-	void Pin1Failure();
-	void Pin1Success();
-	void Pin2Failure();
-	void Pin2Success();
-	void Puk1Failure();
-	void Puk1Success();
-	void Puk2Failure();
-	void Puk2Success();
-
-	void CompleteNotifyLockInfoChange(RMobilePhone::TMobilePhoneLock aLock, const RMobilePhone::TMobilePhoneLockInfoV1& aLockInfo);
-	void CompleteNotifySecurityCodeInfoChange(RMobilePhone::TMobilePhoneSecurityCode aSecurityCode, const RMobilePhone::TMobilePhoneSecurityCodeInfoV5& aSecurityCodeInfo);
-
-	CSimPhone* iPhone;
-	
-	TSecurityCodes iSecCodes;
-	TSecurityCodeRemainigAttempts iSecurityCodeRemainigAttempts;
-	TSecurityCodeRemainigAttempts iSecurityCodeDefaultRemainigAttempts;
-	CArrayFixFlat<TICCStatusEntry>* iICCStatusProfile;		// <Array containing the indicators changes for this test
-	TSecNotifyData iNotifyLock;
-	TSecNotifyData iNotifySecurityCodeInfo;
-	TNotifyData iNotifyEvent;
-	TSecurityStatus iSecStatus;
-	TSecuritySetting iSecSetting;
-	CArrayFixFlat<TICCSettingEntry>*  iICCSettingProfile;
-	
-	CIccTimer* iNotifySettingsTimer;
-	CIccTimer* iNotifySecurityEventsTimer;
-	
-	CSimTimer* iUnlockNamTimer;
-	TTsyReqHandle iUnlockNamHandle;
-	CSimTimer* iLockNamTimer;
-	TTsyReqHandle iLockNamHandle;
-	};
-
-#endif
+// Copyright (c) 2003-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 __SIMPHONESECURITY_H_
+#define __SIMPHONESECURITY_H_
+
+/**
+ * @file
+ *
+ * Contains the class definitions required for the Phone Security.
+ * @internalAll
+ */
+
+#include <etelmm.h>
+#include <et_phone.h>
+#include <mpbutil.h>
+#include "csimtimer.h"
+#include "CSimPhone.h"
+
+// CDMA Mode - Timer Values   
+//const TInt KNamTimeout=1;
+
+/**
+ * The main Phone Security class which simulates security features.
+ */
+class CSimPhone;
+class CTestConfigSection;
+class CTestConfigItem;
+class CSimPhoneSecurity : public CSubSessionExtBase, public MTimerCallBack
+	{
+public:
+	static CSimPhoneSecurity* NewL(CSimPhone* aPhone);
+	CSimPhoneSecurity(CSimPhone* aPhone);
+	~CSimPhoneSecurity();
+
+	virtual CTelObject::TReqMode ReqModeL(const TInt aIpc);
+// MTelObjectTSY pure virtual
+	virtual TInt RegisterNotification(const TInt aIpc);
+	virtual TInt DeregisterNotification(const TInt aIpc);
+	virtual void Init();
+	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
+	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
+	virtual TInt NumberOfSlotsL(const TInt aIpc);
+	virtual TInt CancelService(const TInt aIpc,const TTsyReqHandle aTsyReqHandle);
+
+// MSubSessionExtBaseTSY pure virtual
+	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
+	virtual void TimerCallBack(TInt aId);	
+	const CTestConfigSection* CfgFile();
+	//Called by other classes
+	TBool IsICCLocked();
+	TBool IsPIN2Locked();
+	void LockICC();
+	void UnLockICC();
+	void LockPIN2();
+	void UnLockPIN2();
+	TBool IsHiddenEnabled();
+	void HideEntries();
+	void ShowHidden();
+
+	void LockSpc();
+	void UnLockSpc();
+
+protected:
+	void ConstructL();
+public:
+
+	enum TSecurityEvent
+		{
+		EEventPin1Required,
+		EEventPin1Verified,
+		EEventPin2Required,
+		EEventPin2Verified,
+		EEventPuk1Required,
+		EEventPuk1Verified,
+		EEventPuk2Required,
+		EEventPuk2Verified,
+		EEventHiddenKeyRequired,
+		EEventHiddenKeyVerified,
+		EEventUSim1Required,
+		EEventUSim1Verified,
+		EEventUSim2Required,
+		EEventUSim2Verified,
+		EEventUniversalRequired,
+		EEventUniversalVerified,
+		};
+
+	class TSecurityCodes
+		{
+		public:
+			TName iPin1;
+			TName iPin2;
+			TName iPuk1;
+			TName iPuk2;
+			TName iPhonePassword;
+			TName iSPC;
+			TName iPhBkHiddenKey;
+			TName iUSimAppPin;
+			TName iSecondUSimAppPin;
+			TName iUniversalPin;
+		};
+
+	class TSecurityCodeRemainigAttempts
+		{
+		public:
+			TInt iPin1;
+			TInt iPin2;
+			TInt iPuk1;
+			TInt iPuk2;
+		};
+
+	class TSecurityStatus
+		{
+		public:
+			RMobilePhone::TMobilePhoneLockStatus iPin1;
+			RMobilePhone::TMobilePhoneLockStatus iPin2;
+			RMobilePhone::TMobilePhoneLockStatus iPuk1;
+			RMobilePhone::TMobilePhoneLockStatus iPuk2;
+			RMobilePhone::TMobilePhoneLockStatus iPhonePassword;
+			RMobilePhone::TMobilePhoneLockStatus iSPC;
+			RMobilePhone::TMobilePhoneLockStatus iPhBkHiddenKey;
+			RMobilePhone::TMobilePhoneLockStatus iUSimAppPin;
+			RMobilePhone::TMobilePhoneLockStatus iSecondUSimAppPin;
+			RMobilePhone::TMobilePhoneLockStatus iUniversalPin;
+		};
+	
+	class TSecuritySetting
+		{
+		public:
+			RMobilePhone::TMobilePhoneLockSetting iPin1;
+			RMobilePhone::TMobilePhoneLockSetting iPin2;
+			RMobilePhone::TMobilePhoneLockSetting iPuk1;
+			RMobilePhone::TMobilePhoneLockSetting iPuk2;
+			RMobilePhone::TMobilePhoneLockSetting iPhonePassword;
+			RMobilePhone::TMobilePhoneLockSetting iSPC;
+			RMobilePhone::TMobilePhoneLockSetting iPhBkHiddenKey;
+			RMobilePhone::TMobilePhoneLockSetting iUSimAppPin;
+			RMobilePhone::TMobilePhoneLockSetting iSecondUSimAppPin;
+			RMobilePhone::TMobilePhoneLockSetting iUniversalPin;
+		};
+
+		class TICCStatusEntry
+			{
+			public:
+				TInt iDuration;				// < Duration of ICC state
+				RMobilePhone::TMobilePhoneSecurityEvent iICCStatus;		// < State of ICC	
+			};
+
+		class TSecNotifyData
+			{	
+			public:
+				TBool iNotifyPending;  //indicates if a notification is pending
+				TTsyReqHandle iNotifyHandle; //the TSY notification handle
+				TAny* iNotifyData;  //Holds the data for the notification pending
+				TAny* iNotifyDataXtra;  //Holds the data for the notification pending
+			};
+			
+		class TICCSettingEntry
+			{
+			public:
+				TInt iDuration;				// < Duration of ICC setting
+				RMobilePhone::TMobilePhoneLock iLock;	//lock change applies to.
+				RMobilePhone::TMobilePhoneLockInfoV1 iLockInfo;
+			};
+
+
+public:
+
+	TInt GetSecurityCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+
+	TInt NotifySecurityCapsChange(const TTsyReqHandle aTsyReqHandle, TUint32* aCaps);
+	TInt NotifySecurityCapsChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetLockInfo(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneLock* aLock, TDes8* aLockInfo);
+	TInt GetLockInfoCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt NotifyLockInfoChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneLock* aLock, TDes8* aLockInfo);
+	TInt NotifyLockInfoChangeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt SetLockSetting(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneLock* aLock, RMobilePhone::TMobilePhoneLockSetting* aSetting);
+	TInt SetLockSettingCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt GetSecurityCodeInfo(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aSecurityCode,TDes8* aSecurityCodeInfo);
+	TInt GetSecurityCodeInfoCancel(const TTsyReqHandle aReqHandle);
+
+	TInt NotifySecurityCodeInfoChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aSecurityCode,TDes8* aSecurityCodeInfo);
+	TInt NotifySecurityCodeInfoChangeCancel(const TTsyReqHandle aReqHandle);
+
+	TInt ChangeSecurityCode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aType,const TDes8* aChange);
+	TInt ChangeSecurityCodeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt NotifySecurityEvent(const TTsyReqHandle aTsyReqHandle, TDes8* aEvent);
+	TInt NotifySecurityEventCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt VerifySecurityCode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aType, const RMobilePhone::TCodeAndUnblockCode* aCode);
+	TInt VerifySecurityCodeCancel(const TTsyReqHandle aTsyReqHandle);
+
+	TInt AbortSecurityCode(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneSecurityCode* aType);
+
+	TInt UnlockNam(const TTsyReqHandle aReqHandle, const RMobilePhone::TMobilePassword* aSpc);
+	TInt UnlockNamCancel(const TTsyReqHandle aTsyReqHandle);
+	void TimerCallBackUnlockNam();
+
+	TInt LockNamCancel(const TTsyReqHandle aTsyReqHandle);
+	void TimerCallBackLockNam();
+
+	void SecurityEvent(RMobilePhone::TMobilePhoneSecurityEvent aEvent);
+	
+	class CIccTimer : public CBase
+		{
+	public:
+		CIccTimer();
+		~CIccTimer();
+		static CIccTimer* NewL();
+	public:
+		TBool iTimerStarted;
+		TInt iIndex;
+		CSimTimer* iTimer;
+		};
+
+private:
+	TInt UpdateLockInfo(RMobilePhone::TMobilePhoneLock aLock, const RMobilePhone::TMobilePhoneLockInfoV1& aLockInfo);
+
+	void Pin1Failure();
+	void Pin1Success();
+	void Pin2Failure();
+	void Pin2Success();
+	void Puk1Failure();
+	void Puk1Success();
+	void Puk2Failure();
+	void Puk2Success();
+
+	void CompleteNotifyLockInfoChange(RMobilePhone::TMobilePhoneLock aLock, const RMobilePhone::TMobilePhoneLockInfoV1& aLockInfo);
+	void CompleteNotifySecurityCodeInfoChange(RMobilePhone::TMobilePhoneSecurityCode aSecurityCode, const RMobilePhone::TMobilePhoneSecurityCodeInfoV5& aSecurityCodeInfo);
+
+	CSimPhone* iPhone;
+	
+	TSecurityCodes iSecCodes;
+	TSecurityCodeRemainigAttempts iSecurityCodeRemainigAttempts;
+	TSecurityCodeRemainigAttempts iSecurityCodeDefaultRemainigAttempts;
+	CArrayFixFlat<TICCStatusEntry>* iICCStatusProfile;		// <Array containing the indicators changes for this test
+	TSecNotifyData iNotifyLock;
+	TSecNotifyData iNotifySecurityCodeInfo;
+	TNotifyData iNotifyEvent;
+	TSecurityStatus iSecStatus;
+	TSecuritySetting iSecSetting;
+	CArrayFixFlat<TICCSettingEntry>*  iICCSettingProfile;
+	
+	CIccTimer* iNotifySettingsTimer;
+	CIccTimer* iNotifySecurityEventsTimer;
+	
+	CSimTimer* iUnlockNamTimer;
+	TTsyReqHandle iUnlockNamHandle;
+	CSimTimer* iLockNamTimer;
+	TTsyReqHandle iLockNamHandle;
+	};
+
+#endif