--- a/telephonyserverplugins/ctsydispatchlayer/inc/cphonedispatcher.h Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/ctsydispatchlayer/inc/cphonedispatcher.h Thu May 06 15:10:38 2010 +0100
@@ -1,293 +1,288 @@
-// Copyright (c) 2008-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:
-//
-
-/**
- @file
- @internalAll
-*/
-
-#ifndef __CPHONEDISPATCHER_H_
-#define __CPHONEDISPATCHER_H_
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-#include <e32def.h>
-#include <etelmm.h>
-
-#include <ctsy/ltsy/mltsydispatchfactory.h>
-
-
-#include "requestqueueoneshot.h"
-#include <ctsy/ltsy/ltsylogger.h>
-#include "mdispatchercallback.h"
-#include <ctsy/serviceapi/cmmutility.h>
-#include <ctsy/rmmcustomapi.h>
-
-// FORWARD DECLARATIONS
-class CMmDataPackage;
-class MmMessageManagerCallback;
-class CMobilePhoneNetworkListV2;
-class TDispatcherHolder;
-
-class MLtsyDispatchPhoneGetFdnStatus;
-class MLtsyDispatchPhoneGetNetworkRegistrationStatus;
-class MLtsyDispatchPhoneGetHomeNetwork;
-class MLtsyDispatchPhoneBootNotifyModemStatusReady;
-class MLtsyDispatchPhoneBootNotifySimStatusReady;
-class MLtsyDispatchPhoneSimRefreshRegister;
-
-class MLtsyDispatchPhoneGetServiceProviderName;
-class MLtsyDispatchPhoneGetPhoneId;
-class MLtsyDispatchPhoneGetDetectedNetworks;
-class MLtsyDispatchPhoneGetDetectedNetworksCancel;
-class MLtsyDispatchPhoneSelectNetwork;
-class MLtsyDispatchPhoneSelectNetworkCancel;
-class MLtsyDispatchPhoneSetNetworkSelectionSetting;
-class MBootSequenceCallbacks;
-class MLtsyDispatchPhoneGetCurrentNetworkInfo;
-class MLtsyDispatchPhoneGetNetworkMode;
-class MLtsyDispatchPhoneGetNitzInfo;
-class MLtsyDispatchPhoneGetSignalStrength;
-class MLtsyDispatchPhoneGetBatteryInfo;
-class MLtsyDispatchPhoneNspsWakeup;
-class MLtsyDispatchPhoneSetSystemNetworkMode;
-class MLtsyDispatchPhoneGetCurrentSystemNetworkModes;
-class MLtsyDispatchPhoneResetNetServer;
-class MLtsyDispatchPhoneSetAlwaysOnMode;
-class MLtsyDispatchPhoneSetDriveMode;
-class MLtsyDispatchPhoneGetHspaStatus;
-class MLtsyDispatchPhoneSetHspaStatus;
-class MLtsyDispatchPhoneGetNetworkProviderName;
-class MLtsyDispatchPhoneGetOperatorName;
-class MLtsyDispatchPhoneGetCellInfo;
-class MLtsyDispatchPhoneRegisterCellInfoChangeNotification;
-class MLtsyDispatchPhoneGetPhoneCellInfo;
-class MLtsyDispatchPhoneGetUsimServiceSupport;
-class MLtsyDispatchPhoneGetCurrentActiveUsimApplication;
-class MLtsyDispatchPhoneTerminateAllCalls;
-class MLtsyDispatchPhoneGetSystemNetworkBand;
-class MLtsyDispatchPhoneSetSystemNetworkBand;
-
-const TUint KPhoneIdReqOriginPhoneFu = 0x1;
-const TUint KPhoneIdReqOriginSatFu = 0x2;
-
-
-// CLASS DECLARATION
-
-/**
- * This class is responsible for packing and unpacking data belonging
- * to Phone related requests to the Licensee LTSY.
- */
-class CPhoneDispatcher : public CBase, public MDispatcherCallback
- {
-public:
-
- virtual ~CPhoneDispatcher();
-
- static CPhoneDispatcher* NewL(
- MLtsyDispatchFactoryV1& aLtsyFactory,
- MmMessageManagerCallback& aMessageManagerCallback,
- MmMessageManagerCallback& aSatMessageManagerCallback,
- CRequestQueueOneShot& aRequestAsyncOneShot,
- MBootSequenceCallbacks& aBootSequenceObserver);
-
- static CPhoneDispatcher* NewLC(
- MLtsyDispatchFactoryV1& aLtsyFactory,
- MmMessageManagerCallback& aMessageManagerCallback,
- MmMessageManagerCallback& aSatMessageManagerCallback,
- CRequestQueueOneShot& aRequestAsyncOneShot,
- MBootSequenceCallbacks& aBootSequenceObserver);
-
- // Dispatcher functions for dispatching requests DOWN to the Licensee LTSY
-
- TInt DispatchGetFdnStatusL();
- TInt DispatchGetNetworkRegistrationStatusL();
- TInt DispatchGetHomeNetworkL();
- TInt DispatchBootNotifyModemStatusReadyL();
- TInt DispatchBootNotifySimStatusReadyL();
- TInt DispatchSimRefreshRegisterL(const CMmDataPackage* aDataPackage);
- TInt DispatchGetServiceProviderNameL();
- TInt DispatchGetPhoneIdL(TUint aRequestOrigin);
- TInt DispatchGetDetectedNetworksL();
- TInt DispatchGetDetectedNetworksCancelL();
- TInt DispatchSelectNetworkL(const CMmDataPackage* aDataPackage);
- TInt DispatchSelectNetworkCancelL();
- TInt DispatchSetNetworkSelectionSettingL(const CMmDataPackage* aDataPackage);
- TInt DispatchNspsWakeupL();
- TInt DispatchSetSystemNetworkModeL(const CMmDataPackage* aDataPackage);
- TInt DispatchGetCurrentSystemNetworkModesL();
- TInt DispatchResetNetServerL();
- TInt DispatchSetAlwaysOnModeL(const CMmDataPackage* aDataPackage);
- TInt DispatchSetDriveModeL(const CMmDataPackage* aDataPackage);
- TInt DispatchGetHspaStatusL();
- TInt DispatchSetHspaStatusL(const CMmDataPackage* aDataPackage);
- TInt DispatchGetNetworkProviderNameL();
- TInt DispatchGetOperatorNameL();
- TInt DispatchGetCellInfoL();
- TInt DispatchRegisterCellInfoChangeNotificationL();
- TInt DispatchGetPhoneCellInfoL();
- TInt DispatchGetUsimServiceSupportL(const CMmDataPackage* aDataPackage);
- TInt DispatchGetCurrentActiveUsimApplicationL();
- TInt DispatchTerminateAllCallsL(const CMmDataPackage* aDataPackage);
- TInt DispatchGetSystemNetworkBandL();
- TInt DispatchSetSystemNetworkBandL(const CMmDataPackage* aDataPackage);
-
-
- // These getters are internal to CtsyDispatcher
- TInt DispatchGetCurrentNetworkInfoL();
- TInt DispatchGetNetworkModeL();
- TInt DispatchGetNitzInfoL();
- TInt DispatchGetSignalStrengthL();
- TInt DispatchGetBatteryInfoL();
-
-
- // Complete functions for receiving completions UP from the Licensee LTSY
- // via the CCtsyDispatcherCallback object.
-
- void CallbackBootNotifyModemStatusReady(TInt aError, TRfStateInfo aRfStatus);
- void CallbackBootNotifySimStatusReady(TInt aError);
- void CallbackSimRefreshRegister(TInt aError);
- void CallbackGetFdnStatus(TInt aError, RMobilePhone::TMobilePhoneFdnStatus aFdnStatus);
- void CallbackGetNetworkRegistrationStatus(TInt aError, RMobilePhone::TMobilePhoneRegistrationStatus aRegStatus);
- void CallbackGetHomeNetwork(TInt aError,const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo);
- void CallbackNotifyNetworkRegistrationStatusChange(TInt aError, RMobilePhone::TMobilePhoneRegistrationStatus aRegStatus);
-
- void CallbackNotifyNetworkModeChange(TInt aError, RMobilePhone::TMobilePhoneNetworkMode aNetworkMode);
- void CallbackNotifyEgprsInfoChange(TInt aError, TBool aEdgeSupported);
- void CallbackNotifySignalStrengthChange(TInt aError, TInt32 aSignalStrength, TInt8 aBar);
- void CallbackNotifyNitzInfoChange(TInt aError, const RMobilePhone::TMobilePhoneNITZ& aNitzInfo);
- void CallbackNotifyBatteryInfoChange(TInt aError, const RMobilePhone::TMobilePhoneBatteryInfoV1& aBatteryInfo);
- void CallbackNotifyCurrentNetworkChange(TInt aError, const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo, const RMobilePhone::TMobilePhoneLocationAreaV1& aLocationArea);
- void CallbackNotifyRfStatusChange(TInt aError, TRfStateInfo aRfStatus);
- void CallbackGetServiceProviderName(TInt aError, const RMobilePhone::TMobilePhoneServiceProviderNameV2& aServiceProvider);
- void CallbackGetPhoneId(TInt aError, const RMobilePhone::TMobilePhoneIdentityV1& aPhoneId);
- void CallbackGetDetectedNetworks(TInt aError, const CMobilePhoneNetworkListV2& aPhoneNetworkList);
- void CallbackGetDetectedNetworksCancel(TInt aError);
- void CallbackSelectNetwork(TInt aError);
- void CallbackSelectNetworkCancel(TInt aError);
- void CallbackSetNetworkSelectionSetting(TInt aError, RMobilePhone::TMobilePhoneSelectionMethod aSelectionMethod);
- void CallbackGetCurrentNetworkInfo(TInt aError, const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo, const RMobilePhone::TMobilePhoneLocationAreaV1& aLocationArea);
- void CallbackGetNetworkMode(TInt aError, RMobilePhone::TMobilePhoneNetworkMode aNetworkMode);
- void CallbackGetNitzInfo(TInt aError, const RMobilePhone::TMobilePhoneNITZ& aNitzInfo);
- void CallbackGetSignalStrength(TInt aError, TInt32 aSignalStrength, TInt8 aBar);
- void CallbackGetBatteryInfo(TInt aError, const RMobilePhone::TMobilePhoneBatteryInfoV1& aBatteryInfo);
- void CallbackNotifyNetworkSelectionSettingChange(TInt aError, RMobilePhone::TMobilePhoneSelectionMethod aSelectionMethod);
- void CallbackNotifyNspsStatusChange(TInt aError, TBool aEnabled);
- void CallbackNspsWakeup(TInt aError);
- void CallbackSetSystemNetworkMode(TInt aError);
- void CallbackGetCurrentSystemNetworkModes(TInt aError, TUint32 aCurrentSystemNetworkModes);
- void CallbackNotifyRauEvent(TInt aError, RMmCustomAPI::TRauEventStatus aRauEvent);
- void CallbackNotifyNetworkConnectionFailure(TInt aError);
- void CallbackNotifyCellInfoChanged(TInt aError);
- void CallbackNotifyDtmfEvent(TInt aError, RMmCustomAPI::TDtmfEventType aType,
- RMmCustomAPI::TDtmfEvent aEvent, TChar aTone);
- void CallbackNotifyDtmfEvent(TInt aError, RMobilePhone::TMobilePhoneDTMFEvent aEventType);
- void CallbackNotifyCellInfoChanged(TInt aError, const RMmCustomAPI::TMmCellInfo::TGSMCellInfo& aInfo);
- void CallbackNotifyCellInfoChanged(TInt aError, const RMmCustomAPI::TMmCellInfo::TWCDMACellInfo& aInfo);
- void CallbackResetNetServer(TInt aError);
- void CallbackSetAlwaysOnMode(TInt aError);
- void CallbackSetDriveMode(TInt aError);
- void CallbackGetHspaStatus(TInt aError, RMmCustomAPI::THSxPAStatus aStatus);
- void CallbackSetHspaStatus(TInt aError);
- void CallbackNotifyHspaStatusChanged(TInt aError, RMmCustomAPI::THSxPAStatus aStatus);
- void CallbackGetNetworkProviderName(TInt aError, const TDesC& aName);
- void CallbackGetOperatorName(TInt aError, RMmCustomAPI::TOperatorNameType aType, const TDesC& aName);
- void CallbackGetCellInfo(TInt aError);
- void CallbackGetCellInfo(TInt aError,const RMmCustomAPI::TMmCellInfo::TGSMCellInfo &aInfo);
- void CallbackGetCellInfo(TInt aError,const RMmCustomAPI::TMmCellInfo::TWCDMACellInfo &aInfo);
- void CallbackRegisterCellInfoChangeNotification(TInt aError);
- void CallbackGetPhoneCellInfo(TInt aError, const RMobilePhone::TMobilePhoneCellInfoV9& aCellInfo);
- void CallbackGetUsimServiceSupport(TInt aError, TInt aApplicationNumber, TBool aSupported);
- void CallbackGetCurrentActiveUsimApplication(TInt aError, const TDesC8& aAid);
- void CallbackTerminateAllCalls(TInt aError);
- void CallbackGetSystemNetworkBand(TInt aError, RMmCustomAPI::TBandSelection aBand, RMmCustomAPI::TNetworkModeCaps aMode);
- void CallbackSetSystemNetworkBand(TInt aError);
-
- // From MDispatcherCallback
- void CallbackSync(CRequestQueueOneShot::TIpcDataPackage& aIpcDataPackage);
-
- // Other public functions
- void SetDispatcherHolder(TDispatcherHolder& aDispatcherHolder);
-
-private:
-
- CPhoneDispatcher(MLtsyDispatchFactoryV1& aLtsyFactory,
- MmMessageManagerCallback& aMessageManagerCallback,
- MmMessageManagerCallback& aSatMessageManagerCallback,
- CRequestQueueOneShot& aRequestAsyncOneShot,
- MBootSequenceCallbacks& aBootSequenceObserver);
-
- void ConstructL();
-private: // Not owned
-
- MLtsyDispatchFactoryV1& iLtsyFactoryV1;
- MmMessageManagerCallback& iMessageManagerCallback;
- MmMessageManagerCallback& iSatMessageManagerCallback;
- CRequestQueueOneShot& iRequestAsyncOneShot;
- MBootSequenceCallbacks& iBootSequenceObserver;
- TDispatcherHolder* iDispatcherHolder;
-
- // Interfaces in the Licensee LTSY, not owned by this object
-
- MLtsyDispatchPhoneGetFdnStatus* iLtsyDispatchPhoneGetFdnStatus;
- MLtsyDispatchPhoneGetNetworkRegistrationStatus* iLtsyDispatchPhoneGetNetworkRegistrationStatus;
- MLtsyDispatchPhoneGetHomeNetwork* iLtsyDispatchPhoneGetHomeNetwork;
- MLtsyDispatchPhoneBootNotifyModemStatusReady* iLtsyDispatchPhoneBootNotifyModemStatusReady;
- MLtsyDispatchPhoneBootNotifySimStatusReady* iLtsyDispatchPhoneBootNotifySimStatusReady;
- MLtsyDispatchPhoneSimRefreshRegister* iLtsyDispatchPhoneSimRefreshRegister;
-
- MLtsyDispatchPhoneGetServiceProviderName* iLtsyDispatchPhoneGetServiceProviderName;
- MLtsyDispatchPhoneGetPhoneId* iLtsyDispatchPhoneGetPhoneId;
- MLtsyDispatchPhoneGetDetectedNetworks* iLtsyDispatchPhoneGetDetectedNetworks;
- MLtsyDispatchPhoneGetDetectedNetworksCancel* iLtsyDispatchPhoneGetDetectedNetworksCancel;
- MLtsyDispatchPhoneSelectNetwork* iLtsyDispatchPhoneSelectNetwork;
- MLtsyDispatchPhoneSelectNetworkCancel* iLtsyDispatchPhoneSelectNetworkCancel;
- MLtsyDispatchPhoneSetNetworkSelectionSetting* iLtsyDispatchPhoneSetNetworkSelectionSetting;
- MLtsyDispatchPhoneGetCurrentNetworkInfo* iLtsyDispatchPhoneGetCurrentNetworkInfo;
- MLtsyDispatchPhoneGetNetworkMode* iLtsyDispatchPhoneGetNetworkMode;
- MLtsyDispatchPhoneGetNitzInfo* iLtsyDispatchPhoneGetNitzInfo;
- MLtsyDispatchPhoneGetSignalStrength* iLtsyDispatchPhoneGetSignalStrength;
- MLtsyDispatchPhoneGetBatteryInfo* iLtsyDispatchPhoneGetBatteryInfo;
- MLtsyDispatchPhoneNspsWakeup* iLtsyDispatchPhoneNspsWakeup;
- MLtsyDispatchPhoneSetSystemNetworkMode* iLtsyDispatchPhoneSetSystemNetworkMode;
- MLtsyDispatchPhoneGetCurrentSystemNetworkModes* iLtsyDispatchPhoneGetCurrentSystemNetworkModes;
- MLtsyDispatchPhoneResetNetServer* iLtsyDispatchPhoneResetNetServer;
- MLtsyDispatchPhoneSetAlwaysOnMode* iLtsyDispatchPhoneSetAlwaysOnMode;
- MLtsyDispatchPhoneSetDriveMode* iLtsyDispatchPhoneSetDriveMode;
- MLtsyDispatchPhoneGetHspaStatus* iLtsyDispatchPhoneGetHspaStatus;
- MLtsyDispatchPhoneSetHspaStatus* iLtsyDispatchPhoneSetHspaStatus;
- MLtsyDispatchPhoneGetNetworkProviderName* iLtsyDispatchPhoneGetNetworkProviderName;
- MLtsyDispatchPhoneGetOperatorName* iLtsyDispatchPhoneGetOperatorName;
- MLtsyDispatchPhoneGetCellInfo* iLtsyDispatchPhoneGetCellInfo;
- MLtsyDispatchPhoneRegisterCellInfoChangeNotification* iLtsyDispatchPhoneRegisterCellInfoChangeNotification;
- MLtsyDispatchPhoneGetPhoneCellInfo* iLtsyDispatchPhoneGetPhoneCellInfo;
- MLtsyDispatchPhoneGetUsimServiceSupport* iLtsyDispatchPhoneGetUsimServiceSupport;
- MLtsyDispatchPhoneGetCurrentActiveUsimApplication* iLtsyDispatchPhoneGetCurrentActiveUsimApplication;
- MLtsyDispatchPhoneTerminateAllCalls* iLtsyDispatchPhoneTerminateAllCalls;
- MLtsyDispatchPhoneGetSystemNetworkBand* iLtsyDispatchPhoneGetSystemNetworkBand;
- MLtsyDispatchPhoneSetSystemNetworkBand* iLtsyDispatchPhoneSetSystemNetworkBand;
-
-private:
- TUint iPhoneIdReqOrigin; //to prevent two requests being fired off if sat and phone both
- //request id while the other is in progress. Also to only complete
- //the appropriate request.
-
- RMmCustomAPI::TMmCellInfo *iCellInfo; // Since this object is very big we will create it once in the heap.
-
- }; // class CPhoneDispatcher
-
-#endif // __CPHONEDISPATCHER_H_
-
+// Copyright (c) 2008-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 __CPHONEDISPATCHER_H_
+#define __CPHONEDISPATCHER_H_
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include <e32def.h>
+#include <etelmm.h>
+
+#include <ctsy/ltsy/mltsydispatchfactory.h>
+
+
+#include "requestqueueoneshot.h"
+#include <ctsy/ltsy/ltsylogger.h>
+#include "mdispatchercallback.h"
+#include <ctsy/serviceapi/cmmutility.h>
+#include <ctsy/rmmcustomapi.h>
+
+// FORWARD DECLARATIONS
+class CMmDataPackage;
+class MmMessageManagerCallback;
+class CMobilePhoneNetworkListV2;
+class TDispatcherHolder;
+
+class MLtsyDispatchPhoneGetFdnStatus;
+class MLtsyDispatchPhoneGetNetworkRegistrationStatus;
+class MLtsyDispatchPhoneGetHomeNetwork;
+class MLtsyDispatchPhoneBootNotifyModemStatusReady;
+class MLtsyDispatchPhoneBootNotifySimStatusReady;
+class MLtsyDispatchPhoneSimRefreshRegister;
+
+class MLtsyDispatchPhoneGetServiceProviderName;
+class MLtsyDispatchPhoneGetPhoneId;
+class MLtsyDispatchPhoneGetDetectedNetworks;
+class MLtsyDispatchPhoneGetDetectedNetworksCancel;
+class MLtsyDispatchPhoneSelectNetwork;
+class MLtsyDispatchPhoneSelectNetworkCancel;
+class MLtsyDispatchPhoneSetNetworkSelectionSetting;
+class MBootSequenceCallbacks;
+class MLtsyDispatchPhoneGetCurrentNetworkInfo;
+class MLtsyDispatchPhoneGetNetworkMode;
+class MLtsyDispatchPhoneGetNitzInfo;
+class MLtsyDispatchPhoneGetSignalStrength;
+class MLtsyDispatchPhoneGetBatteryInfo;
+class MLtsyDispatchPhoneNspsWakeup;
+class MLtsyDispatchPhoneSetSystemNetworkMode;
+class MLtsyDispatchPhoneGetCurrentSystemNetworkModes;
+class MLtsyDispatchPhoneResetNetServer;
+class MLtsyDispatchPhoneSetAlwaysOnMode;
+class MLtsyDispatchPhoneSetDriveMode;
+class MLtsyDispatchPhoneGetHspaStatus;
+class MLtsyDispatchPhoneSetHspaStatus;
+class MLtsyDispatchPhoneGetNetworkProviderName;
+class MLtsyDispatchPhoneGetOperatorName;
+class MLtsyDispatchPhoneGetCellInfo;
+class MLtsyDispatchPhoneRegisterCellInfoChangeNotification;
+class MLtsyDispatchPhoneGetPhoneCellInfo;
+class MLtsyDispatchPhoneGetUsimServiceSupport;
+class MLtsyDispatchPhoneGetCurrentActiveUsimApplication;
+class MLtsyDispatchPhoneTerminateAllCalls;
+class MLtsyDispatchPhoneGetSystemNetworkBand;
+class MLtsyDispatchPhoneSetSystemNetworkBand;
+
+const TUint KPhoneIdReqOriginPhoneFu = 0x1;
+const TUint KPhoneIdReqOriginSatFu = 0x2;
+
+
+// CLASS DECLARATION
+
+/**
+ * This class is responsible for packing and unpacking data belonging
+ * to Phone related requests to the Licensee LTSY.
+ */
+class CPhoneDispatcher : public CBase, public MDispatcherCallback
+ {
+public:
+
+ virtual ~CPhoneDispatcher();
+
+ static CPhoneDispatcher* NewL(
+ MLtsyDispatchFactoryV1& aLtsyFactory,
+ MmMessageManagerCallback& aMessageManagerCallback,
+ MmMessageManagerCallback& aSatMessageManagerCallback,
+ CRequestQueueOneShot& aRequestAsyncOneShot,
+ MBootSequenceCallbacks& aBootSequenceObserver);
+
+ static CPhoneDispatcher* NewLC(
+ MLtsyDispatchFactoryV1& aLtsyFactory,
+ MmMessageManagerCallback& aMessageManagerCallback,
+ MmMessageManagerCallback& aSatMessageManagerCallback,
+ CRequestQueueOneShot& aRequestAsyncOneShot,
+ MBootSequenceCallbacks& aBootSequenceObserver);
+
+ // Dispatcher functions for dispatching requests DOWN to the Licensee LTSY
+
+ TInt DispatchGetFdnStatusL();
+ TInt DispatchGetNetworkRegistrationStatusL();
+ TInt DispatchGetHomeNetworkL();
+ TInt DispatchBootNotifyModemStatusReadyL();
+ TInt DispatchBootNotifySimStatusReadyL();
+ TInt DispatchSimRefreshRegisterL(const CMmDataPackage* aDataPackage);
+ TInt DispatchGetServiceProviderNameL();
+ TInt DispatchGetPhoneIdL(TUint aRequestOrigin);
+ TInt DispatchGetDetectedNetworksL();
+ TInt DispatchGetDetectedNetworksCancelL();
+ TInt DispatchSelectNetworkL(const CMmDataPackage* aDataPackage);
+ TInt DispatchSelectNetworkCancelL();
+ TInt DispatchSetNetworkSelectionSettingL(const CMmDataPackage* aDataPackage);
+ TInt DispatchNspsWakeupL();
+ TInt DispatchSetSystemNetworkModeL(const CMmDataPackage* aDataPackage);
+ TInt DispatchGetCurrentSystemNetworkModesL();
+ TInt DispatchResetNetServerL();
+ TInt DispatchSetAlwaysOnModeL(const CMmDataPackage* aDataPackage);
+ TInt DispatchSetDriveModeL(const CMmDataPackage* aDataPackage);
+ TInt DispatchGetHspaStatusL();
+ TInt DispatchSetHspaStatusL(const CMmDataPackage* aDataPackage);
+ TInt DispatchGetNetworkProviderNameL();
+ TInt DispatchGetOperatorNameL();
+ TInt DispatchGetCellInfoL();
+ TInt DispatchRegisterCellInfoChangeNotificationL();
+ TInt DispatchGetPhoneCellInfoL();
+ TInt DispatchGetUsimServiceSupportL(const CMmDataPackage* aDataPackage);
+ TInt DispatchGetCurrentActiveUsimApplicationL();
+ TInt DispatchTerminateAllCallsL(const CMmDataPackage* aDataPackage);
+ TInt DispatchGetSystemNetworkBandL();
+ TInt DispatchSetSystemNetworkBandL(const CMmDataPackage* aDataPackage);
+
+
+ // These getters are internal to CtsyDispatcher
+ TInt DispatchGetCurrentNetworkInfoL();
+ TInt DispatchGetNetworkModeL();
+ TInt DispatchGetNitzInfoL();
+ TInt DispatchGetSignalStrengthL();
+ TInt DispatchGetBatteryInfoL();
+
+
+ // Complete functions for receiving completions UP from the Licensee LTSY
+ // via the CCtsyDispatcherCallback object.
+
+ void CallbackBootNotifyModemStatusReady(TInt aError, TRfStateInfo aRfStatus);
+ void CallbackBootNotifySimStatusReady(TInt aError);
+ void CallbackSimRefreshRegister(TInt aError);
+ void CallbackGetFdnStatus(TInt aError, RMobilePhone::TMobilePhoneFdnStatus aFdnStatus);
+ void CallbackGetNetworkRegistrationStatus(TInt aError, RMobilePhone::TMobilePhoneRegistrationStatus aRegStatus);
+ void CallbackGetHomeNetwork(TInt aError,const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo);
+ void CallbackNotifyNetworkRegistrationStatusChange(TInt aError, RMobilePhone::TMobilePhoneRegistrationStatus aRegStatus);
+
+ void CallbackNotifyNetworkModeChange(TInt aError, RMobilePhone::TMobilePhoneNetworkMode aNetworkMode);
+ void CallbackNotifyEgprsInfoChange(TInt aError, TBool aEdgeSupported);
+ void CallbackNotifySignalStrengthChange(TInt aError, TInt32 aSignalStrength, TInt8 aBar);
+ void CallbackNotifyNitzInfoChange(TInt aError, const RMobilePhone::TMobilePhoneNITZ& aNitzInfo);
+ void CallbackNotifyBatteryInfoChange(TInt aError, const RMobilePhone::TMobilePhoneBatteryInfoV1& aBatteryInfo);
+ void CallbackNotifyCurrentNetworkChange(TInt aError, const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo, const RMobilePhone::TMobilePhoneLocationAreaV1& aLocationArea);
+ void CallbackNotifyRfStatusChange(TInt aError, TRfStateInfo aRfStatus);
+ void CallbackGetServiceProviderName(TInt aError, const RMobilePhone::TMobilePhoneServiceProviderNameV2& aServiceProvider);
+ void CallbackGetPhoneId(TInt aError, const RMobilePhone::TMobilePhoneIdentityV1& aPhoneId);
+ void CallbackGetDetectedNetworks(TInt aError, const CMobilePhoneNetworkListV2& aPhoneNetworkList);
+ void CallbackGetDetectedNetworksCancel(TInt aError);
+ void CallbackSelectNetwork(TInt aError);
+ void CallbackSelectNetworkCancel(TInt aError);
+ void CallbackSetNetworkSelectionSetting(TInt aError, RMobilePhone::TMobilePhoneSelectionMethod aSelectionMethod);
+ void CallbackGetCurrentNetworkInfo(TInt aError, const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo, const RMobilePhone::TMobilePhoneLocationAreaV1& aLocationArea);
+ void CallbackGetNetworkMode(TInt aError, RMobilePhone::TMobilePhoneNetworkMode aNetworkMode);
+ void CallbackGetNitzInfo(TInt aError, const RMobilePhone::TMobilePhoneNITZ& aNitzInfo);
+ void CallbackGetSignalStrength(TInt aError, TInt32 aSignalStrength, TInt8 aBar);
+ void CallbackGetBatteryInfo(TInt aError, const RMobilePhone::TMobilePhoneBatteryInfoV1& aBatteryInfo);
+ void CallbackNotifyNetworkSelectionSettingChange(TInt aError, RMobilePhone::TMobilePhoneSelectionMethod aSelectionMethod);
+ void CallbackNotifyNspsStatusChange(TInt aError, TBool aEnabled);
+ void CallbackNspsWakeup(TInt aError);
+ void CallbackSetSystemNetworkMode(TInt aError);
+ void CallbackGetCurrentSystemNetworkModes(TInt aError, TUint32 aCurrentSystemNetworkModes);
+ void CallbackNotifyRauEvent(TInt aError, RMmCustomAPI::TRauEventStatus aRauEvent);
+ void CallbackNotifyNetworkConnectionFailure(TInt aError);
+ void CallbackNotifyCellInfoChanged(TInt aError);
+ void CallbackNotifyDtmfEvent(TInt aError, RMmCustomAPI::TDtmfEventType aType,
+ RMmCustomAPI::TDtmfEvent aEvent, TChar aTone);
+ void CallbackNotifyDtmfEvent(TInt aError, RMobilePhone::TMobilePhoneDTMFEvent aEventType);
+ void CallbackNotifyCellInfoChanged(TInt aError, const RMmCustomAPI::TMmCellInfo::TGSMCellInfo& aInfo);
+ void CallbackNotifyCellInfoChanged(TInt aError, const RMmCustomAPI::TMmCellInfo::TWCDMACellInfo& aInfo);
+ void CallbackResetNetServer(TInt aError);
+ void CallbackSetAlwaysOnMode(TInt aError);
+ void CallbackSetDriveMode(TInt aError);
+ void CallbackGetHspaStatus(TInt aError, RMmCustomAPI::THSxPAStatus aStatus);
+ void CallbackSetHspaStatus(TInt aError);
+ void CallbackNotifyHspaStatusChanged(TInt aError, RMmCustomAPI::THSxPAStatus aStatus);
+ void CallbackGetNetworkProviderName(TInt aError, const TDesC& aName);
+ void CallbackGetOperatorName(TInt aError, RMmCustomAPI::TOperatorNameType aType, const TDesC& aName);
+ void CallbackGetCellInfo(TInt aError);
+ void CallbackGetCellInfo(TInt aError,const RMmCustomAPI::TMmCellInfo::TGSMCellInfo &aInfo);
+ void CallbackGetCellInfo(TInt aError,const RMmCustomAPI::TMmCellInfo::TWCDMACellInfo &aInfo);
+ void CallbackRegisterCellInfoChangeNotification(TInt aError);
+ void CallbackGetPhoneCellInfo(TInt aError, const RMobilePhone::TMobilePhoneCellInfoV9& aCellInfo);
+ void CallbackGetUsimServiceSupport(TInt aError, TInt aApplicationNumber, TBool aSupported);
+ void CallbackGetCurrentActiveUsimApplication(TInt aError, const TDesC8& aAid);
+ void CallbackTerminateAllCalls(TInt aError);
+ void CallbackGetSystemNetworkBand(TInt aError, RMmCustomAPI::TBandSelection aBand, RMmCustomAPI::TNetworkModeCaps aMode);
+ void CallbackSetSystemNetworkBand(TInt aError);
+
+ // From MDispatcherCallback
+ void CallbackSync(CRequestQueueOneShot::TIpcDataPackage& aIpcDataPackage);
+
+ // Other public functions
+ void SetDispatcherHolder(TDispatcherHolder& aDispatcherHolder);
+
+private:
+
+ CPhoneDispatcher(MLtsyDispatchFactoryV1& aLtsyFactory,
+ MmMessageManagerCallback& aMessageManagerCallback,
+ MmMessageManagerCallback& aSatMessageManagerCallback,
+ CRequestQueueOneShot& aRequestAsyncOneShot,
+ MBootSequenceCallbacks& aBootSequenceObserver);
+
+ void ConstructL();
+private: // Not owned
+
+ MLtsyDispatchFactoryV1& iLtsyFactoryV1;
+ MmMessageManagerCallback& iMessageManagerCallback;
+ MmMessageManagerCallback& iSatMessageManagerCallback;
+ CRequestQueueOneShot& iRequestAsyncOneShot;
+ MBootSequenceCallbacks& iBootSequenceObserver;
+ TDispatcherHolder* iDispatcherHolder;
+
+ // Interfaces in the Licensee LTSY, not owned by this object
+
+ MLtsyDispatchPhoneGetFdnStatus* iLtsyDispatchPhoneGetFdnStatus;
+ MLtsyDispatchPhoneGetNetworkRegistrationStatus* iLtsyDispatchPhoneGetNetworkRegistrationStatus;
+ MLtsyDispatchPhoneGetHomeNetwork* iLtsyDispatchPhoneGetHomeNetwork;
+ MLtsyDispatchPhoneBootNotifyModemStatusReady* iLtsyDispatchPhoneBootNotifyModemStatusReady;
+ MLtsyDispatchPhoneBootNotifySimStatusReady* iLtsyDispatchPhoneBootNotifySimStatusReady;
+ MLtsyDispatchPhoneSimRefreshRegister* iLtsyDispatchPhoneSimRefreshRegister;
+
+ MLtsyDispatchPhoneGetServiceProviderName* iLtsyDispatchPhoneGetServiceProviderName;
+ MLtsyDispatchPhoneGetPhoneId* iLtsyDispatchPhoneGetPhoneId;
+ MLtsyDispatchPhoneGetDetectedNetworks* iLtsyDispatchPhoneGetDetectedNetworks;
+ MLtsyDispatchPhoneGetDetectedNetworksCancel* iLtsyDispatchPhoneGetDetectedNetworksCancel;
+ MLtsyDispatchPhoneSelectNetwork* iLtsyDispatchPhoneSelectNetwork;
+ MLtsyDispatchPhoneSelectNetworkCancel* iLtsyDispatchPhoneSelectNetworkCancel;
+ MLtsyDispatchPhoneSetNetworkSelectionSetting* iLtsyDispatchPhoneSetNetworkSelectionSetting;
+ MLtsyDispatchPhoneGetCurrentNetworkInfo* iLtsyDispatchPhoneGetCurrentNetworkInfo;
+ MLtsyDispatchPhoneGetNetworkMode* iLtsyDispatchPhoneGetNetworkMode;
+ MLtsyDispatchPhoneGetNitzInfo* iLtsyDispatchPhoneGetNitzInfo;
+ MLtsyDispatchPhoneGetSignalStrength* iLtsyDispatchPhoneGetSignalStrength;
+ MLtsyDispatchPhoneGetBatteryInfo* iLtsyDispatchPhoneGetBatteryInfo;
+ MLtsyDispatchPhoneNspsWakeup* iLtsyDispatchPhoneNspsWakeup;
+ MLtsyDispatchPhoneSetSystemNetworkMode* iLtsyDispatchPhoneSetSystemNetworkMode;
+ MLtsyDispatchPhoneGetCurrentSystemNetworkModes* iLtsyDispatchPhoneGetCurrentSystemNetworkModes;
+ MLtsyDispatchPhoneResetNetServer* iLtsyDispatchPhoneResetNetServer;
+ MLtsyDispatchPhoneSetAlwaysOnMode* iLtsyDispatchPhoneSetAlwaysOnMode;
+ MLtsyDispatchPhoneSetDriveMode* iLtsyDispatchPhoneSetDriveMode;
+ MLtsyDispatchPhoneGetHspaStatus* iLtsyDispatchPhoneGetHspaStatus;
+ MLtsyDispatchPhoneSetHspaStatus* iLtsyDispatchPhoneSetHspaStatus;
+ MLtsyDispatchPhoneGetNetworkProviderName* iLtsyDispatchPhoneGetNetworkProviderName;
+ MLtsyDispatchPhoneGetOperatorName* iLtsyDispatchPhoneGetOperatorName;
+ MLtsyDispatchPhoneGetCellInfo* iLtsyDispatchPhoneGetCellInfo;
+ MLtsyDispatchPhoneRegisterCellInfoChangeNotification* iLtsyDispatchPhoneRegisterCellInfoChangeNotification;
+ MLtsyDispatchPhoneGetPhoneCellInfo* iLtsyDispatchPhoneGetPhoneCellInfo;
+ MLtsyDispatchPhoneGetUsimServiceSupport* iLtsyDispatchPhoneGetUsimServiceSupport;
+ MLtsyDispatchPhoneGetCurrentActiveUsimApplication* iLtsyDispatchPhoneGetCurrentActiveUsimApplication;
+ MLtsyDispatchPhoneTerminateAllCalls* iLtsyDispatchPhoneTerminateAllCalls;
+ MLtsyDispatchPhoneGetSystemNetworkBand* iLtsyDispatchPhoneGetSystemNetworkBand;
+ MLtsyDispatchPhoneSetSystemNetworkBand* iLtsyDispatchPhoneSetSystemNetworkBand;
+
+private:
+ TUint iPhoneIdReqOrigin; //to prevent two requests being fired off if sat and phone both
+ //request id while the other is in progress. Also to only complete
+ //the appropriate request.
+
+ RMmCustomAPI::TMmCellInfo *iCellInfo; // Since this object is very big we will create it once in the heap.
+
+ }; // class CPhoneDispatcher
+
+#endif // __CPHONEDISPATCHER_H_
+