--- a/telephonyserverplugins/ctsydispatchlayer/src/cmessagerouter.cpp Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/ctsydispatchlayer/src/cmessagerouter.cpp Thu May 06 15:10:38 2010 +0100
@@ -1,1118 +1,1118 @@
-// 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:
-//
-
-#include <e32def.h>
-#include <satcs.h>
-#include <pcktcs.h>
-#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
-#include <ctsy/rmmcustomapi.h>
-
-#include <ctsy/ltsy/mltsydispatchfactory.h>
-
-#include "cmessagerouter.h"
-#include <ctsy/ltsy/sat_defs.h>
-#include <ctsy/ltsy/cctsydispatchercallback.h>
-#include <ctsy/ltsy/ltsylogger.h>
-#include "tdispatcherholder.h"
-#include "requestqueueoneshot.h"
-#include "ctsydispatcherpanic.h"
-
-#include "ccallcontroldispatcher.h"
-#include "cphonedispatcher.h"
-#include "csecuritydispatcher.h"
-#include "cphonebookendispatcher.h"
-#include "ccellbroadcastdispatcher.h"
-#include "cphonebookondispatcher.h"
-#include "cphonebookdispatcher.h"
-#include "csatdispatcher.h"
-#include "csimdispatcher.h"
-#include "csmsdispatcher.h"
-#include "ccallcontrolmultipartydispatcher.h"
-#include "csupplementaryservicesdispatcher.h"
-#include "cpacketservicesdispatcher.h"
-
-
-
-TMessageManagerCallbackProxy::TMessageManagerCallbackProxy(MmMessageManagerCallback& aCtsyMessageManagerCallback)
-: iCtsyMessageManagerCallback(&aCtsyMessageManagerCallback)
- {
- } // TMessageManagerCallbackProxy::TMessageManagerCallbackProxy
-
-TMessageManagerCallbackProxy::TMessageManagerCallbackProxy()
-: iCtsyMessageManagerCallback(NULL)
- {
- }
-
-void TMessageManagerCallbackProxy::SetMessageManagerCallbackProxy(MmMessageManagerCallback& aCtsyMessageManagerCallback)
- {
- iCtsyMessageManagerCallback = &aCtsyMessageManagerCallback;
- }
-
-void TMessageManagerCallbackProxy::Complete( TInt aIpc, TInt aResult )
-/**
- * Completes requests / indications back to the Common TSY.
- *
- * @param aIpc The IPC to complete.
- * @param aResult The result code of the request / indication.
- */
- {
- TSYLOGENTRYEXITARGS(_L8(" [IPC=%d, result=%d]"), aIpc, aResult);
- ASSERT(iCtsyMessageManagerCallback);
- iCtsyMessageManagerCallback->Complete(aIpc, aResult);
- } // TMessageManagerCallbackProxy::Complete
-
-
-void TMessageManagerCallbackProxy::Complete( TInt aIpc, CMmDataPackage* aData, TInt aResult )
-/**
- * Completes requests / indications back to the Common TSY.
- *
- * @param aIpc The IPC to complete.
- * @param aData Package encapulating the data relating to the request / indication.
- * @param aResult The result code of the request / indication.
- */
- {
- TSYLOGENTRYEXITARGS(_L8(" [IPC=%d, result=%d, aData=0x%x]"), aIpc, aResult, aData);
- ASSERT(iCtsyMessageManagerCallback);
- iCtsyMessageManagerCallback->Complete(aIpc, aData, aResult);
- } // TMessageManagerCallbackProxy::Complete
-
-
-CMessageRouter* CMessageRouter::NewL(MmMessageManagerCallback& aMessageManagerCallback)
- {
- TSYLOGENTRYEXIT;
-
- CMessageRouter* const self = new(ELeave) CMessageRouter(aMessageManagerCallback);
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-CMessageRouter::CMessageRouter(MmMessageManagerCallback& aMessageManagerCallback)
- : iMessageManagerCallbackProxy(aMessageManagerCallback),
- iSatMessageManagerCallbackProxy()
- {
- }
-
-
-void CMessageRouter::ConstructL()
-/**
- * Second phase constructor.
- */
- {
- TSYLOGENTRYEXIT;
-
- iRequestQueueOneShot = CRequestQueueOneShot::NewL();
-
- // Create callback object
- iCtsyDispatcherCallback = CCtsyDispatcherCallback::NewL();
-
-
- // The following code loads the LicenseeSkeletonLTSY.dll
- // This LTSY is for testing purposes only. In a real
- // environment, the licensee is expected to provide their own
- // LTSY, which should adhere to the MLtsyDispatchFactoryV1 interface
-
- #define TEST_CODE
-
- _LIT(KLicenseeLTSYDllName, "licenseeskeletontsy.dll");
-
- User::LeaveIfError(iLoadedLib.Load(KLicenseeLTSYDllName));
- typedef MLtsyFactoryBase* (*LTsyFactoryL)();
- LTsyFactoryL libEntry = (LTsyFactoryL)iLoadedLib.Lookup(1);
- MLtsyFactoryBase* ltsyfactory = (MLtsyFactoryBase*)(*libEntry)(); // libEntry may leave.
- iLtsyFactoryV1 = static_cast<MLtsyDispatchFactoryV1*>(ltsyfactory);
-
- iLtsyFactoryV1->ConstructL(*iCtsyDispatcherCallback);
-
- // Create the dispatchers
-
- iCtsyDispatcherCallControlDispatcher = CCallControlDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherPhoneDispatcher = CPhoneDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, iSatMessageManagerCallbackProxy,
- *iRequestQueueOneShot, *this);
-
-
- iCtsyDispatcherSecurityDispatcher = CSecurityDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherPhonebookEnDispatcher = CPhonebookEnDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherCellBroadcastDispatcher = CCellBroadcastDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherPhonebookOnDispatcher = CPhonebookOnDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherPhonebookDispatcher = CPhonebookDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherSimDispatcher = CSimDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherSmsDispatcher = CSmsDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherCallControlMultipartyDispatcher = CCallControlMultipartyDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherSupplementaryServicesDispatcher = CSupplementaryServicesDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherPacketServicesDispatcher = CPacketServicesDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
- iCtsyDispatcherSatDispatcher = CSatDispatcher::NewL(
- *iLtsyFactoryV1, iMessageManagerCallbackProxy, iSatMessageManagerCallbackProxy, *iRequestQueueOneShot);
-
-
-
- iDispatcherHolder = new (ELeave) TDispatcherHolder(
- *iCtsyDispatcherCallControlDispatcher,
- *iCtsyDispatcherPhoneDispatcher,
- *iCtsyDispatcherSecurityDispatcher,
- *iCtsyDispatcherPhonebookEnDispatcher,
- *iCtsyDispatcherCellBroadcastDispatcher,
- *iCtsyDispatcherPhonebookOnDispatcher,
- *iCtsyDispatcherPhonebookDispatcher,
- *iCtsyDispatcherSimDispatcher,
- *iCtsyDispatcherSmsDispatcher,
- *iCtsyDispatcherCallControlMultipartyDispatcher,
- *iCtsyDispatcherSupplementaryServicesDispatcher,
- *iCtsyDispatcherPacketServicesDispatcher,
- *iCtsyDispatcherSatDispatcher);
-
- iCtsyDispatcherCallback->SetDispatcherHolder(*iDispatcherHolder);
-
- iCtsyDispatcherCallControlDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherPhoneDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherSecurityDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherPhonebookEnDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherCellBroadcastDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherPhonebookOnDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherPhonebookDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherSimDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherSmsDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherCallControlMultipartyDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherSupplementaryServicesDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherPacketServicesDispatcher->SetDispatcherHolder(*iDispatcherHolder);
- iCtsyDispatcherSatDispatcher->SetDispatcherHolder(*iDispatcherHolder);
-
- StartBootSequenceL();
- } // CMessageRouter::ConstructL
-
-void CMessageRouter::SetSatMessageManager(MmMessageManagerCallback& aMessageManagerCallback)
- {
- TSYLOGENTRYEXIT;
- iSatMessageManagerCallbackProxy.SetMessageManagerCallbackProxy(aMessageManagerCallback);
- }
-
-void CMessageRouter::SetSatCallOriginInterface(MStkTsyCallOrigin& aSatCallOrigin)
- {
- TSYLOGENTRYEXIT;
- //this pointer is initialised in ConstructL
- iCtsyDispatcherSatDispatcher->SetSatCallOriginInterface(aSatCallOrigin);
- }
-
-CMessageRouter::~CMessageRouter()
- {
- TSYLOGENTRYEXIT;
-
- if (iLtsyFactoryV1)
- {
- iLtsyFactoryV1->Release();
- iLtsyFactoryV1 = NULL;
- }
-
- iLoadedLib.Close();
-
- // Delete dispatchers
-
- delete iCtsyDispatcherCallControlDispatcher;
- iCtsyDispatcherCallControlDispatcher = NULL;
-
- delete iCtsyDispatcherPhoneDispatcher;
- iCtsyDispatcherPhoneDispatcher = NULL;
-
- delete iCtsyDispatcherSecurityDispatcher;
- iCtsyDispatcherSecurityDispatcher = NULL;
-
- delete iCtsyDispatcherPhonebookEnDispatcher;
- iCtsyDispatcherPhonebookEnDispatcher = NULL;
-
- delete iCtsyDispatcherCellBroadcastDispatcher;
- iCtsyDispatcherCellBroadcastDispatcher = NULL;
-
- delete iCtsyDispatcherPhonebookOnDispatcher;
- iCtsyDispatcherPhonebookOnDispatcher = NULL;
-
- delete iCtsyDispatcherPhonebookDispatcher;
- iCtsyDispatcherPhonebookDispatcher = NULL;
-
- delete iCtsyDispatcherSimDispatcher;
- iCtsyDispatcherSimDispatcher = NULL;
-
- delete iCtsyDispatcherSmsDispatcher;
- iCtsyDispatcherSmsDispatcher = NULL;
-
- delete iCtsyDispatcherCallControlMultipartyDispatcher;
- iCtsyDispatcherCallControlMultipartyDispatcher = NULL;
-
- delete iCtsyDispatcherSupplementaryServicesDispatcher;
- iCtsyDispatcherSupplementaryServicesDispatcher = NULL;
-
- delete iCtsyDispatcherPacketServicesDispatcher;
- iCtsyDispatcherPacketServicesDispatcher = NULL;
-
- delete iCtsyDispatcherSatDispatcher;
- iCtsyDispatcherSatDispatcher = NULL;
-
- delete iCtsyDispatcherCallback;
- iCtsyDispatcherCallback = NULL;
-
- delete iDispatcherHolder;
- iDispatcherHolder = NULL;
-
- delete iRequestQueueOneShot;
- iRequestQueueOneShot = NULL;
-
- } // CMessageRouter::~CMessageRouter
-
-
-void CMessageRouter::StartBootSequenceL()
-/**
- * Second initialisation phase.
- */
- {
- TSYLOGENTRYEXIT;
-
- // Kick off boot sequence
- TInt ret = ExtFuncL(EMmTsyBootNotifyModemStatusReadyIPC, NULL);
- LOG(_L8("ExtFuncL(EMmTsyBootNotifyModemStatusReadyIPC returned %d"), ret);
- User::LeaveIfError(ret);
- } // CMessageRouter::StartBootSequenceL
-
-
-TInt CMessageRouter::ExtFuncL(TInt aIpc, const CMmDataPackage* aDataPackage)
-/**
- * Part of the MMessageRouter interface which is part of the LTSY plugin
- * interface.
- *
- * This function is the entry point for a request from the CTSY into the
- * LTSY.
- *
- * @param aIpc The IPC of the request.
- *
- * @param aDataPackage The data package containing the parameters of the
- * request.
- *
- * @return Error code to propagate back up to the CTSY relating to making
- * this request. Returns KErrNone on success, KErrNotSupported if the LTSY
- * does not support this request (it could not find a message handler to
- * handle this request).
- */
- {
- TSYLOGENTRYEXITARGS(_L8(" [IPC=%d]"), aIpc);
-
- TInt ret = KErrNotSupported;
-
- // Dispatch to Licensee LTSY
- switch (aIpc)
- {
-
- // CallControl Functional Unit IPCs
-
- case EEtelCallAnswer:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchAnswerL(aDataPackage);
- break;
- case EMobileCallAnswerISV:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchAnswerIsvL(aDataPackage);
- break;
- case EMobileCallHold:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchHoldL(aDataPackage);
- break;
- case EMobileCallDialEmergencyCall:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchDialEmergencyL(aDataPackage);
- break;
- case EMobilePhoneStopDTMFTone:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchStopDtmfToneL(aDataPackage);
- break;
- case EMobileCallDialISV:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchDialIsvL(aDataPackage);
- break;
- case EMobilePhoneSetALSLine:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchSetActiveAlsLineL(aDataPackage);
- break;
- case EMobilePhoneSendDTMFTonesCancel:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchSendDtmfTonesCancelL(aDataPackage);
- break;
- case EEtelCallHangUp:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchHangUpL(aDataPackage);
- break;
- case EMobileCallResume:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchResumeL(aDataPackage);
- break;
- case EMobileCallSetDynamicHscsdParams:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchSetDynamicHscsdParamsL(aDataPackage);
- break;
- case EEtelCallDial:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchDialL(aDataPackage);
- break;
- case EMobileCallDialNoFdnCheck:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchDialNoFdnCheckL(aDataPackage);
- break;
- case EMobileCallTransfer:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchTransferL(aDataPackage);
- break;
- case EMobilePhoneSendDTMFTones:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchSendDtmfTonesL(aDataPackage);
- break;
- case EMobilePhoneGetIdentityServiceStatus:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchGetIdentityServiceStatusL(aDataPackage);
- break;
- case EMobileCallSwap:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchSwapL(aDataPackage);
- break;
- case EMobilePhoneContinueDTMFStringSending:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchContinueDtmfStringSendingL(aDataPackage);
- break;
- case EEtelCallLoanDataPort:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchLoanDataPortL(aDataPackage);
- break;
- case EEtelCallRecoverDataPort:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchRecoverDataPortL(aDataPackage);
- break;
- case EMobilePhoneStartDTMFTone:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchStartDtmfToneL(aDataPackage);
- break;
- case EMobilePhoneGetALSLine:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchGetActiveAlsLineL();
- break;
- case ECustomCheckEmergencyNumberIPC:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchQueryIsEmergencyNumberL(aDataPackage);
- break;
- case ECustomCheckAlsPpSupportIPC:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchGetAlsPpSupportL();
- break;
- case ECustomGetAlsBlockedIPC:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchGetAlsBlockedStatusL();
- break;
- case ECustomSetAlsBlockedIPC:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchSetAlsBlockedL(aDataPackage);
- break;
- case ECustomGetLifeTimeIPC:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchGetLifeTimeL();
- break;
- case ECustomTerminateCallIPC:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchTerminateCallL(aDataPackage);
- break;
- case ECustomGetIccCallForwardingStatusIPC:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchGetCallForwardingIndicatorL();
- break;
- case ECtsyUpdateLifeTimeReq:
- ret = iCtsyDispatcherCallControlDispatcher->DispatchUpdateLifeTimeL(aDataPackage);
- break;
-
- // Phone functionality
-
- case EMobilePhoneGetFdnStatus:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetFdnStatusL();
- break;
- case EMobilePhoneGetNetworkRegistrationStatus:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetNetworkRegistrationStatusL();
- break;
- case EMmTsyBootNotifyModemStatusReadyIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchBootNotifyModemStatusReadyL();
- break;
- case EMmTsyBootNotifySimStatusReadyIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchBootNotifySimStatusReadyL();
- break;
- case EMobilePhoneGetHomeNetwork:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetHomeNetworkL();
- break;
- case EMmTsySimRefreshRegisterIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchSimRefreshRegisterL(aDataPackage);
- break;
- case EMmTsyGetCallForwardingNumberIPC: // Deprecated parts of the boot sequence,
- // deliberately not passed to Licensee LTSY
-
- case EMmTsyGetCustomVendorExtPtrIPC: // Part of deprecated custom API initialisation
- // deliberately not passed to Licensee LTSY
- break;
- case EReadViagHomeZoneCacheIPC: // Deliberated not passed to LTSY
- // Leave like this unless this custom functionality
- // is needed
- break;
- case ECustomNetWakeupIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchNspsWakeupL();
- break;
- case ECustomSetSystemNetworkModeIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchSetSystemNetworkModeL(aDataPackage);
- break;
- case ECustomGetCurrentSystemNetworkModesIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetCurrentSystemNetworkModesL();
- break;
- case ECustomResetNetServerIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchResetNetServerL();
- break;
- case ECustomSetAlwaysOnMode:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchSetAlwaysOnModeL(aDataPackage);
- break;
- case ECustomSetDriveModeIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchSetDriveModeL(aDataPackage);
- break;
- case ECustomReadHSxPAStatusIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetHspaStatusL();
- break;
- case ECustomWriteHSxPAStatusIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchSetHspaStatusL(aDataPackage);
- break;
- case ECustomGetNetworkProviderNameIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetNetworkProviderNameL();
- break;
- case ECustomGetOperatorNameIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetOperatorNameL();
- break;
- case ECustomGetCellInfoIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetCellInfoL();
- break;
- case ECtsyPhoneTerminateAllCallsReq:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchTerminateAllCallsL(aDataPackage);
- break;
-
- // Phone Functional Unit IPCs
-
- case EMobilePhoneGetServiceProviderName:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetServiceProviderNameL();
- break;
- case EMobilePhoneGetPhoneId:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetPhoneIdL(KPhoneIdReqOriginPhoneFu);
- break;
- case EMobilePhoneGetDetectedNetworksV2Phase1:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetDetectedNetworksL();
- break;
- case EMobilePhoneGetDetectedNetworksCancel:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetDetectedNetworksCancelL();
- break;
- case EMobilePhoneSelectNetwork:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchSelectNetworkL(aDataPackage);
- break;
- case EMobilePhoneSelectNetworkCancel:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchSelectNetworkCancelL();
- break;
- case EMobilePhoneSetNetworkSelectionSetting:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchSetNetworkSelectionSettingL(aDataPackage);
- break;
- case ECtsyPhoneCellInfoIndReq:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchRegisterCellInfoChangeNotificationL();
- break;
- case ECtsyPhoneCellInfoReq:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetPhoneCellInfoL();
- break;
- case ECustomGetServiceTableSupportbyApplicationIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetUsimServiceSupportL(aDataPackage);
- break;
- case EMobilePhoneGetCurrentActiveUSimApplication:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetCurrentActiveUsimApplicationL();
- break;
- case ECustomGetBandSelectionIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetSystemNetworkBandL();
- break;
- case ECustomSetBandSelectionIPC:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchSetSystemNetworkBandL(aDataPackage);
- break;
-
- // Security Functional Unit IPCs
-
- case EMobilePhoneGetSecurityCodeInfo:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchGetSecurityCodeInfoL(aDataPackage);
- break;
- case EMobilePhoneGetLockInfo:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchGetLockInfoL(aDataPackage);
- break;
- case EMobilePhoneAbortSecurityCode:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchAbortSecurityCodeL(aDataPackage);
- break;
- case EMmTsySecurityGetSimActivePinStateIPC:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchGetCurrentActivePinL();
- break;
- case EMobilePhoneSetLockSetting:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchSetLockSettingL(aDataPackage);
- break;
- case EMobilePhoneVerifySecurityCode:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchVerifySecurityCodeL(aDataPackage);
- break;
- case EMmTsyPhoneGetPin1DisableSupportedIPC:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchGetPin1DisableSupportedL();
- break;
- case ECustomCheckSecurityCodeIPC:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchCheckSecurityCodeL(aDataPackage);
- break;
- case ECustomDisablePhoneLockIPC:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchDisablePhoneLockL(aDataPackage);
- break;
- case ECustomGetCipheringInfoIPC:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchGetCipheringInfoL();
- break;
- case ECustomIsBlockedIPC:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchIsSecurityCodeBlockedL(aDataPackage);
- break;
- case ECustomCheckSecurityCodeCancelIPC:
- ret = iCtsyDispatcherSecurityDispatcher->DispatchCheckSecurityCodeCancelL(aDataPackage);
- break;
-
- // PhonebookEn Functional Unit IPCs
-
- case EMmTsyENStoreGetInfoIPC:
- ret = iCtsyDispatcherPhonebookEnDispatcher->DispatchStoreGetInfoL();
- break;
- case EMmTsyENStoreReadAllPhase1IPC:
- ret = iCtsyDispatcherPhonebookEnDispatcher->DispatchStoreReadAllL();
- break;
- case EMmTsyENStoreReadIPC:
- ret = iCtsyDispatcherPhonebookEnDispatcher->DispatchStoreReadEntryL(aDataPackage);
- break;
-
- // CellBroadcast Functional Unit IPCs
-
- case EMobileBroadcastMessagingSetFilterSetting:
- ret = iCtsyDispatcherCellBroadcastDispatcher->DispatchSetBroadcastFilterSettingL(aDataPackage);
- break;
- case EMobileBroadcastMessagingReceiveMessage:
- ret = iCtsyDispatcherCellBroadcastDispatcher->DispatchActivateBroadcastReceiveMessageL(aDataPackage);
- break;
- case EMobileBroadcastMessagingReceiveMessageCancel:
- ret = iCtsyDispatcherCellBroadcastDispatcher->DispatchReceiveMessageCancelL(aDataPackage);
- break;
- case ECustomStartSimCbTopicBrowsingIPC:
- ret = iCtsyDispatcherCellBroadcastDispatcher->DispatchStartSimCbTopicBrowsingL();
- break;
- case ECustomDeleteSimCbTopicIPC:
- ret = iCtsyDispatcherCellBroadcastDispatcher->DispatchDeleteSimCbTopicL(aDataPackage);
- break;
-
- // PhonebookOn Functional Unit IPCs
-
- case EMmTsyONStoreReadIPC:
- ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreReadL(aDataPackage);
- break;
- case EMmTsyONStoreDeleteAllIPC:
- ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreDeleteAllL();
- break;
- case EMmTsyONStoreReadEntryIPC:
- ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreReadEntryL(aDataPackage);
- break;
- case EMmTsyONStoreGetInfoIPC:
- ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreGetInfoL();
- break;
- case EMmTsyONStoreReadSizeIPC:
- ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreGetReadStoreSizeL();
- break;
- case EMmTsyONStoreDeleteIPC:
- ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreDeleteEntryL(aDataPackage);
- break;
- case EMmTsyONStoreWriteEntryIPC:
- ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreWriteEntryL(aDataPackage);
- break;
- case EMmTsyONStoreWriteIPC:
- ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreWriteL(aDataPackage);
- break;
- case EMmTsyONStoreWriteSizeIPC:
- ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreGetStoreSizeL();
- break;
-
- // Phonebook Functional Unit IPCs
-
- case EMmTsyPhoneBookStoreReadIPC:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreReadEntryL(aDataPackage);
- break;
- case EMmTsyPhoneBookStoreDeleteIPC:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreDeleteEntryL(aDataPackage);
- break;
- case EMmTsyPhoneBookStoreCacheIPC:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreCacheL(aDataPackage);
- break;
- case EMmTsyPhoneBookStoreGetInfoIPC:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreGetInfoL(aDataPackage);
- break;
- case EMmTsyPhoneBookStoreInitIPC:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreInitialiseL(aDataPackage);
- break;
- case EMmTsyPhoneBookStoreDeleteAllIPC:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreDeleteAllL(aDataPackage);
- break;
- case EMobilePhoneStoreReadAllPhase1:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreReadAllL();
- break;
- case EMmTsyPhoneBookStoreWriteIPC:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreWriteEntryL(aDataPackage);
- break;
- case EMobilePhoneGetPhoneStoreInfo:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchGetPhoneStoreInfoL(aDataPackage);
- break;
- case EMobilePhoneStoreDelete:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreDeleteEntryL(aDataPackage);
- break;
- case EMobilePhoneStoreDeleteAll:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreDeleteAllL();
- break;
- case EMobilePhoneStoreGetInfo:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreGetInfoL();
- break;
- case EMobilePhoneStoreRead:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreReadEntryL(aDataPackage);
- break;
- case EMobilePhoneStoreWrite:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreWriteEntryL(aDataPackage);
- break;
- case EMmTsyPhoneBookStoreCacheCancelIPC:
- ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreCacheCancelL(aDataPackage);
- break;
-
- // Sim Functional Unit IPCs
-
- case EMobilePhoneGetAPNControlListServiceStatus:
- ret = iCtsyDispatcherSimDispatcher->DispatchGetApnControlListServiceStatusL();
- break;
- case EMobilePhoneDeleteAPNName:
- ret = iCtsyDispatcherSimDispatcher->DispatchDeleteApnNameL(aDataPackage);
- break;
- case EMobilePhoneEnumerateAPNEntries:
- ret = iCtsyDispatcherSimDispatcher->DispatchEnumerateApnEntriesL();
- break;
- case EMobilePhoneChangeSecurityCode:
- ret = iCtsyDispatcherSimDispatcher->DispatchChangeSecurityCodeL(aDataPackage);
- break;
- case EMobilePhoneSetFdnSetting:
- ret = iCtsyDispatcherSimDispatcher->DispatchSetFdnSettingL(aDataPackage);
- break;
- case EMobilePhoneGetCustomerServiceProfile:
- ret = iCtsyDispatcherSimDispatcher->DispatchGetCustomerServiceProfileL();
- break;
- case EMobilePhoneGetSubscriberId:
- ret = iCtsyDispatcherSimDispatcher->DispatchGetSubscriberIdL();
- break;
- case EMobilePhoneAppendAPNName:
- ret = iCtsyDispatcherSimDispatcher->DispatchAppendApnNameL(aDataPackage);
- break;
- case EMmTsySimGetICCType:
- ret = iCtsyDispatcherSimDispatcher->DispatchGetIccTypeL();
- break;
- case EMobilePhoneSetIccMessageWaitingIndicators:
- ret = iCtsyDispatcherSimDispatcher->DispatchSetIccMessageWaitingIndicatorsL(aDataPackage);
- break;
- case EMobilePhoneSetAPNControlListServiceStatus:
- ret = iCtsyDispatcherSimDispatcher->DispatchSetApnControlListServiceStatusL(aDataPackage);
- break;
- case EMobilePhoneGetAPNname:
- ret = iCtsyDispatcherSimDispatcher->DispatchGetApnNameL(aDataPackage);
- break;
- case EMmTsySimRefreshDoneIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchSimRefreshDoneL(aDataPackage);
- break;
- case EMobilePhoneGetServiceTable:
- ret = iCtsyDispatcherSimDispatcher->DispatchGetServiceTableL(aDataPackage);
- break;
- case EMobilePhoneGetIccMessageWaitingIndicators:
- ret = iCtsyDispatcherSimDispatcher->DispatchGetIccMessageWaitingIndicatorsL();
- break;
- case ECustomSimLockActivateIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchSimLockActivateL(aDataPackage);
- break;
- case ECustomSimLockDeActivateIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchSimLockDeActivateL(aDataPackage);
- break;
- case ECustomGetATRIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchGetAnswerToResetL(aDataPackage);
- break;
- case ECustomGetSimCardReaderStatusIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchGetSimCardReaderStatusL();
- break;
- case ECustomGetSimAuthenticationDataIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchGetSimAuthenticationDataL(aDataPackage);
- break;
- case ECustomPowerSimOffIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchPowerSimOffL();
- break;
- case ECustomPowerSimOnIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchPowerSimOnL();
- break;
- case ECustomReadSimFileIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchReadSimFileL(aDataPackage);
- break;
- case ECustomSendAPDUReqIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchSendApduRequestL(aDataPackage);
- break;
- case ECustomSendAPDUReqV2IPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchSendApduRequestV2L(aDataPackage);
- break;
- case ECustomSimWarmResetIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchSimWarmResetL();
- break;
- case ECustomSetSimMessageStatusReadIPC:
- ret = iCtsyDispatcherSimDispatcher->DispatchSetSimMessageStatusReadL(aDataPackage);
- break;
-
- // Sms Functional Unit IPCs
-
- case EMmTsyActivateSmsRouting:
- ret = iCtsyDispatcherSmsDispatcher->DispatchActivateSmsRoutingL();
- break;
- case EMmTsyDeactivateSmsRouting:
- ret = KErrNone; //do nothing for deactivating sms routing
- break;
- case EMmTsySmsSendSatMessage:
- ret = iCtsyDispatcherSmsDispatcher->DispatchSendSatSmsL(aDataPackage);
- break;
- case EMobileSmsMessagingGetMessageStoreInfo:
- ret = iCtsyDispatcherSmsDispatcher->DispatchGetSmsStoreInfoL();
- break;
- case EMobileSmsMessagingGetSmspListPhase1:
- ret = iCtsyDispatcherSmsDispatcher->DispatchGetSmspListL();
- break;
- case EMobileSmsMessagingNackSmsStored:
- ret = iCtsyDispatcherSmsDispatcher->DispatchNackSmsStoredL(aDataPackage);
- break;
- case EMobileSmsMessagingAckSmsStored:
- ret = iCtsyDispatcherSmsDispatcher->DispatchAckSmsStoredL(aDataPackage);
- break;
- case EMobileSmsMessagingResumeSmsReception:
- ret = iCtsyDispatcherSmsDispatcher->DispatchResumeSmsReceptionL();
- break;
- case EMobileSmsMessagingSendMessage:
- ret = iCtsyDispatcherSmsDispatcher->DispatchSendSmsMessageL(aDataPackage);
- break;
- case EMobileSmsMessagingSendMessageNoFdnCheck:
- ret = iCtsyDispatcherSmsDispatcher->DispatchSendSmsMessageNoFdnCheckL(aDataPackage);
- break;
- case EMobileSmsMessagingSetMoSmsBearer:
- ret = iCtsyDispatcherSmsDispatcher->DispatchSetMoSmsBearerL(aDataPackage);
- break;
- case EMobileSmsMessagingStoreSmspList:
- ret = iCtsyDispatcherSmsDispatcher->DispatchStoreSmspListEntryL(aDataPackage);
- break;
-
- // CallControlMultiparty Functional Unit IPCs
-
- case EMobileConferenceCallHangUp:
- ret = iCtsyDispatcherCallControlMultipartyDispatcher->DispatchConferenceHangUpL(aDataPackage);
- break;
- case EMobileConferenceCallAddCall:
- ret = iCtsyDispatcherCallControlMultipartyDispatcher->DispatchConferenceAddCallL(aDataPackage);
- break;
- case EMobileConferenceCallCreateConference:
- ret = iCtsyDispatcherCallControlMultipartyDispatcher->DispatchCreateConferenceL(aDataPackage);
- break;
- case EMobileConferenceCallSwap:
- ret = iCtsyDispatcherCallControlMultipartyDispatcher->DispatchConferenceSwapL(aDataPackage);
- break;
- case EMobileCallGoOneToOne:
- ret = iCtsyDispatcherCallControlMultipartyDispatcher->DispatchConferenceGoOneToOneL(aDataPackage);
- break;
-
- // SupplementaryServices Functional Unit IPCs
-
- case EMobilePhoneSendNetworkServiceRequestNoFdnCheck:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSendNetworkServiceRequestNoFdnCheckL(aDataPackage);
- break;
- case EMobilePhoneGetWaitingStatusPhase1:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchGetCallWaitingStatusL();
- break;
- case EMobilePhoneSendNetworkServiceRequest:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSendNetworkServiceRequestL(aDataPackage);
- break;
- case EMobilePhoneGetBarringStatusPhase1:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchGetCallBarringStatusL(aDataPackage);
- break;
- case EMobilePhoneSetCallBarringStatus:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSetCallBarringStatusL(aDataPackage);
- break;
- case EMobilePhoneSetCallForwardingStatus:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSetCallForwardingStatusL(aDataPackage);
- break;
- case EMobilePhoneSetCallWaitingStatus:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSetCallWaitingStatusL(aDataPackage);
- break;
- case EMobilePhoneSetSSPassword:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSetSsPasswordL(aDataPackage);
- break;
- case EMobilePhoneGetCallForwardingStatusPhase1:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchGetCallForwardingStatusL(aDataPackage);
- break;
- case EMobileUssdMessagingSendMessage:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSendUssdMessageL(aDataPackage);
- break;
- case EMobileUssdMessagingSendMessageNoFdnCheck:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSendUssdMessageNoFdnCheckL(aDataPackage);
- break;
- case EMobileUssdMessagingSendRelease:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSendUssdReleaseL();
- break;
- case ECustomClearCallBlackListIPC:
- ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchClearBlacklistL();
- break;
-
- // PacketServices Functional Unit IPCs
-
- case EPacketAttach:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchPacketAttachL();
- break;
- case EPacketGetAttachMode:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetPacketAttachModeL(aDataPackage);
- break;
- case EPacketGetNtwkRegStatus:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetPacketNetworkRegistrationStatusL();
- break;
- case EPacketDetach:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchPacketDetachL();
- break;
- case EPacketContextSetConfig:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchSetPdpContextConfigL(aDataPackage);
- break;
- case EPacketContextModifyActiveContext:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchModifyActivePdpContextL(aDataPackage);
- break;
- case EPacketContextInitialiseContext:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchInitialisePdpContextL(aDataPackage);
- break;
- case EPacketContextDelete:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchDeletePdpContextL(aDataPackage);
- break;
- case EPacketSetAttachMode:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchSetPacketAttachModeL(aDataPackage);
- break;
- case EPacketNotifyStatusChange:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetStatusL();
- break;
- case EPacketSetDefaultContextParams:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchSetDefaultPdpContextParamsL(aDataPackage);
- break;
- case EPacketContextActivate:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchActivatePdpContextL(aDataPackage);
- break;
- case EPacketQoSSetProfileParams:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchSetPdpContextQosL(aDataPackage);
- break;
- case EPacketRejectActivationRequest:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchRejectNetworkInitiatedContextActivationRequestL();
- break;
- case EPacketContextDeactivate:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchDeactivatePdpContextL(aDataPackage);
- break;
- case EPacketContextAddPacketFilter:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchAddPacketFilterL(aDataPackage);
- break;
- case EPacketContextRemovePacketFilter:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchRemovePacketFilterL(aDataPackage);
- break;
- case EPacketInitProxiesIPC:
- // deliberately not passed to Licensee LTSY
- ret = KErrNone;
- break;
- case EPacketGetStaticCaps:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetStaticCapabilitiesL();
- break;
- case EPacketEnumerateMbmsMonitorServiceList:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetMaxNoMonitoredServiceListsL();
- break;
- case EPacketEnumerateMbmsActiveServiceList:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetMaxNoActiveServicesL();
- break;
- case ECtsyPacketMbmsInitialiseContextReq:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchInitialiseMbmsContextL(aDataPackage);
- break;
- case EPacketGetMbmsNetworkServiceStatus:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetMbmsNetworkServiceStatusL(aDataPackage);
- break;
- case EPacketUpdateMbmsMonitorServiceList:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchUpdateMbmsMonitorServiceListL(aDataPackage);
- break;
- case EPacketContextUpdateMbmsSessionList:
- ret = iCtsyDispatcherPacketServicesDispatcher->DispatchUpdateMbmsSessionListL(aDataPackage);
- break;
-
- // Sat Functional Unit IPCs
-
- case ESatTsySmsDeliverReport:
- ret = iCtsyDispatcherSatDispatcher->DispatchSmsDeliverReportL(aDataPackage);
- break;
- case ESatTsyGetImageInstance:
- ret = iCtsyDispatcherSatDispatcher->DispatchGetImageInstanceL(aDataPackage);
- break;
- case ESatTsyGetIMEI:
- ret = iCtsyDispatcherPhoneDispatcher->DispatchGetPhoneIdL(KPhoneIdReqOriginSatFu);
- break;
- case ESatTsyGetIconData:
- ret = iCtsyDispatcherSatDispatcher->DispatchGetIconDataL(aDataPackage);
- break;
- case ESatTsyGetClut:
- ret = iCtsyDispatcherSatDispatcher->DispatchGetClutL(aDataPackage);
- break;
- case ESatTsyGetBearerCapability:
- ret = iCtsyDispatcherSatDispatcher->DispatchGetDefaultBearerCapabilityL();
- break;
- case ESatTsySmsPpDdlStatus:
- ret = iCtsyDispatcherSatDispatcher->DispatchSmsPpDdlStatusL();
- break;
- case ESatTsyMoSmsControlActivation:
- ret = iCtsyDispatcherSatDispatcher->DispatchGetSmsControlActivatedL();
- break;
- case ESatTsyCellBroadcast:
- ret = iCtsyDispatcherSatDispatcher->DispatchCellBroadcastL(aDataPackage);
- break;
- case ESatTsyAccTech:
- ret = iCtsyDispatcherSatDispatcher->DispatchAccessTechnologyL();
- break;
- case ESatTsyTimingAdvance:
- ret = iCtsyDispatcherSatDispatcher->DispatchTimingAdvanceL();
- break;
- case ESatNotifyMoSmControlRequest:
- ret = iCtsyDispatcherSatDispatcher->DispatchNotifySmControlRequestL(aDataPackage);
- break;
- case ESatTsyProvideLocalInfo:
- ret = iCtsyDispatcherSatDispatcher->DispatchProvideLocationInfoL();
- break;
- case ESatTsySetPolling:
- ret = iCtsyDispatcherSatDispatcher->DispatchSetPollingIntervalL(aDataPackage);
- break;
- case ESatTsySmsPpDdl:
- ret = iCtsyDispatcherSatDispatcher->DispatchSmsPpDdlL(aDataPackage);
- break;
- case ESatTsyLocalInformationNmr:
- ret = iCtsyDispatcherSatDispatcher->DispatchLocalInformationNmrL();
- break;
- case ESatTsySendEnvelope:
- ret = iCtsyDispatcherSatDispatcher->DispatchSendEnvelopeL(aDataPackage);
- break;
- case ESatTsyServiceRequest:
- ret = iCtsyDispatcherSatDispatcher->DispatchServiceRequestL(aDataPackage);
- break;
- case ESatTsyReady:
- ret = iCtsyDispatcherSatDispatcher->DispatchReadyL();
- break;
- case ESatTsyGetIfPendingNotification:
- ret = iCtsyDispatcherSatDispatcher->DispatchPCmdNotificationL(aDataPackage);
- break;
- case ESatTsyEnvelopeError:
- ret = iCtsyDispatcherSatDispatcher->DispatchUssdControlEnvelopeErrorL();
- break;
- case ESatTsyTimerExpiredIPC:
- ret = iCtsyDispatcherSatDispatcher->DispatchTimerExpiredL(aDataPackage);
- break;
- case ESatTerminalRsp:
- ret = iCtsyDispatcherSatDispatcher->DispatchTerminalRspL(aDataPackage);
- break;
- case ESatNotifySetUpCallPCmd:
- //This IPC is called when a call connected envelope event is delayed because the terminal response to
- //the set up call proactive command must be sent before the event download envelope.
- //so this internal ipc just forwards the saved envelope to the event download api as normal.
- ret = iCtsyDispatcherSatDispatcher->DispatchEventDownloadL(aDataPackage);
- //ret = iCtsyDispatcherSatDispatcher->DispatchNotifySetUpCallPcmdL(aDataPackage);
- break;
- case ESatMenuSelection:
- ret = iCtsyDispatcherSatDispatcher->DispatchMenuSelectionL(aDataPackage);
- break;
- case ESatEventDownload:
- ret = iCtsyDispatcherSatDispatcher->DispatchEventDownloadL(aDataPackage);
- break;
- case ESatTsyUssdStatus:
- ret = iCtsyDispatcherSatDispatcher->DispatchGetUssdControlSupportedL();
- break;
- default:
- LOG(_L8("WARNING: CMessageRouter::ExtFuncL unhandled IPC=%d"), aIpc);
- break;
- } // switch (aIpc)
-
- return TSYLOGSETEXITERR(ret);
- } // CMessageRouter::ExtFuncL
-
-void CMessageRouter::HandleNotifyModemReadyReceivedL()
- {
- /*
- * This is the first IPC that is sent from CtsyDispatcher->CTSY indicating modem
- * is ready. We piggy-back on the back of this to now query what callback indicators
- * are supported. We do it here rather than at construction because for some basebands
- * it is possible this information must be read from configuration or even queried asynchronously.
- * If it is async they can do it before invoking the CallbackBootNotifyModemStatusReady
- *
- */
- QuerySupporterCallbackIndicators();
-
- // Method to retrieve network related information which will get stored in various Ctsy caches.
- RetrieveNetworkInfoL();
- }
-
-void CMessageRouter::QuerySupporterCallbackIndicators()
- {
-
- // Query the support for all the callback indicators
- // At present we do not do anything with this information (other than log it)
- // but in the future we could link this up to
- // registering for notifiers. So if a baseband does not support the notifier
- // then client can be returned
- // KErrNotSUpported rather than just never completing.
-
- TUint32 indmask;
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchCallControlFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("CallControl indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchPhoneFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("Security indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchSecurityFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("CallControl indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchPhonebookEnFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("Phonebook EN indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchCellBroadcastFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("Cell Broadcast indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchPhonebookOnFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("Phonebook ON indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchPhonebookFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("Phonebook indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchSimFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("SIM indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchSmsFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("Sms indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchCallControlMultipartyFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("Call Control Multiparty indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchSupplementaryServicesFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("Supplementary Services indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchPacketServicesFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("Packet Services indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchSatFuncUnitId, EIndIdGroup1, indmask);
- LOG(_L8("SAT indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
- }
-
-void CMessageRouter::RetrieveNetworkInfoL()
- {
- // Call methods to get various network information from the Ltsy
- iCtsyDispatcherPhoneDispatcher->DispatchGetCurrentNetworkInfoL();
- iCtsyDispatcherPhoneDispatcher->DispatchGetNetworkModeL();
- iCtsyDispatcherPhoneDispatcher->DispatchGetNitzInfoL();
- iCtsyDispatcherPhoneDispatcher->DispatchGetSignalStrengthL();
- iCtsyDispatcherPhoneDispatcher->DispatchGetBatteryInfoL();
- }
+// 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:
+//
+
+#include <e32def.h>
+#include <satcs.h>
+#include <pcktcs.h>
+#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
+#include <ctsy/rmmcustomapi.h>
+
+#include <ctsy/ltsy/mltsydispatchfactory.h>
+
+#include "cmessagerouter.h"
+#include <ctsy/ltsy/sat_defs.h>
+#include <ctsy/ltsy/cctsydispatchercallback.h>
+#include <ctsy/ltsy/ltsylogger.h>
+#include "tdispatcherholder.h"
+#include "requestqueueoneshot.h"
+#include "ctsydispatcherpanic.h"
+
+#include "ccallcontroldispatcher.h"
+#include "cphonedispatcher.h"
+#include "csecuritydispatcher.h"
+#include "cphonebookendispatcher.h"
+#include "ccellbroadcastdispatcher.h"
+#include "cphonebookondispatcher.h"
+#include "cphonebookdispatcher.h"
+#include "csatdispatcher.h"
+#include "csimdispatcher.h"
+#include "csmsdispatcher.h"
+#include "ccallcontrolmultipartydispatcher.h"
+#include "csupplementaryservicesdispatcher.h"
+#include "cpacketservicesdispatcher.h"
+
+
+
+TMessageManagerCallbackProxy::TMessageManagerCallbackProxy(MmMessageManagerCallback& aCtsyMessageManagerCallback)
+: iCtsyMessageManagerCallback(&aCtsyMessageManagerCallback)
+ {
+ } // TMessageManagerCallbackProxy::TMessageManagerCallbackProxy
+
+TMessageManagerCallbackProxy::TMessageManagerCallbackProxy()
+: iCtsyMessageManagerCallback(NULL)
+ {
+ }
+
+void TMessageManagerCallbackProxy::SetMessageManagerCallbackProxy(MmMessageManagerCallback& aCtsyMessageManagerCallback)
+ {
+ iCtsyMessageManagerCallback = &aCtsyMessageManagerCallback;
+ }
+
+void TMessageManagerCallbackProxy::Complete( TInt aIpc, TInt aResult )
+/**
+ * Completes requests / indications back to the Common TSY.
+ *
+ * @param aIpc The IPC to complete.
+ * @param aResult The result code of the request / indication.
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8(" [IPC=%d, result=%d]"), aIpc, aResult);
+ ASSERT(iCtsyMessageManagerCallback);
+ iCtsyMessageManagerCallback->Complete(aIpc, aResult);
+ } // TMessageManagerCallbackProxy::Complete
+
+
+void TMessageManagerCallbackProxy::Complete( TInt aIpc, CMmDataPackage* aData, TInt aResult )
+/**
+ * Completes requests / indications back to the Common TSY.
+ *
+ * @param aIpc The IPC to complete.
+ * @param aData Package encapulating the data relating to the request / indication.
+ * @param aResult The result code of the request / indication.
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8(" [IPC=%d, result=%d, aData=0x%x]"), aIpc, aResult, aData);
+ ASSERT(iCtsyMessageManagerCallback);
+ iCtsyMessageManagerCallback->Complete(aIpc, aData, aResult);
+ } // TMessageManagerCallbackProxy::Complete
+
+
+CMessageRouter* CMessageRouter::NewL(MmMessageManagerCallback& aMessageManagerCallback)
+ {
+ TSYLOGENTRYEXIT;
+
+ CMessageRouter* const self = new(ELeave) CMessageRouter(aMessageManagerCallback);
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+CMessageRouter::CMessageRouter(MmMessageManagerCallback& aMessageManagerCallback)
+ : iMessageManagerCallbackProxy(aMessageManagerCallback),
+ iSatMessageManagerCallbackProxy()
+ {
+ }
+
+
+void CMessageRouter::ConstructL()
+/**
+ * Second phase constructor.
+ */
+ {
+ TSYLOGENTRYEXIT;
+
+ iRequestQueueOneShot = CRequestQueueOneShot::NewL();
+
+ // Create callback object
+ iCtsyDispatcherCallback = CCtsyDispatcherCallback::NewL();
+
+
+ // The following code loads the LicenseeSkeletonLTSY.dll
+ // This LTSY is for testing purposes only. In a real
+ // environment, the licensee is expected to provide their own
+ // LTSY, which should adhere to the MLtsyDispatchFactoryV1 interface
+
+ #define TEST_CODE
+
+ _LIT(KLicenseeLTSYDllName, "licenseeskeletontsy.dll");
+
+ User::LeaveIfError(iLoadedLib.Load(KLicenseeLTSYDllName));
+ typedef MLtsyFactoryBase* (*LTsyFactoryL)();
+ LTsyFactoryL libEntry = (LTsyFactoryL)iLoadedLib.Lookup(1);
+ MLtsyFactoryBase* ltsyfactory = (MLtsyFactoryBase*)(*libEntry)(); // libEntry may leave.
+ iLtsyFactoryV1 = static_cast<MLtsyDispatchFactoryV1*>(ltsyfactory);
+
+ iLtsyFactoryV1->ConstructL(*iCtsyDispatcherCallback);
+
+ // Create the dispatchers
+
+ iCtsyDispatcherCallControlDispatcher = CCallControlDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherPhoneDispatcher = CPhoneDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, iSatMessageManagerCallbackProxy,
+ *iRequestQueueOneShot, *this);
+
+
+ iCtsyDispatcherSecurityDispatcher = CSecurityDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherPhonebookEnDispatcher = CPhonebookEnDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherCellBroadcastDispatcher = CCellBroadcastDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherPhonebookOnDispatcher = CPhonebookOnDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherPhonebookDispatcher = CPhonebookDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherSimDispatcher = CSimDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherSmsDispatcher = CSmsDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherCallControlMultipartyDispatcher = CCallControlMultipartyDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherSupplementaryServicesDispatcher = CSupplementaryServicesDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherPacketServicesDispatcher = CPacketServicesDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+ iCtsyDispatcherSatDispatcher = CSatDispatcher::NewL(
+ *iLtsyFactoryV1, iMessageManagerCallbackProxy, iSatMessageManagerCallbackProxy, *iRequestQueueOneShot);
+
+
+
+ iDispatcherHolder = new (ELeave) TDispatcherHolder(
+ *iCtsyDispatcherCallControlDispatcher,
+ *iCtsyDispatcherPhoneDispatcher,
+ *iCtsyDispatcherSecurityDispatcher,
+ *iCtsyDispatcherPhonebookEnDispatcher,
+ *iCtsyDispatcherCellBroadcastDispatcher,
+ *iCtsyDispatcherPhonebookOnDispatcher,
+ *iCtsyDispatcherPhonebookDispatcher,
+ *iCtsyDispatcherSimDispatcher,
+ *iCtsyDispatcherSmsDispatcher,
+ *iCtsyDispatcherCallControlMultipartyDispatcher,
+ *iCtsyDispatcherSupplementaryServicesDispatcher,
+ *iCtsyDispatcherPacketServicesDispatcher,
+ *iCtsyDispatcherSatDispatcher);
+
+ iCtsyDispatcherCallback->SetDispatcherHolder(*iDispatcherHolder);
+
+ iCtsyDispatcherCallControlDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherPhoneDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherSecurityDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherPhonebookEnDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherCellBroadcastDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherPhonebookOnDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherPhonebookDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherSimDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherSmsDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherCallControlMultipartyDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherSupplementaryServicesDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherPacketServicesDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+ iCtsyDispatcherSatDispatcher->SetDispatcherHolder(*iDispatcherHolder);
+
+ StartBootSequenceL();
+ } // CMessageRouter::ConstructL
+
+void CMessageRouter::SetSatMessageManager(MmMessageManagerCallback& aMessageManagerCallback)
+ {
+ TSYLOGENTRYEXIT;
+ iSatMessageManagerCallbackProxy.SetMessageManagerCallbackProxy(aMessageManagerCallback);
+ }
+
+void CMessageRouter::SetSatCallOriginInterface(MStkTsyCallOrigin& aSatCallOrigin)
+ {
+ TSYLOGENTRYEXIT;
+ //this pointer is initialised in ConstructL
+ iCtsyDispatcherSatDispatcher->SetSatCallOriginInterface(aSatCallOrigin);
+ }
+
+CMessageRouter::~CMessageRouter()
+ {
+ TSYLOGENTRYEXIT;
+
+ if (iLtsyFactoryV1)
+ {
+ iLtsyFactoryV1->Release();
+ iLtsyFactoryV1 = NULL;
+ }
+
+ iLoadedLib.Close();
+
+ // Delete dispatchers
+
+ delete iCtsyDispatcherCallControlDispatcher;
+ iCtsyDispatcherCallControlDispatcher = NULL;
+
+ delete iCtsyDispatcherPhoneDispatcher;
+ iCtsyDispatcherPhoneDispatcher = NULL;
+
+ delete iCtsyDispatcherSecurityDispatcher;
+ iCtsyDispatcherSecurityDispatcher = NULL;
+
+ delete iCtsyDispatcherPhonebookEnDispatcher;
+ iCtsyDispatcherPhonebookEnDispatcher = NULL;
+
+ delete iCtsyDispatcherCellBroadcastDispatcher;
+ iCtsyDispatcherCellBroadcastDispatcher = NULL;
+
+ delete iCtsyDispatcherPhonebookOnDispatcher;
+ iCtsyDispatcherPhonebookOnDispatcher = NULL;
+
+ delete iCtsyDispatcherPhonebookDispatcher;
+ iCtsyDispatcherPhonebookDispatcher = NULL;
+
+ delete iCtsyDispatcherSimDispatcher;
+ iCtsyDispatcherSimDispatcher = NULL;
+
+ delete iCtsyDispatcherSmsDispatcher;
+ iCtsyDispatcherSmsDispatcher = NULL;
+
+ delete iCtsyDispatcherCallControlMultipartyDispatcher;
+ iCtsyDispatcherCallControlMultipartyDispatcher = NULL;
+
+ delete iCtsyDispatcherSupplementaryServicesDispatcher;
+ iCtsyDispatcherSupplementaryServicesDispatcher = NULL;
+
+ delete iCtsyDispatcherPacketServicesDispatcher;
+ iCtsyDispatcherPacketServicesDispatcher = NULL;
+
+ delete iCtsyDispatcherSatDispatcher;
+ iCtsyDispatcherSatDispatcher = NULL;
+
+ delete iCtsyDispatcherCallback;
+ iCtsyDispatcherCallback = NULL;
+
+ delete iDispatcherHolder;
+ iDispatcherHolder = NULL;
+
+ delete iRequestQueueOneShot;
+ iRequestQueueOneShot = NULL;
+
+ } // CMessageRouter::~CMessageRouter
+
+
+void CMessageRouter::StartBootSequenceL()
+/**
+ * Second initialisation phase.
+ */
+ {
+ TSYLOGENTRYEXIT;
+
+ // Kick off boot sequence
+ TInt ret = ExtFuncL(EMmTsyBootNotifyModemStatusReadyIPC, NULL);
+ LOG(_L8("ExtFuncL(EMmTsyBootNotifyModemStatusReadyIPC returned %d"), ret);
+ User::LeaveIfError(ret);
+ } // CMessageRouter::StartBootSequenceL
+
+
+TInt CMessageRouter::ExtFuncL(TInt aIpc, const CMmDataPackage* aDataPackage)
+/**
+ * Part of the MMessageRouter interface which is part of the LTSY plugin
+ * interface.
+ *
+ * This function is the entry point for a request from the CTSY into the
+ * LTSY.
+ *
+ * @param aIpc The IPC of the request.
+ *
+ * @param aDataPackage The data package containing the parameters of the
+ * request.
+ *
+ * @return Error code to propagate back up to the CTSY relating to making
+ * this request. Returns KErrNone on success, KErrNotSupported if the LTSY
+ * does not support this request (it could not find a message handler to
+ * handle this request).
+ */
+ {
+ TSYLOGENTRYEXITARGS(_L8(" [IPC=%d]"), aIpc);
+
+ TInt ret = KErrNotSupported;
+
+ // Dispatch to Licensee LTSY
+ switch (aIpc)
+ {
+
+ // CallControl Functional Unit IPCs
+
+ case EEtelCallAnswer:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchAnswerL(aDataPackage);
+ break;
+ case EMobileCallAnswerISV:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchAnswerIsvL(aDataPackage);
+ break;
+ case EMobileCallHold:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchHoldL(aDataPackage);
+ break;
+ case EMobileCallDialEmergencyCall:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchDialEmergencyL(aDataPackage);
+ break;
+ case EMobilePhoneStopDTMFTone:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchStopDtmfToneL(aDataPackage);
+ break;
+ case EMobileCallDialISV:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchDialIsvL(aDataPackage);
+ break;
+ case EMobilePhoneSetALSLine:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchSetActiveAlsLineL(aDataPackage);
+ break;
+ case EMobilePhoneSendDTMFTonesCancel:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchSendDtmfTonesCancelL(aDataPackage);
+ break;
+ case EEtelCallHangUp:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchHangUpL(aDataPackage);
+ break;
+ case EMobileCallResume:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchResumeL(aDataPackage);
+ break;
+ case EMobileCallSetDynamicHscsdParams:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchSetDynamicHscsdParamsL(aDataPackage);
+ break;
+ case EEtelCallDial:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchDialL(aDataPackage);
+ break;
+ case EMobileCallDialNoFdnCheck:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchDialNoFdnCheckL(aDataPackage);
+ break;
+ case EMobileCallTransfer:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchTransferL(aDataPackage);
+ break;
+ case EMobilePhoneSendDTMFTones:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchSendDtmfTonesL(aDataPackage);
+ break;
+ case EMobilePhoneGetIdentityServiceStatus:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchGetIdentityServiceStatusL(aDataPackage);
+ break;
+ case EMobileCallSwap:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchSwapL(aDataPackage);
+ break;
+ case EMobilePhoneContinueDTMFStringSending:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchContinueDtmfStringSendingL(aDataPackage);
+ break;
+ case EEtelCallLoanDataPort:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchLoanDataPortL(aDataPackage);
+ break;
+ case EEtelCallRecoverDataPort:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchRecoverDataPortL(aDataPackage);
+ break;
+ case EMobilePhoneStartDTMFTone:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchStartDtmfToneL(aDataPackage);
+ break;
+ case EMobilePhoneGetALSLine:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchGetActiveAlsLineL();
+ break;
+ case ECustomCheckEmergencyNumberIPC:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchQueryIsEmergencyNumberL(aDataPackage);
+ break;
+ case ECustomCheckAlsPpSupportIPC:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchGetAlsPpSupportL();
+ break;
+ case ECustomGetAlsBlockedIPC:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchGetAlsBlockedStatusL();
+ break;
+ case ECustomSetAlsBlockedIPC:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchSetAlsBlockedL(aDataPackage);
+ break;
+ case ECustomGetLifeTimeIPC:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchGetLifeTimeL();
+ break;
+ case ECustomTerminateCallIPC:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchTerminateCallL(aDataPackage);
+ break;
+ case ECustomGetIccCallForwardingStatusIPC:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchGetCallForwardingIndicatorL();
+ break;
+ case ECtsyUpdateLifeTimeReq:
+ ret = iCtsyDispatcherCallControlDispatcher->DispatchUpdateLifeTimeL(aDataPackage);
+ break;
+
+ // Phone functionality
+
+ case EMobilePhoneGetFdnStatus:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetFdnStatusL();
+ break;
+ case EMobilePhoneGetNetworkRegistrationStatus:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetNetworkRegistrationStatusL();
+ break;
+ case EMmTsyBootNotifyModemStatusReadyIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchBootNotifyModemStatusReadyL();
+ break;
+ case EMmTsyBootNotifySimStatusReadyIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchBootNotifySimStatusReadyL();
+ break;
+ case EMobilePhoneGetHomeNetwork:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetHomeNetworkL();
+ break;
+ case EMmTsySimRefreshRegisterIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchSimRefreshRegisterL(aDataPackage);
+ break;
+ case EMmTsyGetCallForwardingNumberIPC: // Deprecated parts of the boot sequence,
+ // deliberately not passed to Licensee LTSY
+
+ case EMmTsyGetCustomVendorExtPtrIPC: // Part of deprecated custom API initialisation
+ // deliberately not passed to Licensee LTSY
+ break;
+ case EReadViagHomeZoneCacheIPC: // Deliberated not passed to LTSY
+ // Leave like this unless this custom functionality
+ // is needed
+ break;
+ case ECustomNetWakeupIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchNspsWakeupL();
+ break;
+ case ECustomSetSystemNetworkModeIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchSetSystemNetworkModeL(aDataPackage);
+ break;
+ case ECustomGetCurrentSystemNetworkModesIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetCurrentSystemNetworkModesL();
+ break;
+ case ECustomResetNetServerIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchResetNetServerL();
+ break;
+ case ECustomSetAlwaysOnMode:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchSetAlwaysOnModeL(aDataPackage);
+ break;
+ case ECustomSetDriveModeIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchSetDriveModeL(aDataPackage);
+ break;
+ case ECustomReadHSxPAStatusIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetHspaStatusL();
+ break;
+ case ECustomWriteHSxPAStatusIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchSetHspaStatusL(aDataPackage);
+ break;
+ case ECustomGetNetworkProviderNameIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetNetworkProviderNameL();
+ break;
+ case ECustomGetOperatorNameIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetOperatorNameL();
+ break;
+ case ECustomGetCellInfoIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetCellInfoL();
+ break;
+ case ECtsyPhoneTerminateAllCallsReq:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchTerminateAllCallsL(aDataPackage);
+ break;
+
+ // Phone Functional Unit IPCs
+
+ case EMobilePhoneGetServiceProviderName:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetServiceProviderNameL();
+ break;
+ case EMobilePhoneGetPhoneId:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetPhoneIdL(KPhoneIdReqOriginPhoneFu);
+ break;
+ case EMobilePhoneGetDetectedNetworksV2Phase1:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetDetectedNetworksL();
+ break;
+ case EMobilePhoneGetDetectedNetworksCancel:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetDetectedNetworksCancelL();
+ break;
+ case EMobilePhoneSelectNetwork:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchSelectNetworkL(aDataPackage);
+ break;
+ case EMobilePhoneSelectNetworkCancel:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchSelectNetworkCancelL();
+ break;
+ case EMobilePhoneSetNetworkSelectionSetting:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchSetNetworkSelectionSettingL(aDataPackage);
+ break;
+ case ECtsyPhoneCellInfoIndReq:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchRegisterCellInfoChangeNotificationL();
+ break;
+ case ECtsyPhoneCellInfoReq:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetPhoneCellInfoL();
+ break;
+ case ECustomGetServiceTableSupportbyApplicationIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetUsimServiceSupportL(aDataPackage);
+ break;
+ case EMobilePhoneGetCurrentActiveUSimApplication:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetCurrentActiveUsimApplicationL();
+ break;
+ case ECustomGetBandSelectionIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetSystemNetworkBandL();
+ break;
+ case ECustomSetBandSelectionIPC:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchSetSystemNetworkBandL(aDataPackage);
+ break;
+
+ // Security Functional Unit IPCs
+
+ case EMobilePhoneGetSecurityCodeInfo:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchGetSecurityCodeInfoL(aDataPackage);
+ break;
+ case EMobilePhoneGetLockInfo:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchGetLockInfoL(aDataPackage);
+ break;
+ case EMobilePhoneAbortSecurityCode:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchAbortSecurityCodeL(aDataPackage);
+ break;
+ case EMmTsySecurityGetSimActivePinStateIPC:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchGetCurrentActivePinL();
+ break;
+ case EMobilePhoneSetLockSetting:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchSetLockSettingL(aDataPackage);
+ break;
+ case EMobilePhoneVerifySecurityCode:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchVerifySecurityCodeL(aDataPackage);
+ break;
+ case EMmTsyPhoneGetPin1DisableSupportedIPC:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchGetPin1DisableSupportedL();
+ break;
+ case ECustomCheckSecurityCodeIPC:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchCheckSecurityCodeL(aDataPackage);
+ break;
+ case ECustomDisablePhoneLockIPC:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchDisablePhoneLockL(aDataPackage);
+ break;
+ case ECustomGetCipheringInfoIPC:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchGetCipheringInfoL();
+ break;
+ case ECustomIsBlockedIPC:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchIsSecurityCodeBlockedL(aDataPackage);
+ break;
+ case ECustomCheckSecurityCodeCancelIPC:
+ ret = iCtsyDispatcherSecurityDispatcher->DispatchCheckSecurityCodeCancelL(aDataPackage);
+ break;
+
+ // PhonebookEn Functional Unit IPCs
+
+ case EMmTsyENStoreGetInfoIPC:
+ ret = iCtsyDispatcherPhonebookEnDispatcher->DispatchStoreGetInfoL();
+ break;
+ case EMmTsyENStoreReadAllPhase1IPC:
+ ret = iCtsyDispatcherPhonebookEnDispatcher->DispatchStoreReadAllL();
+ break;
+ case EMmTsyENStoreReadIPC:
+ ret = iCtsyDispatcherPhonebookEnDispatcher->DispatchStoreReadEntryL(aDataPackage);
+ break;
+
+ // CellBroadcast Functional Unit IPCs
+
+ case EMobileBroadcastMessagingSetFilterSetting:
+ ret = iCtsyDispatcherCellBroadcastDispatcher->DispatchSetBroadcastFilterSettingL(aDataPackage);
+ break;
+ case EMobileBroadcastMessagingReceiveMessage:
+ ret = iCtsyDispatcherCellBroadcastDispatcher->DispatchActivateBroadcastReceiveMessageL(aDataPackage);
+ break;
+ case EMobileBroadcastMessagingReceiveMessageCancel:
+ ret = iCtsyDispatcherCellBroadcastDispatcher->DispatchReceiveMessageCancelL(aDataPackage);
+ break;
+ case ECustomStartSimCbTopicBrowsingIPC:
+ ret = iCtsyDispatcherCellBroadcastDispatcher->DispatchStartSimCbTopicBrowsingL();
+ break;
+ case ECustomDeleteSimCbTopicIPC:
+ ret = iCtsyDispatcherCellBroadcastDispatcher->DispatchDeleteSimCbTopicL(aDataPackage);
+ break;
+
+ // PhonebookOn Functional Unit IPCs
+
+ case EMmTsyONStoreReadIPC:
+ ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreReadL(aDataPackage);
+ break;
+ case EMmTsyONStoreDeleteAllIPC:
+ ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreDeleteAllL();
+ break;
+ case EMmTsyONStoreReadEntryIPC:
+ ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreReadEntryL(aDataPackage);
+ break;
+ case EMmTsyONStoreGetInfoIPC:
+ ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreGetInfoL();
+ break;
+ case EMmTsyONStoreReadSizeIPC:
+ ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreGetReadStoreSizeL();
+ break;
+ case EMmTsyONStoreDeleteIPC:
+ ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreDeleteEntryL(aDataPackage);
+ break;
+ case EMmTsyONStoreWriteEntryIPC:
+ ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreWriteEntryL(aDataPackage);
+ break;
+ case EMmTsyONStoreWriteIPC:
+ ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreWriteL(aDataPackage);
+ break;
+ case EMmTsyONStoreWriteSizeIPC:
+ ret = iCtsyDispatcherPhonebookOnDispatcher->DispatchStoreGetStoreSizeL();
+ break;
+
+ // Phonebook Functional Unit IPCs
+
+ case EMmTsyPhoneBookStoreReadIPC:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreReadEntryL(aDataPackage);
+ break;
+ case EMmTsyPhoneBookStoreDeleteIPC:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreDeleteEntryL(aDataPackage);
+ break;
+ case EMmTsyPhoneBookStoreCacheIPC:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreCacheL(aDataPackage);
+ break;
+ case EMmTsyPhoneBookStoreGetInfoIPC:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreGetInfoL(aDataPackage);
+ break;
+ case EMmTsyPhoneBookStoreInitIPC:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreInitialiseL(aDataPackage);
+ break;
+ case EMmTsyPhoneBookStoreDeleteAllIPC:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreDeleteAllL(aDataPackage);
+ break;
+ case EMobilePhoneStoreReadAllPhase1:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreReadAllL();
+ break;
+ case EMmTsyPhoneBookStoreWriteIPC:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreWriteEntryL(aDataPackage);
+ break;
+ case EMobilePhoneGetPhoneStoreInfo:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchGetPhoneStoreInfoL(aDataPackage);
+ break;
+ case EMobilePhoneStoreDelete:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreDeleteEntryL(aDataPackage);
+ break;
+ case EMobilePhoneStoreDeleteAll:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreDeleteAllL();
+ break;
+ case EMobilePhoneStoreGetInfo:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreGetInfoL();
+ break;
+ case EMobilePhoneStoreRead:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreReadEntryL(aDataPackage);
+ break;
+ case EMobilePhoneStoreWrite:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchSmsStoreWriteEntryL(aDataPackage);
+ break;
+ case EMmTsyPhoneBookStoreCacheCancelIPC:
+ ret = iCtsyDispatcherPhonebookDispatcher->DispatchStoreCacheCancelL(aDataPackage);
+ break;
+
+ // Sim Functional Unit IPCs
+
+ case EMobilePhoneGetAPNControlListServiceStatus:
+ ret = iCtsyDispatcherSimDispatcher->DispatchGetApnControlListServiceStatusL();
+ break;
+ case EMobilePhoneDeleteAPNName:
+ ret = iCtsyDispatcherSimDispatcher->DispatchDeleteApnNameL(aDataPackage);
+ break;
+ case EMobilePhoneEnumerateAPNEntries:
+ ret = iCtsyDispatcherSimDispatcher->DispatchEnumerateApnEntriesL();
+ break;
+ case EMobilePhoneChangeSecurityCode:
+ ret = iCtsyDispatcherSimDispatcher->DispatchChangeSecurityCodeL(aDataPackage);
+ break;
+ case EMobilePhoneSetFdnSetting:
+ ret = iCtsyDispatcherSimDispatcher->DispatchSetFdnSettingL(aDataPackage);
+ break;
+ case EMobilePhoneGetCustomerServiceProfile:
+ ret = iCtsyDispatcherSimDispatcher->DispatchGetCustomerServiceProfileL();
+ break;
+ case EMobilePhoneGetSubscriberId:
+ ret = iCtsyDispatcherSimDispatcher->DispatchGetSubscriberIdL();
+ break;
+ case EMobilePhoneAppendAPNName:
+ ret = iCtsyDispatcherSimDispatcher->DispatchAppendApnNameL(aDataPackage);
+ break;
+ case EMmTsySimGetICCType:
+ ret = iCtsyDispatcherSimDispatcher->DispatchGetIccTypeL();
+ break;
+ case EMobilePhoneSetIccMessageWaitingIndicators:
+ ret = iCtsyDispatcherSimDispatcher->DispatchSetIccMessageWaitingIndicatorsL(aDataPackage);
+ break;
+ case EMobilePhoneSetAPNControlListServiceStatus:
+ ret = iCtsyDispatcherSimDispatcher->DispatchSetApnControlListServiceStatusL(aDataPackage);
+ break;
+ case EMobilePhoneGetAPNname:
+ ret = iCtsyDispatcherSimDispatcher->DispatchGetApnNameL(aDataPackage);
+ break;
+ case EMmTsySimRefreshDoneIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchSimRefreshDoneL(aDataPackage);
+ break;
+ case EMobilePhoneGetServiceTable:
+ ret = iCtsyDispatcherSimDispatcher->DispatchGetServiceTableL(aDataPackage);
+ break;
+ case EMobilePhoneGetIccMessageWaitingIndicators:
+ ret = iCtsyDispatcherSimDispatcher->DispatchGetIccMessageWaitingIndicatorsL();
+ break;
+ case ECustomSimLockActivateIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchSimLockActivateL(aDataPackage);
+ break;
+ case ECustomSimLockDeActivateIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchSimLockDeActivateL(aDataPackage);
+ break;
+ case ECustomGetATRIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchGetAnswerToResetL(aDataPackage);
+ break;
+ case ECustomGetSimCardReaderStatusIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchGetSimCardReaderStatusL();
+ break;
+ case ECustomGetSimAuthenticationDataIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchGetSimAuthenticationDataL(aDataPackage);
+ break;
+ case ECustomPowerSimOffIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchPowerSimOffL();
+ break;
+ case ECustomPowerSimOnIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchPowerSimOnL();
+ break;
+ case ECustomReadSimFileIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchReadSimFileL(aDataPackage);
+ break;
+ case ECustomSendAPDUReqIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchSendApduRequestL(aDataPackage);
+ break;
+ case ECustomSendAPDUReqV2IPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchSendApduRequestV2L(aDataPackage);
+ break;
+ case ECustomSimWarmResetIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchSimWarmResetL();
+ break;
+ case ECustomSetSimMessageStatusReadIPC:
+ ret = iCtsyDispatcherSimDispatcher->DispatchSetSimMessageStatusReadL(aDataPackage);
+ break;
+
+ // Sms Functional Unit IPCs
+
+ case EMmTsyActivateSmsRouting:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchActivateSmsRoutingL();
+ break;
+ case EMmTsyDeactivateSmsRouting:
+ ret = KErrNone; //do nothing for deactivating sms routing
+ break;
+ case EMmTsySmsSendSatMessage:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchSendSatSmsL(aDataPackage);
+ break;
+ case EMobileSmsMessagingGetMessageStoreInfo:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchGetSmsStoreInfoL();
+ break;
+ case EMobileSmsMessagingGetSmspListPhase1:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchGetSmspListL();
+ break;
+ case EMobileSmsMessagingNackSmsStored:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchNackSmsStoredL(aDataPackage);
+ break;
+ case EMobileSmsMessagingAckSmsStored:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchAckSmsStoredL(aDataPackage);
+ break;
+ case EMobileSmsMessagingResumeSmsReception:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchResumeSmsReceptionL();
+ break;
+ case EMobileSmsMessagingSendMessage:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchSendSmsMessageL(aDataPackage);
+ break;
+ case EMobileSmsMessagingSendMessageNoFdnCheck:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchSendSmsMessageNoFdnCheckL(aDataPackage);
+ break;
+ case EMobileSmsMessagingSetMoSmsBearer:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchSetMoSmsBearerL(aDataPackage);
+ break;
+ case EMobileSmsMessagingStoreSmspList:
+ ret = iCtsyDispatcherSmsDispatcher->DispatchStoreSmspListEntryL(aDataPackage);
+ break;
+
+ // CallControlMultiparty Functional Unit IPCs
+
+ case EMobileConferenceCallHangUp:
+ ret = iCtsyDispatcherCallControlMultipartyDispatcher->DispatchConferenceHangUpL(aDataPackage);
+ break;
+ case EMobileConferenceCallAddCall:
+ ret = iCtsyDispatcherCallControlMultipartyDispatcher->DispatchConferenceAddCallL(aDataPackage);
+ break;
+ case EMobileConferenceCallCreateConference:
+ ret = iCtsyDispatcherCallControlMultipartyDispatcher->DispatchCreateConferenceL(aDataPackage);
+ break;
+ case EMobileConferenceCallSwap:
+ ret = iCtsyDispatcherCallControlMultipartyDispatcher->DispatchConferenceSwapL(aDataPackage);
+ break;
+ case EMobileCallGoOneToOne:
+ ret = iCtsyDispatcherCallControlMultipartyDispatcher->DispatchConferenceGoOneToOneL(aDataPackage);
+ break;
+
+ // SupplementaryServices Functional Unit IPCs
+
+ case EMobilePhoneSendNetworkServiceRequestNoFdnCheck:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSendNetworkServiceRequestNoFdnCheckL(aDataPackage);
+ break;
+ case EMobilePhoneGetWaitingStatusPhase1:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchGetCallWaitingStatusL();
+ break;
+ case EMobilePhoneSendNetworkServiceRequest:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSendNetworkServiceRequestL(aDataPackage);
+ break;
+ case EMobilePhoneGetBarringStatusPhase1:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchGetCallBarringStatusL(aDataPackage);
+ break;
+ case EMobilePhoneSetCallBarringStatus:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSetCallBarringStatusL(aDataPackage);
+ break;
+ case EMobilePhoneSetCallForwardingStatus:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSetCallForwardingStatusL(aDataPackage);
+ break;
+ case EMobilePhoneSetCallWaitingStatus:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSetCallWaitingStatusL(aDataPackage);
+ break;
+ case EMobilePhoneSetSSPassword:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSetSsPasswordL(aDataPackage);
+ break;
+ case EMobilePhoneGetCallForwardingStatusPhase1:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchGetCallForwardingStatusL(aDataPackage);
+ break;
+ case EMobileUssdMessagingSendMessage:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSendUssdMessageL(aDataPackage);
+ break;
+ case EMobileUssdMessagingSendMessageNoFdnCheck:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSendUssdMessageNoFdnCheckL(aDataPackage);
+ break;
+ case EMobileUssdMessagingSendRelease:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchSendUssdReleaseL();
+ break;
+ case ECustomClearCallBlackListIPC:
+ ret = iCtsyDispatcherSupplementaryServicesDispatcher->DispatchClearBlacklistL();
+ break;
+
+ // PacketServices Functional Unit IPCs
+
+ case EPacketAttach:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchPacketAttachL();
+ break;
+ case EPacketGetAttachMode:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetPacketAttachModeL(aDataPackage);
+ break;
+ case EPacketGetNtwkRegStatus:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetPacketNetworkRegistrationStatusL();
+ break;
+ case EPacketDetach:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchPacketDetachL();
+ break;
+ case EPacketContextSetConfig:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchSetPdpContextConfigL(aDataPackage);
+ break;
+ case EPacketContextModifyActiveContext:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchModifyActivePdpContextL(aDataPackage);
+ break;
+ case EPacketContextInitialiseContext:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchInitialisePdpContextL(aDataPackage);
+ break;
+ case EPacketContextDelete:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchDeletePdpContextL(aDataPackage);
+ break;
+ case EPacketSetAttachMode:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchSetPacketAttachModeL(aDataPackage);
+ break;
+ case EPacketNotifyStatusChange:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetStatusL();
+ break;
+ case EPacketSetDefaultContextParams:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchSetDefaultPdpContextParamsL(aDataPackage);
+ break;
+ case EPacketContextActivate:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchActivatePdpContextL(aDataPackage);
+ break;
+ case EPacketQoSSetProfileParams:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchSetPdpContextQosL(aDataPackage);
+ break;
+ case EPacketRejectActivationRequest:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchRejectNetworkInitiatedContextActivationRequestL();
+ break;
+ case EPacketContextDeactivate:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchDeactivatePdpContextL(aDataPackage);
+ break;
+ case EPacketContextAddPacketFilter:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchAddPacketFilterL(aDataPackage);
+ break;
+ case EPacketContextRemovePacketFilter:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchRemovePacketFilterL(aDataPackage);
+ break;
+ case EPacketInitProxiesIPC:
+ // deliberately not passed to Licensee LTSY
+ ret = KErrNone;
+ break;
+ case EPacketGetStaticCaps:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetStaticCapabilitiesL();
+ break;
+ case EPacketEnumerateMbmsMonitorServiceList:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetMaxNoMonitoredServiceListsL();
+ break;
+ case EPacketEnumerateMbmsActiveServiceList:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetMaxNoActiveServicesL();
+ break;
+ case ECtsyPacketMbmsInitialiseContextReq:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchInitialiseMbmsContextL(aDataPackage);
+ break;
+ case EPacketGetMbmsNetworkServiceStatus:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchGetMbmsNetworkServiceStatusL(aDataPackage);
+ break;
+ case EPacketUpdateMbmsMonitorServiceList:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchUpdateMbmsMonitorServiceListL(aDataPackage);
+ break;
+ case EPacketContextUpdateMbmsSessionList:
+ ret = iCtsyDispatcherPacketServicesDispatcher->DispatchUpdateMbmsSessionListL(aDataPackage);
+ break;
+
+ // Sat Functional Unit IPCs
+
+ case ESatTsySmsDeliverReport:
+ ret = iCtsyDispatcherSatDispatcher->DispatchSmsDeliverReportL(aDataPackage);
+ break;
+ case ESatTsyGetImageInstance:
+ ret = iCtsyDispatcherSatDispatcher->DispatchGetImageInstanceL(aDataPackage);
+ break;
+ case ESatTsyGetIMEI:
+ ret = iCtsyDispatcherPhoneDispatcher->DispatchGetPhoneIdL(KPhoneIdReqOriginSatFu);
+ break;
+ case ESatTsyGetIconData:
+ ret = iCtsyDispatcherSatDispatcher->DispatchGetIconDataL(aDataPackage);
+ break;
+ case ESatTsyGetClut:
+ ret = iCtsyDispatcherSatDispatcher->DispatchGetClutL(aDataPackage);
+ break;
+ case ESatTsyGetBearerCapability:
+ ret = iCtsyDispatcherSatDispatcher->DispatchGetDefaultBearerCapabilityL();
+ break;
+ case ESatTsySmsPpDdlStatus:
+ ret = iCtsyDispatcherSatDispatcher->DispatchSmsPpDdlStatusL();
+ break;
+ case ESatTsyMoSmsControlActivation:
+ ret = iCtsyDispatcherSatDispatcher->DispatchGetSmsControlActivatedL();
+ break;
+ case ESatTsyCellBroadcast:
+ ret = iCtsyDispatcherSatDispatcher->DispatchCellBroadcastL(aDataPackage);
+ break;
+ case ESatTsyAccTech:
+ ret = iCtsyDispatcherSatDispatcher->DispatchAccessTechnologyL();
+ break;
+ case ESatTsyTimingAdvance:
+ ret = iCtsyDispatcherSatDispatcher->DispatchTimingAdvanceL();
+ break;
+ case ESatNotifyMoSmControlRequest:
+ ret = iCtsyDispatcherSatDispatcher->DispatchNotifySmControlRequestL(aDataPackage);
+ break;
+ case ESatTsyProvideLocalInfo:
+ ret = iCtsyDispatcherSatDispatcher->DispatchProvideLocationInfoL();
+ break;
+ case ESatTsySetPolling:
+ ret = iCtsyDispatcherSatDispatcher->DispatchSetPollingIntervalL(aDataPackage);
+ break;
+ case ESatTsySmsPpDdl:
+ ret = iCtsyDispatcherSatDispatcher->DispatchSmsPpDdlL(aDataPackage);
+ break;
+ case ESatTsyLocalInformationNmr:
+ ret = iCtsyDispatcherSatDispatcher->DispatchLocalInformationNmrL();
+ break;
+ case ESatTsySendEnvelope:
+ ret = iCtsyDispatcherSatDispatcher->DispatchSendEnvelopeL(aDataPackage);
+ break;
+ case ESatTsyServiceRequest:
+ ret = iCtsyDispatcherSatDispatcher->DispatchServiceRequestL(aDataPackage);
+ break;
+ case ESatTsyReady:
+ ret = iCtsyDispatcherSatDispatcher->DispatchReadyL();
+ break;
+ case ESatTsyGetIfPendingNotification:
+ ret = iCtsyDispatcherSatDispatcher->DispatchPCmdNotificationL(aDataPackage);
+ break;
+ case ESatTsyEnvelopeError:
+ ret = iCtsyDispatcherSatDispatcher->DispatchUssdControlEnvelopeErrorL();
+ break;
+ case ESatTsyTimerExpiredIPC:
+ ret = iCtsyDispatcherSatDispatcher->DispatchTimerExpiredL(aDataPackage);
+ break;
+ case ESatTerminalRsp:
+ ret = iCtsyDispatcherSatDispatcher->DispatchTerminalRspL(aDataPackage);
+ break;
+ case ESatNotifySetUpCallPCmd:
+ //This IPC is called when a call connected envelope event is delayed because the terminal response to
+ //the set up call proactive command must be sent before the event download envelope.
+ //so this internal ipc just forwards the saved envelope to the event download api as normal.
+ ret = iCtsyDispatcherSatDispatcher->DispatchEventDownloadL(aDataPackage);
+ //ret = iCtsyDispatcherSatDispatcher->DispatchNotifySetUpCallPcmdL(aDataPackage);
+ break;
+ case ESatMenuSelection:
+ ret = iCtsyDispatcherSatDispatcher->DispatchMenuSelectionL(aDataPackage);
+ break;
+ case ESatEventDownload:
+ ret = iCtsyDispatcherSatDispatcher->DispatchEventDownloadL(aDataPackage);
+ break;
+ case ESatTsyUssdStatus:
+ ret = iCtsyDispatcherSatDispatcher->DispatchGetUssdControlSupportedL();
+ break;
+ default:
+ LOG(_L8("WARNING: CMessageRouter::ExtFuncL unhandled IPC=%d"), aIpc);
+ break;
+ } // switch (aIpc)
+
+ return TSYLOGSETEXITERR(ret);
+ } // CMessageRouter::ExtFuncL
+
+void CMessageRouter::HandleNotifyModemReadyReceivedL()
+ {
+ /*
+ * This is the first IPC that is sent from CtsyDispatcher->CTSY indicating modem
+ * is ready. We piggy-back on the back of this to now query what callback indicators
+ * are supported. We do it here rather than at construction because for some basebands
+ * it is possible this information must be read from configuration or even queried asynchronously.
+ * If it is async they can do it before invoking the CallbackBootNotifyModemStatusReady
+ *
+ */
+ QuerySupporterCallbackIndicators();
+
+ // Method to retrieve network related information which will get stored in various Ctsy caches.
+ RetrieveNetworkInfoL();
+ }
+
+void CMessageRouter::QuerySupporterCallbackIndicators()
+ {
+
+ // Query the support for all the callback indicators
+ // At present we do not do anything with this information (other than log it)
+ // but in the future we could link this up to
+ // registering for notifiers. So if a baseband does not support the notifier
+ // then client can be returned
+ // KErrNotSUpported rather than just never completing.
+
+ TUint32 indmask;
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchCallControlFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("CallControl indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchPhoneFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("Security indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchSecurityFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("CallControl indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchPhonebookEnFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("Phonebook EN indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchCellBroadcastFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("Cell Broadcast indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchPhonebookOnFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("Phonebook ON indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchPhonebookFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("Phonebook indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchSimFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("SIM indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchSmsFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("Sms indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchCallControlMultipartyFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("Call Control Multiparty indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchSupplementaryServicesFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("Supplementary Services indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchPacketServicesFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("Packet Services indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ iLtsyFactoryV1->IsCallbackIndicatorSupported(KDispatchSatFuncUnitId, EIndIdGroup1, indmask);
+ LOG(_L8("SAT indicator support. GroupID=%d, bitmask = 0x%x"), EIndIdGroup1, indmask);
+ }
+
+void CMessageRouter::RetrieveNetworkInfoL()
+ {
+ // Call methods to get various network information from the Ltsy
+ iCtsyDispatcherPhoneDispatcher->DispatchGetCurrentNetworkInfoL();
+ iCtsyDispatcherPhoneDispatcher->DispatchGetNetworkModeL();
+ iCtsyDispatcherPhoneDispatcher->DispatchGetNitzInfoL();
+ iCtsyDispatcherPhoneDispatcher->DispatchGetSignalStrengthL();
+ iCtsyDispatcherPhoneDispatcher->DispatchGetBatteryInfoL();
+ }