diff -r 6b1d113cdff3 -r 6638e7f4bd8f telephonyserverplugins/simtsy/inc/CSimNetworkStatus.h --- a/telephonyserverplugins/simtsy/inc/CSimNetworkStatus.h Mon May 03 13:37:20 2010 +0300 +++ b/telephonyserverplugins/simtsy/inc/CSimNetworkStatus.h Thu May 06 15:10:38 2010 +0100 @@ -1,200 +1,200 @@ -// Copyright (c) 2001-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: -// Contains definitions for classes that implement network orientated functionality. -// -// - -/** - @file - @internalAll -*/ - -#ifndef CSIMNETWORKSTATUS_H__ -#define CSIMNETWORKSTATUS_H__ - -#include -#include -#include "csimtimer.h" -#include "CSimPubSubChange.h" - -class CSimPhone; -class CTestConfigSection; - -/** - * Implements the RMobilePhone based functions that constitute the network orientated - * functionality provided by the SIM TSY. - */ -class CSimNetworkStatus : public CBase, MTimerCallBack, MPubSubChangeCallback - { -public: - static CSimNetworkStatus* NewL(CSimPhone* aPhone); - CSimNetworkStatus(CSimPhone* aPhone); - ~CSimNetworkStatus(); - TInt GetNetworkCaps(TTsyReqHandle aReqHandle,TDes8* aPckg1); - TInt GetHomeNetwork(TTsyReqHandle aReqHandle,TDes8* aPckg1); - TInt GetCurrentNetwork(TTsyReqHandle aReqHandle,TDes8* aPckg1, TDes8* aPckg2); - TInt GetCurrentNetworkNoLocation(TTsyReqHandle aReqHandle,TDes8* aPckg1); - TInt GetNetworkRegistrationStatus(TTsyReqHandle aReqHandle,TDes8* aPckg); - TInt NotifyNetworkRegistrationStatusChange(TTsyReqHandle aReqHandle,TDes8* aPckg); - void NotifyNetworkRegistrationStatusChangeCancel(); - TInt NotifyCurrentNetworkChange(TTsyReqHandle aReqHandle,TDes8* aPckg1,TDes8* aPckg2); - void NotifyCurrentNetworkChangeCancel(const TTsyReqHandle aTsyReqHandle); - TInt NotifyCurrentNetworkNoLocationChange(TTsyReqHandle aReqHandle,TDes8* aPckg1); - void NotifyCurrentNetworkNoLocationChangeCancel(const TTsyReqHandle aTsyReqHandle); - - TInt GetNITZInfo(TTsyReqHandle aReqHandle,TDes8* aPckg1); - TInt NotifyNITZInfoChange(TTsyReqHandle aReqHandle,TDes8* aPckg); - void NotifyNITZInfoChangeCancel(); - TInt GetCurrentServiceProvider(TTsyReqHandle aReqHandle,TDes8* aPckg); - TInt GetCurrentNetworkName(TTsyReqHandle aReqHandle,TDes8* aNetworkName, TDes8* aLocInfo); - - TInt GetCellInfo(TTsyReqHandle aReqHandle,TDes8* aPckg); - TInt NotifyCellInfoChange(TTsyReqHandle aReqHandle,TDes8* aPckg); - void NotifyCellInfoChangeCancel(TTsyReqHandle aTsyReqHandle); - - const CTestConfigSection* CfgFile(); - RMobilePhone::TMobilePhoneNetworkStatus NetWorkStatus(); - inline RMobilePhone::TMobilePhoneRegistrationStatus RegistrationStatus() { return static_cast(iCurrentRegStatus);}; - -private: - void ConstructL(); - void TimerCallBack(TInt aId); - void TimerCallBackRegStat(); - void PubSubCallback(TInt aRegStat); - void TimerCallBackNitz(); - void TimerCallBackCellInfo(); - void TimerCallBackRadioModeL(); - void PopulateNetworkInfoV1(TInt aIndex,RMobilePhone::TMobilePhoneNetworkInfoV1& aNetInfo); - void PopulateEtel3rdPartyNetworkInfoV1(TInt aIndex,RMobilePhone::TEtel3rdPartyMobileNetworkInfoV1& aNetInfo); - void PopulateNitzNetworkNames(RMobilePhone::TMobilePhoneNITZ& aNitz); - -private: - CSimPhone* iPhone; // < Pointer to the parent phone class. - CSimTimer* iRegStatTimer; // < Pointer to the owned Registration Status timer class. - CSimPubSubChange* iRegStatChange; // < Object for checking registration status change variable - CSimPubSubChange* iPSRegStatChange; // < Object for checking registration status change variable using new P&S uids - CSimTimer* iNitzTimer; // < Pointer to the owned NITZ timer class. - CSimTimer* iRadioModeTimer; // < Pointer to the owned RadioMode timer class. - CSimTimer* iCellInfoTimer; // < Pointer to the owned cell info timer class. - - struct TRegStatus - { - TInt iDuration; // < Duration of Registration Status - RMobilePhone::TMobilePhoneRegistrationStatus iRegStatus; // < Registration Status that will be maintained through period iDuration - TInt iNetworkInfoIndex; // < Network index (into iNetworkInfo) that will be maintained through period iDuration (optional) - }; - - CArrayFixFlat* iRegStatusInfo; // < List of network registration changes. - TInt iRegStatIndex; // < Current index from the iRegStatInfo array - TInt iCurrentRegStatus; // < Current Registration Status. - CArrayFixFlat* iNetworkInfo; // < List of network information. - CArrayFixFlat* iNetworkInfoV8; // < List of network information for V8 class. - CArrayFixFlat* iLocationArea; // < List of location area. - TInt iCurrentNetworkIndex; // < Current index from the iNetworkInfo array - struct TNitzInfoAndDuration - { - TInt iDuration; // < Duration when this NITZ information is valid. - RMobilePhone::TMobilePhoneNITZ iNitz; // < NITZ information valid for above period. - }; - CArrayFixFlat* iNitzInfo; // < List of NITZ information. - TInt iNitzIndex; // < Current index from the iNitzInfo array - RMobilePhone::TMobilePhoneNITZ iCurrentNitzInfo; - - TBool iRegStatChangeNotificationPending; // < Registration Status notification request outstanding - TTsyReqHandle iRegStatChangeNotificationReqHandle; // < Registration Status notification outstanding request handle - RMobilePhone::TMobilePhoneRegistrationStatus* iRegStatChangeNotificationRegStatus; // < Registration Status notification pointer - - TBool iCurrNetChangeV1NotificationPending; // < Current network notification request outstanding for V1 paramater class - TTsyReqHandle iCurrNetChangeV1NotificationReqHandle; // < Current network notification outstanding request handle for V1 paramater class - RMobilePhone::TMobilePhoneNetworkInfoV1* iCurrNetChangeV1NotificationNetInfo; // < Current network notification data pointer for V1 paramater class - - TBool iCurrNetChangeV2NotificationPending; // < Current network notification request outstanding for V2 paramater class - TTsyReqHandle iCurrNetChangeV2NotificationReqHandle; // < Current network notification outstanding request handle for V2 paramater class - RMobilePhone::TMobilePhoneNetworkInfoV2* iCurrNetChangeV2NotificationNetInfo; // < Current network notification data pointer for V2 paramater class - - TBool iCurrNetChangeV5NotificationPending; // < Current network notification request outstanding for V5 paramater class - TTsyReqHandle iCurrNetChangeV5NotificationReqHandle; // < Current network notification outstanding request handle for V5 paramater class - RMobilePhone::TMobilePhoneNetworkInfoV5* iCurrNetChangeV5NotificationNetInfo; // < Current network notification data pointer for V5 paramater class - - TBool iCurrNetChangeV8NotificationPending; // < Current network notification request outstanding for V8 paramater class - TTsyReqHandle iCurrNetChangeV8NotificationReqHandle; // < Current network notification outstanding request handle for V8 paramater class - RMobilePhone::TMobilePhoneNetworkInfoV8* iCurrNetChangeV8NotificationNetInfo; // < Current network notification data pointer for V8 paramater class - - TBool iCurrNetChangeNoLocV1NotificationPending; // < Current network notification request outstanding for V1 paramater class - TTsyReqHandle iCurrNetChangeNoLocV1NotificationReqHandle; // < Current network notification outstanding request handle for V1 paramater class - RMobilePhone::TMobilePhoneNetworkInfoV1* iCurrNetChangeNoLocV1NotificationNetInfo; // < Current network notification data pointer for V1 paramater class - - TBool iCurrNetChangeNoLocV2NotificationPending; // < Current network notification request outstanding for V2 paramater class - TTsyReqHandle iCurrNetChangeNoLocV2NotificationReqHandle; // < Current network notification outstanding request handle for V2 paramater class - RMobilePhone::TMobilePhoneNetworkInfoV2* iCurrNetChangeNoLocV2NotificationNetInfo; // < Current network notification data pointer for V2 paramater class - - TBool iCurrNetChangeNoLocV5NotificationPending; // < Current network notification request outstanding for V5 paramater class - TTsyReqHandle iCurrNetChangeNoLocV5NotificationReqHandle; // < Current network notification outstanding request handle for V5 paramater class - RMobilePhone::TMobilePhoneNetworkInfoV5* iCurrNetChangeNoLocV5NotificationNetInfo; // < Current network notification data pointer for V5 paramater class - - TBool iCurrNetChangeNoLocV8NotificationPending; // < Current network notification request outstanding for V8 paramater class - TTsyReqHandle iCurrNetChangeNoLocV8NotificationReqHandle; // < Current network notification outstanding request handle for V8 paramater class - RMobilePhone::TMobilePhoneNetworkInfoV8* iCurrNetChangeNoLocV8NotificationNetInfo; // < Current network notification data pointer for V8 paramater class - - TBool iCurrNetChangeEtelIsvNotificationPending; // < Current network notification request outstanding for V2 paramater class - TTsyReqHandle iCurrNetChangeEtelIsvNotificationReqHandle; // < Current network notification outstanding request handle for V2 paramater class - RMobilePhone::TEtel3rdPartyMobileNetworkInfoV1* iCurrNetChangeEtelIsvNotificationNetInfo; // < Current network notification data pointer for V2 paramater class - - TBool iCurrentNetworkChangeLocationAreaNotificationPending; // < Current network notification request outstanding for location area class - RMobilePhone::TMobilePhoneLocationAreaV1* iCurrentNetworkChangeLocationArea; // < Current network notification data pointer for location area class - - TBool iNitzChangeNotificationPending; // < NITZ notification request outstanding - TTsyReqHandle iNitzChangeNotificationReqHandle; // < NITZ notification outstanding request handle - RMobilePhone::TMobilePhoneNITZ* iNitzChangeNotificationInfo; // < NITZ notification data pointer - RMobilePhone::TMobilePhoneServiceProviderNameV2 iServiceProvider; // < Service provider details - struct TRadioMode - { - TInt iDuration; // < Duration of Registration Status - TBool iRadioOn; // < Radio (RF) On or Off - }; - TRadioMode iRadioMode; - CArrayFixFlat* iRadioModeInfo; - TInt iRadioModeIndex; // < Current index from the radioMode array - - struct TCellInfoAndDuration - { - TInt iDuration; // < Duration when this cell information is valid. - RMobilePhone::TMobilePhoneCellInfoV9 iInfo; // < cell information valid for above period. - }; - CArrayFixFlat* iCellInfo; // < List of Cell information. - TInt iCellInfoIndex; // < Current index from the iNitzInfo array - RMobilePhone::TMobilePhoneCellInfoV9 iCurrentCellInfo; - TBool iCellInfoChangeNotificationPending; // < Cell info notification request outstanding - TTsyReqHandle iCellInfoChangeNotificationReqHandle; // < Cell info notification outstanding request handle - RMobilePhone::TMobilePhoneCellInfoV9* iCellInfoChangeNotificationInfo; // < cell Info notification data pointer - -private: - void SetNetworkMode(); - - CSimTimer* iRoamStatTimer; // < Pointer to the owned Roaming Status timer class. - void FindRoamStatSettings(); - - class TRoamStatClient - { - public: - TTsyReqHandle iReqHandle; - TUint8* iRoamingStatus; - }; - - TInt iRoamStatGetTimeout; - CArrayFixFlat* iRoamStatGetClients; - CArrayFixFlat* iRoamStatNotifyClients; - }; - -#endif +// Copyright (c) 2001-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: +// Contains definitions for classes that implement network orientated functionality. +// +// + +/** + @file + @internalAll +*/ + +#ifndef CSIMNETWORKSTATUS_H__ +#define CSIMNETWORKSTATUS_H__ + +#include +#include +#include "csimtimer.h" +#include "CSimPubSubChange.h" + +class CSimPhone; +class CTestConfigSection; + +/** + * Implements the RMobilePhone based functions that constitute the network orientated + * functionality provided by the SIM TSY. + */ +class CSimNetworkStatus : public CBase, MTimerCallBack, MPubSubChangeCallback + { +public: + static CSimNetworkStatus* NewL(CSimPhone* aPhone); + CSimNetworkStatus(CSimPhone* aPhone); + ~CSimNetworkStatus(); + TInt GetNetworkCaps(TTsyReqHandle aReqHandle,TDes8* aPckg1); + TInt GetHomeNetwork(TTsyReqHandle aReqHandle,TDes8* aPckg1); + TInt GetCurrentNetwork(TTsyReqHandle aReqHandle,TDes8* aPckg1, TDes8* aPckg2); + TInt GetCurrentNetworkNoLocation(TTsyReqHandle aReqHandle,TDes8* aPckg1); + TInt GetNetworkRegistrationStatus(TTsyReqHandle aReqHandle,TDes8* aPckg); + TInt NotifyNetworkRegistrationStatusChange(TTsyReqHandle aReqHandle,TDes8* aPckg); + void NotifyNetworkRegistrationStatusChangeCancel(); + TInt NotifyCurrentNetworkChange(TTsyReqHandle aReqHandle,TDes8* aPckg1,TDes8* aPckg2); + void NotifyCurrentNetworkChangeCancel(const TTsyReqHandle aTsyReqHandle); + TInt NotifyCurrentNetworkNoLocationChange(TTsyReqHandle aReqHandle,TDes8* aPckg1); + void NotifyCurrentNetworkNoLocationChangeCancel(const TTsyReqHandle aTsyReqHandle); + + TInt GetNITZInfo(TTsyReqHandle aReqHandle,TDes8* aPckg1); + TInt NotifyNITZInfoChange(TTsyReqHandle aReqHandle,TDes8* aPckg); + void NotifyNITZInfoChangeCancel(); + TInt GetCurrentServiceProvider(TTsyReqHandle aReqHandle,TDes8* aPckg); + TInt GetCurrentNetworkName(TTsyReqHandle aReqHandle,TDes8* aNetworkName, TDes8* aLocInfo); + + TInt GetCellInfo(TTsyReqHandle aReqHandle,TDes8* aPckg); + TInt NotifyCellInfoChange(TTsyReqHandle aReqHandle,TDes8* aPckg); + void NotifyCellInfoChangeCancel(TTsyReqHandle aTsyReqHandle); + + const CTestConfigSection* CfgFile(); + RMobilePhone::TMobilePhoneNetworkStatus NetWorkStatus(); + inline RMobilePhone::TMobilePhoneRegistrationStatus RegistrationStatus() { return static_cast(iCurrentRegStatus);}; + +private: + void ConstructL(); + void TimerCallBack(TInt aId); + void TimerCallBackRegStat(); + void PubSubCallback(TInt aRegStat); + void TimerCallBackNitz(); + void TimerCallBackCellInfo(); + void TimerCallBackRadioModeL(); + void PopulateNetworkInfoV1(TInt aIndex,RMobilePhone::TMobilePhoneNetworkInfoV1& aNetInfo); + void PopulateEtel3rdPartyNetworkInfoV1(TInt aIndex,RMobilePhone::TEtel3rdPartyMobileNetworkInfoV1& aNetInfo); + void PopulateNitzNetworkNames(RMobilePhone::TMobilePhoneNITZ& aNitz); + +private: + CSimPhone* iPhone; // < Pointer to the parent phone class. + CSimTimer* iRegStatTimer; // < Pointer to the owned Registration Status timer class. + CSimPubSubChange* iRegStatChange; // < Object for checking registration status change variable + CSimPubSubChange* iPSRegStatChange; // < Object for checking registration status change variable using new P&S uids + CSimTimer* iNitzTimer; // < Pointer to the owned NITZ timer class. + CSimTimer* iRadioModeTimer; // < Pointer to the owned RadioMode timer class. + CSimTimer* iCellInfoTimer; // < Pointer to the owned cell info timer class. + + struct TRegStatus + { + TInt iDuration; // < Duration of Registration Status + RMobilePhone::TMobilePhoneRegistrationStatus iRegStatus; // < Registration Status that will be maintained through period iDuration + TInt iNetworkInfoIndex; // < Network index (into iNetworkInfo) that will be maintained through period iDuration (optional) + }; + + CArrayFixFlat* iRegStatusInfo; // < List of network registration changes. + TInt iRegStatIndex; // < Current index from the iRegStatInfo array + TInt iCurrentRegStatus; // < Current Registration Status. + CArrayFixFlat* iNetworkInfo; // < List of network information. + CArrayFixFlat* iNetworkInfoV8; // < List of network information for V8 class. + CArrayFixFlat* iLocationArea; // < List of location area. + TInt iCurrentNetworkIndex; // < Current index from the iNetworkInfo array + struct TNitzInfoAndDuration + { + TInt iDuration; // < Duration when this NITZ information is valid. + RMobilePhone::TMobilePhoneNITZ iNitz; // < NITZ information valid for above period. + }; + CArrayFixFlat* iNitzInfo; // < List of NITZ information. + TInt iNitzIndex; // < Current index from the iNitzInfo array + RMobilePhone::TMobilePhoneNITZ iCurrentNitzInfo; + + TBool iRegStatChangeNotificationPending; // < Registration Status notification request outstanding + TTsyReqHandle iRegStatChangeNotificationReqHandle; // < Registration Status notification outstanding request handle + RMobilePhone::TMobilePhoneRegistrationStatus* iRegStatChangeNotificationRegStatus; // < Registration Status notification pointer + + TBool iCurrNetChangeV1NotificationPending; // < Current network notification request outstanding for V1 paramater class + TTsyReqHandle iCurrNetChangeV1NotificationReqHandle; // < Current network notification outstanding request handle for V1 paramater class + RMobilePhone::TMobilePhoneNetworkInfoV1* iCurrNetChangeV1NotificationNetInfo; // < Current network notification data pointer for V1 paramater class + + TBool iCurrNetChangeV2NotificationPending; // < Current network notification request outstanding for V2 paramater class + TTsyReqHandle iCurrNetChangeV2NotificationReqHandle; // < Current network notification outstanding request handle for V2 paramater class + RMobilePhone::TMobilePhoneNetworkInfoV2* iCurrNetChangeV2NotificationNetInfo; // < Current network notification data pointer for V2 paramater class + + TBool iCurrNetChangeV5NotificationPending; // < Current network notification request outstanding for V5 paramater class + TTsyReqHandle iCurrNetChangeV5NotificationReqHandle; // < Current network notification outstanding request handle for V5 paramater class + RMobilePhone::TMobilePhoneNetworkInfoV5* iCurrNetChangeV5NotificationNetInfo; // < Current network notification data pointer for V5 paramater class + + TBool iCurrNetChangeV8NotificationPending; // < Current network notification request outstanding for V8 paramater class + TTsyReqHandle iCurrNetChangeV8NotificationReqHandle; // < Current network notification outstanding request handle for V8 paramater class + RMobilePhone::TMobilePhoneNetworkInfoV8* iCurrNetChangeV8NotificationNetInfo; // < Current network notification data pointer for V8 paramater class + + TBool iCurrNetChangeNoLocV1NotificationPending; // < Current network notification request outstanding for V1 paramater class + TTsyReqHandle iCurrNetChangeNoLocV1NotificationReqHandle; // < Current network notification outstanding request handle for V1 paramater class + RMobilePhone::TMobilePhoneNetworkInfoV1* iCurrNetChangeNoLocV1NotificationNetInfo; // < Current network notification data pointer for V1 paramater class + + TBool iCurrNetChangeNoLocV2NotificationPending; // < Current network notification request outstanding for V2 paramater class + TTsyReqHandle iCurrNetChangeNoLocV2NotificationReqHandle; // < Current network notification outstanding request handle for V2 paramater class + RMobilePhone::TMobilePhoneNetworkInfoV2* iCurrNetChangeNoLocV2NotificationNetInfo; // < Current network notification data pointer for V2 paramater class + + TBool iCurrNetChangeNoLocV5NotificationPending; // < Current network notification request outstanding for V5 paramater class + TTsyReqHandle iCurrNetChangeNoLocV5NotificationReqHandle; // < Current network notification outstanding request handle for V5 paramater class + RMobilePhone::TMobilePhoneNetworkInfoV5* iCurrNetChangeNoLocV5NotificationNetInfo; // < Current network notification data pointer for V5 paramater class + + TBool iCurrNetChangeNoLocV8NotificationPending; // < Current network notification request outstanding for V8 paramater class + TTsyReqHandle iCurrNetChangeNoLocV8NotificationReqHandle; // < Current network notification outstanding request handle for V8 paramater class + RMobilePhone::TMobilePhoneNetworkInfoV8* iCurrNetChangeNoLocV8NotificationNetInfo; // < Current network notification data pointer for V8 paramater class + + TBool iCurrNetChangeEtelIsvNotificationPending; // < Current network notification request outstanding for V2 paramater class + TTsyReqHandle iCurrNetChangeEtelIsvNotificationReqHandle; // < Current network notification outstanding request handle for V2 paramater class + RMobilePhone::TEtel3rdPartyMobileNetworkInfoV1* iCurrNetChangeEtelIsvNotificationNetInfo; // < Current network notification data pointer for V2 paramater class + + TBool iCurrentNetworkChangeLocationAreaNotificationPending; // < Current network notification request outstanding for location area class + RMobilePhone::TMobilePhoneLocationAreaV1* iCurrentNetworkChangeLocationArea; // < Current network notification data pointer for location area class + + TBool iNitzChangeNotificationPending; // < NITZ notification request outstanding + TTsyReqHandle iNitzChangeNotificationReqHandle; // < NITZ notification outstanding request handle + RMobilePhone::TMobilePhoneNITZ* iNitzChangeNotificationInfo; // < NITZ notification data pointer + RMobilePhone::TMobilePhoneServiceProviderNameV2 iServiceProvider; // < Service provider details + struct TRadioMode + { + TInt iDuration; // < Duration of Registration Status + TBool iRadioOn; // < Radio (RF) On or Off + }; + TRadioMode iRadioMode; + CArrayFixFlat* iRadioModeInfo; + TInt iRadioModeIndex; // < Current index from the radioMode array + + struct TCellInfoAndDuration + { + TInt iDuration; // < Duration when this cell information is valid. + RMobilePhone::TMobilePhoneCellInfoV9 iInfo; // < cell information valid for above period. + }; + CArrayFixFlat* iCellInfo; // < List of Cell information. + TInt iCellInfoIndex; // < Current index from the iNitzInfo array + RMobilePhone::TMobilePhoneCellInfoV9 iCurrentCellInfo; + TBool iCellInfoChangeNotificationPending; // < Cell info notification request outstanding + TTsyReqHandle iCellInfoChangeNotificationReqHandle; // < Cell info notification outstanding request handle + RMobilePhone::TMobilePhoneCellInfoV9* iCellInfoChangeNotificationInfo; // < cell Info notification data pointer + +private: + void SetNetworkMode(); + + CSimTimer* iRoamStatTimer; // < Pointer to the owned Roaming Status timer class. + void FindRoamStatSettings(); + + class TRoamStatClient + { + public: + TTsyReqHandle iReqHandle; + TUint8* iRoamingStatus; + }; + + TInt iRoamStatGetTimeout; + CArrayFixFlat* iRoamStatGetClients; + CArrayFixFlat* iRoamStatNotifyClients; + }; + +#endif