telephonyutils/telephonywatchers/inc/watcherbase.h
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/telephonyutils/telephonywatchers/inc/watcherbase.h	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyutils/telephonywatchers/inc/watcherbase.h	Thu May 06 15:10:38 2010 +0100
@@ -1,242 +1,242 @@
-// Copyright (c) 2000-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 __WATCHERBASE_H__
-#define __WATCHERBASE_H__
-
-// System includes
-#include <e32base.h>
-#include <etelext.h>
-#include <etelmm.h>
-#include <etel.h>
-
-// User includes
-#include "phoneonoff.h"
-#include "ModemChangeObserver.h"
-
-// Test code hooks (when this file is embedded inside an EXE)
-#include "WatcherTestHooks.h"
-
-/**
-Constants
-@internalComponent
-*/
-const TInt KErrorRetryCount = 3;
-const TInt KErrorRetryPausePeriod = 60; // Seconds
-const TInt KWatcherBaseModemNotDetected = -2017;
-
-const TUint KPhonePropertyKey = 0; //-- Phone properties key
-
-#ifdef WATCHER_TESTING
-
-//-- These UIds used for debugging purposes only by T_WATCHERS test.
-
-//-- Changing property with this Uid (to any value) informs that CTelPhoneWatcher has re-read modem table from Commdb in
-//-- CTelPhoneWatcher::DoRetrieveTSYNameL(). 
-const TUid  KUidTestProp_ModemTableRefreshed    = {0x11111111};
-                                                                                           
-//-- Property with this Uid is changed in CTelPhoneWatcher::HandleModemChangedL()
-//-- when the Commdb modem record has been changed
-const TUid  KUidTestProp_ModemRecordChanged     = {0xDEADBEEF};
-
-//-- Property with this Uid is used in CIndicatorWatcher::HandleIndicatorUpdateL()
-//-- to simulate call state change by t_watchers test
-const TUid  KUidTestProp_CallStateChange        = {0x12341234};
-
-//-- Property with this Uid is used to disable and reset phone watchers
-const TUid  KUidTestProp_WatchersDisable        = {0xFABBBABE};
-
-#endif
-
-//
-// ------> CWatcherBase (header)
-//
-class CWatcherBase : public CActive
-/**
-@internalComponent
-*/
-	{
-//
-public: // DESTRUCT
-//
-	IMPORT_C ~CWatcherBase();
-
-//
-protected: // CONSTRUCT
-//
-	IMPORT_C CWatcherBase(TInt aPriority = CActive::EPriorityStandard);
-	IMPORT_C virtual void ConstructL();
-
-//
-#ifdef WATCHER_TESTING
-public: // NEW FUNCTIONS
-#else
-protected: // NEW FUNCTIONS
-#endif
-//
-	IMPORT_C void SuspendFor(TInt aTimeInSeconds);
-	IMPORT_C void SetDisabled(const TDesC& aLogEntry, TInt aError);
-	IMPORT_C void RequestNextState();
-	IMPORT_C void WaitForPhoneToPowerUpL();
-	//
-	virtual void HandleStateEventL(TInt aCompletionCode) = 0;
-	virtual void HandleConnectionToChangeNotifierEstablishedL() { }
-	virtual void HandleCancel() = 0;
-	virtual void Reset() { }
-
-//
-protected: // INLINE MUTATORS
-//
-
-	enum TWatcherPanic
-		{
-		EGeneral,
-		EUnexpectedState,
-		EUnexpectedActiveState
-		};
-	void WatcherBasePanic(TWatcherPanic aPanicNumber);
-
-	inline TInt ErrorCountIncrement() { return ++iErrorCount; }
-	inline void ErrorCountReset() { iErrorCount = 0; }
-
-//
-private: // FROM CActive
-//
-	IMPORT_C void RunL();
-	IMPORT_C void DoCancel();
-	IMPORT_C TInt RunError(TInt aError);
-
-//
-private: // INTERNAL STATE
-//
-	enum TBaseState
-	{
-		EBaseStateConnectingToPropertyNotifier,
-		EBaseStatePassive,
-		EBaseStateSuspending,
-		EBaseStateDisabled,
-		EBaseStateWaitingForPhoneToPowerUp,
-		//
-		EBaseStateLast
-	};
-	inline TBaseState& State() { return iBaseState; }
-
-//
-private: // STATEMACHINE
-//
-	
-	// Error count
-	TInt iErrorCount;
-
-	// Our current state
-	TBaseState iBaseState;
-	
-	// Retry timer
-	RTimer iTimer;
-	
-	RProperty iPhonePowerProperty;
-	};
-
-
-
-
-
-//
-// ------> CPhoneWatcher (header)
-//
-class CPhoneWatcher : public CWatcherBase, public MPhoneOnOffObserver, public MModemChangeObserver
-/**
-@internalComponent
-*/
-	{
-//
-public: // DESTRUCT
-//
-	IMPORT_C ~CPhoneWatcher();
-
-//
-protected: // CONSTRUCT
-//
-	IMPORT_C CPhoneWatcher(TInt aPriority = CActive::EPriorityStandard);
-	IMPORT_C void ConstructL();
-
-//
-protected: // NEW
-//
-	virtual void HandlePhoneStateEventL(TInt aCompletionCode) = 0;
-	virtual void ReleasePhoneResources() { }
-
-//
-protected: // INLINE MUTATORS
-//
-	inline RMobilePhone& Phone() { return iPhone; }
-	inline RTelServer& ETel() { return iETelServer; }
-
-//
-protected: // FROM CWatcherBase
-//
-	IMPORT_C void HandleStateEventL(TInt aCompletionCode);
-	IMPORT_C void Reset();
-
-//
-protected: // FROM MPhoneOnOffObserver
-//
-	IMPORT_C void PhoneIsOff();
-
-//
-private: // FROM MModemChangeObserver
-//
-	IMPORT_C void HandleModemChangedL();
-
-//
-private: // STANDARD SETUP STATE-MACHINE STEPS
-//
-	TInt RetrieveTSYName();
-	TInt ConnectToETelServer();
-	TInt LoadPhoneModule();
-	TInt ConnectToPhone();
-
-//
-private: // INTERNAL
-//
-	enum TPhoneState
-	{
-		EPhoneStateRetrievingTsyName = 0,
-		EPhoneStateConnectingToETel,
-		EPhoneStateLoadingPhoneModule,
-		EPhoneStateConnectingToPhone,
-		EPhoneStatePassive
-	};
-	inline TPhoneState& PhoneState() { return iPhoneState; }
-	void DoRetrieveTSYNameL();
-
-//
-private: // STATE MACHINE MEMBER DATA
-//
-	TName iTSYName;
-	TPhoneState iPhoneState;
-	//
-	RMobilePhone iPhone;
-	RTelServer iETelServer;	
-	
-	// Waits to be informed when the phone is turned on or off.
-	CPhoneOnOff* iPhoneWait;
-
-	// Waits to be informed when the CommsDb modem changes.
-	CModemChangeObserver* iModemChangeObserver;
-	};
-
-
-#endif
+// Copyright (c) 2000-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 __WATCHERBASE_H__
+#define __WATCHERBASE_H__
+
+// System includes
+#include <e32base.h>
+#include <etelext.h>
+#include <etelmm.h>
+#include <etel.h>
+
+// User includes
+#include "phoneonoff.h"
+#include "ModemChangeObserver.h"
+
+// Test code hooks (when this file is embedded inside an EXE)
+#include "WatcherTestHooks.h"
+
+/**
+Constants
+@internalComponent
+*/
+const TInt KErrorRetryCount = 3;
+const TInt KErrorRetryPausePeriod = 60; // Seconds
+const TInt KWatcherBaseModemNotDetected = -2017;
+
+const TUint KPhonePropertyKey = 0; //-- Phone properties key
+
+#ifdef WATCHER_TESTING
+
+//-- These UIds used for debugging purposes only by T_WATCHERS test.
+
+//-- Changing property with this Uid (to any value) informs that CTelPhoneWatcher has re-read modem table from Commdb in
+//-- CTelPhoneWatcher::DoRetrieveTSYNameL(). 
+const TUid  KUidTestProp_ModemTableRefreshed    = {0x11111111};
+                                                                                           
+//-- Property with this Uid is changed in CTelPhoneWatcher::HandleModemChangedL()
+//-- when the Commdb modem record has been changed
+const TUid  KUidTestProp_ModemRecordChanged     = {0xDEADBEEF};
+
+//-- Property with this Uid is used in CIndicatorWatcher::HandleIndicatorUpdateL()
+//-- to simulate call state change by t_watchers test
+const TUid  KUidTestProp_CallStateChange        = {0x12341234};
+
+//-- Property with this Uid is used to disable and reset phone watchers
+const TUid  KUidTestProp_WatchersDisable        = {0xFABBBABE};
+
+#endif
+
+//
+// ------> CWatcherBase (header)
+//
+class CWatcherBase : public CActive
+/**
+@internalComponent
+*/
+	{
+//
+public: // DESTRUCT
+//
+	IMPORT_C ~CWatcherBase();
+
+//
+protected: // CONSTRUCT
+//
+	IMPORT_C CWatcherBase(TInt aPriority = CActive::EPriorityStandard);
+	IMPORT_C virtual void ConstructL();
+
+//
+#ifdef WATCHER_TESTING
+public: // NEW FUNCTIONS
+#else
+protected: // NEW FUNCTIONS
+#endif
+//
+	IMPORT_C void SuspendFor(TInt aTimeInSeconds);
+	IMPORT_C void SetDisabled(const TDesC& aLogEntry, TInt aError);
+	IMPORT_C void RequestNextState();
+	IMPORT_C void WaitForPhoneToPowerUpL();
+	//
+	virtual void HandleStateEventL(TInt aCompletionCode) = 0;
+	virtual void HandleConnectionToChangeNotifierEstablishedL() { }
+	virtual void HandleCancel() = 0;
+	virtual void Reset() { }
+
+//
+protected: // INLINE MUTATORS
+//
+
+	enum TWatcherPanic
+		{
+		EGeneral,
+		EUnexpectedState,
+		EUnexpectedActiveState
+		};
+	void WatcherBasePanic(TWatcherPanic aPanicNumber);
+
+	inline TInt ErrorCountIncrement() { return ++iErrorCount; }
+	inline void ErrorCountReset() { iErrorCount = 0; }
+
+//
+private: // FROM CActive
+//
+	IMPORT_C void RunL();
+	IMPORT_C void DoCancel();
+	IMPORT_C TInt RunError(TInt aError);
+
+//
+private: // INTERNAL STATE
+//
+	enum TBaseState
+	{
+		EBaseStateConnectingToPropertyNotifier,
+		EBaseStatePassive,
+		EBaseStateSuspending,
+		EBaseStateDisabled,
+		EBaseStateWaitingForPhoneToPowerUp,
+		//
+		EBaseStateLast
+	};
+	inline TBaseState& State() { return iBaseState; }
+
+//
+private: // STATEMACHINE
+//
+	
+	// Error count
+	TInt iErrorCount;
+
+	// Our current state
+	TBaseState iBaseState;
+	
+	// Retry timer
+	RTimer iTimer;
+	
+	RProperty iPhonePowerProperty;
+	};
+
+
+
+
+
+//
+// ------> CPhoneWatcher (header)
+//
+class CPhoneWatcher : public CWatcherBase, public MPhoneOnOffObserver, public MModemChangeObserver
+/**
+@internalComponent
+*/
+	{
+//
+public: // DESTRUCT
+//
+	IMPORT_C ~CPhoneWatcher();
+
+//
+protected: // CONSTRUCT
+//
+	IMPORT_C CPhoneWatcher(TInt aPriority = CActive::EPriorityStandard);
+	IMPORT_C void ConstructL();
+
+//
+protected: // NEW
+//
+	virtual void HandlePhoneStateEventL(TInt aCompletionCode) = 0;
+	virtual void ReleasePhoneResources() { }
+
+//
+protected: // INLINE MUTATORS
+//
+	inline RMobilePhone& Phone() { return iPhone; }
+	inline RTelServer& ETel() { return iETelServer; }
+
+//
+protected: // FROM CWatcherBase
+//
+	IMPORT_C void HandleStateEventL(TInt aCompletionCode);
+	IMPORT_C void Reset();
+
+//
+protected: // FROM MPhoneOnOffObserver
+//
+	IMPORT_C void PhoneIsOff();
+
+//
+private: // FROM MModemChangeObserver
+//
+	IMPORT_C void HandleModemChangedL();
+
+//
+private: // STANDARD SETUP STATE-MACHINE STEPS
+//
+	TInt RetrieveTSYName();
+	TInt ConnectToETelServer();
+	TInt LoadPhoneModule();
+	TInt ConnectToPhone();
+
+//
+private: // INTERNAL
+//
+	enum TPhoneState
+	{
+		EPhoneStateRetrievingTsyName = 0,
+		EPhoneStateConnectingToETel,
+		EPhoneStateLoadingPhoneModule,
+		EPhoneStateConnectingToPhone,
+		EPhoneStatePassive
+	};
+	inline TPhoneState& PhoneState() { return iPhoneState; }
+	void DoRetrieveTSYNameL();
+
+//
+private: // STATE MACHINE MEMBER DATA
+//
+	TName iTSYName;
+	TPhoneState iPhoneState;
+	//
+	RMobilePhone iPhone;
+	RTelServer iETelServer;	
+	
+	// Waits to be informed when the phone is turned on or off.
+	CPhoneOnOff* iPhoneWait;
+
+	// Waits to be informed when the CommsDb modem changes.
+	CModemChangeObserver* iModemChangeObserver;
+	};
+
+
+#endif