telephonyserverplugins/ctsydispatchlayer/src/cphonedispatcher.cpp
changeset 0 3553901f7fa8
child 19 630d2f34d719
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #include "cphonedispatcher.h"
       
    17 
       
    18 #include <ctsy/ltsy/mltsydispatchphoneinterface.h>
       
    19 #include <ctsy/pluginapi/mmmessagemanagercallback.h>
       
    20 #include <ctsy/serviceapi/mmtsy_ipcdefs.h>
       
    21 #include <ctsy/serviceapi/mmtsy_defaults.h>
       
    22 #include <ctsy/rmmcustomapi.h>
       
    23 
       
    24 #include <ctsy/ltsy/ltsylogger.h>
       
    25 #include "ctsydispatcherpanic.h"
       
    26 #include "cmessagerouter.h"
       
    27 #include "tdispatcherholder.h"
       
    28 #include <ctsy/ltsy/sat_defs.h>
       
    29 
       
    30 
       
    31 const TInt KImeiBufLength=16; //the structure defined in CSatNotifyLocalInfo was 16 bytes however ETSI TS 123 003 V7.7.0 specifies 15 bytes for IMEIs.
       
    32 
       
    33 CPhoneDispatcher::CPhoneDispatcher(
       
    34 		MLtsyDispatchFactoryV1& aLtsyFactory,
       
    35 		MmMessageManagerCallback& aMessageManagerCallback,
       
    36 		MmMessageManagerCallback& aSatMessageManagerCallback,
       
    37 		CRequestQueueOneShot& aRequestAsyncOneShot,
       
    38 		MBootSequenceCallbacks& aBootSequenceObserver)
       
    39 	: 	iLtsyFactoryV1(aLtsyFactory),
       
    40 		iMessageManagerCallback(aMessageManagerCallback),
       
    41 		iSatMessageManagerCallback(aSatMessageManagerCallback),
       
    42 		iRequestAsyncOneShot(aRequestAsyncOneShot),
       
    43 		iBootSequenceObserver(aBootSequenceObserver)
       
    44 	{
       
    45 	} // CPhoneDispatcher::CPhoneDispatcher
       
    46 
       
    47 	  
       
    48 CPhoneDispatcher::~CPhoneDispatcher()
       
    49 	{
       
    50 	delete iCellInfo;
       
    51 	} // CPhoneDispatcher::~CPhoneDispatcher
       
    52 
       
    53 
       
    54 CPhoneDispatcher* CPhoneDispatcher::NewLC(
       
    55 	MLtsyDispatchFactoryV1& aLtsyFactory,
       
    56 	MmMessageManagerCallback& aMessageManagerCallback,
       
    57 	MmMessageManagerCallback& aSatMessageManagerCallback,
       
    58 	CRequestQueueOneShot& aRequestAsyncOneShot,
       
    59 	MBootSequenceCallbacks& aBootSequenceObserver)
       
    60 	{
       
    61 	TSYLOGENTRYEXIT;
       
    62 	CPhoneDispatcher* self =
       
    63 		new (ELeave) CPhoneDispatcher(aLtsyFactory, aMessageManagerCallback, aSatMessageManagerCallback, aRequestAsyncOneShot, aBootSequenceObserver);
       
    64 	CleanupStack::PushL(self);
       
    65 	self->ConstructL();
       
    66 	return self;
       
    67 	} // CPhoneDispatcher::NewLC
       
    68 
       
    69 
       
    70 CPhoneDispatcher* CPhoneDispatcher::NewL(
       
    71 	MLtsyDispatchFactoryV1& aLtsyFactory,
       
    72 	MmMessageManagerCallback& aMessageManagerCallback,
       
    73 	MmMessageManagerCallback& aSatMessageManagerCallback,
       
    74 	CRequestQueueOneShot& aRequestAsyncOneShot,
       
    75 	MBootSequenceCallbacks& aBootSequenceObserver)
       
    76 	{
       
    77 	TSYLOGENTRYEXIT;
       
    78 	CPhoneDispatcher* self =
       
    79 		CPhoneDispatcher::NewLC(aLtsyFactory, aMessageManagerCallback, aSatMessageManagerCallback, aRequestAsyncOneShot, aBootSequenceObserver);
       
    80 	CleanupStack::Pop (self);
       
    81 	return self;
       
    82 	} // CPhoneDispatcher::NewL
       
    83 
       
    84 
       
    85 void CPhoneDispatcher::ConstructL()
       
    86 /**
       
    87  * Second phase constructor.
       
    88  */
       
    89 	{
       
    90 	TSYLOGENTRYEXIT;
       
    91 	
       
    92 	// Get the Licensee LTSY interfaces related to Phone functionality
       
    93 	// from the factory
       
    94 	
       
    95 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneBootNotifyModemStatusReady::KLtsyDispatchPhoneBootNotifyModemStatusReadyApiId))
       
    96 		{
       
    97 		TAny* bootNotifyModemStatusReadyInterface = NULL;
       
    98 		iLtsyFactoryV1.GetDispatchHandler(
       
    99 			MLtsyDispatchPhoneBootNotifyModemStatusReady::KLtsyDispatchPhoneBootNotifyModemStatusReadyApiId,
       
   100 			bootNotifyModemStatusReadyInterface);
       
   101 		iLtsyDispatchPhoneBootNotifyModemStatusReady =
       
   102 				static_cast<MLtsyDispatchPhoneBootNotifyModemStatusReady*>(bootNotifyModemStatusReadyInterface);
       
   103 		__ASSERT_DEBUG(iLtsyDispatchPhoneBootNotifyModemStatusReady, CtsyDispatcherPanic(EInvalidNullPtr));
       
   104 		}
       
   105 
       
   106 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneBootNotifySimStatusReady::KLtsyDispatchPhoneBootNotifySimStatusReadyApiId))
       
   107 		{
       
   108 	    TAny* getBootNotifySimStatusReadyInterface = NULL;
       
   109 	    iLtsyFactoryV1.GetDispatchHandler(
       
   110 	    		MLtsyDispatchPhoneBootNotifySimStatusReady::KLtsyDispatchPhoneBootNotifySimStatusReadyApiId,
       
   111 	    		getBootNotifySimStatusReadyInterface);
       
   112 		iLtsyDispatchPhoneBootNotifySimStatusReady =
       
   113 			static_cast<MLtsyDispatchPhoneBootNotifySimStatusReady*>(getBootNotifySimStatusReadyInterface);
       
   114         __ASSERT_DEBUG(iLtsyDispatchPhoneBootNotifySimStatusReady, CtsyDispatcherPanic(EInvalidNullPtr));
       
   115 		}
       
   116 
       
   117 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetFdnStatus::KLtsyDispatchPhoneGetFdnStatusApiId))
       
   118 		{
       
   119 	    TAny* getFdnStatusInterface = NULL;
       
   120 	    iLtsyFactoryV1.GetDispatchHandler(
       
   121 	    		MLtsyDispatchPhoneGetFdnStatus::KLtsyDispatchPhoneGetFdnStatusApiId,
       
   122 	    		getFdnStatusInterface);
       
   123 		iLtsyDispatchPhoneGetFdnStatus =
       
   124 			static_cast<MLtsyDispatchPhoneGetFdnStatus*>(getFdnStatusInterface);
       
   125   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetFdnStatus, CtsyDispatcherPanic(EInvalidNullPtr));
       
   126 		}
       
   127 
       
   128 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetNetworkRegistrationStatus::KLtsyDispatchPhoneGetNetworkRegistrationStatusApiId))
       
   129 		{
       
   130 	    TAny* getRegistrationStatusInterface = NULL;
       
   131 	    iLtsyFactoryV1.GetDispatchHandler(
       
   132 	    		MLtsyDispatchPhoneGetNetworkRegistrationStatus::KLtsyDispatchPhoneGetNetworkRegistrationStatusApiId,
       
   133 	    		getRegistrationStatusInterface);
       
   134 		iLtsyDispatchPhoneGetNetworkRegistrationStatus =
       
   135 			static_cast<MLtsyDispatchPhoneGetNetworkRegistrationStatus*>(getRegistrationStatusInterface);
       
   136   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetNetworkRegistrationStatus, CtsyDispatcherPanic(EInvalidNullPtr));
       
   137 		}
       
   138 
       
   139 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetHomeNetwork::KLtsyDispatchPhoneGetHomeNetworkApiId))
       
   140 		{
       
   141 	    TAny* getHomeNetworkInterface = NULL;
       
   142 	    iLtsyFactoryV1.GetDispatchHandler(
       
   143 	    		MLtsyDispatchPhoneGetHomeNetwork::KLtsyDispatchPhoneGetHomeNetworkApiId,
       
   144 	    		getHomeNetworkInterface);
       
   145 		iLtsyDispatchPhoneGetHomeNetwork =
       
   146 			static_cast<MLtsyDispatchPhoneGetHomeNetwork*>(getHomeNetworkInterface);
       
   147         __ASSERT_DEBUG(iLtsyDispatchPhoneGetHomeNetwork, CtsyDispatcherPanic(EInvalidNullPtr));
       
   148 		}
       
   149 
       
   150 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneSimRefreshRegister::KLtsyDispatchPhoneSimRefreshRegisterApiId))
       
   151 		{
       
   152 		TAny* simRefreshRegisterInterface = NULL;
       
   153 		iLtsyFactoryV1.GetDispatchHandler(
       
   154 		       	MLtsyDispatchPhoneSimRefreshRegister::KLtsyDispatchPhoneSimRefreshRegisterApiId,
       
   155 		       	simRefreshRegisterInterface);
       
   156 		iLtsyDispatchPhoneSimRefreshRegister =
       
   157 				static_cast<MLtsyDispatchPhoneSimRefreshRegister*>(simRefreshRegisterInterface);
       
   158         __ASSERT_DEBUG(iLtsyDispatchPhoneSimRefreshRegister, CtsyDispatcherPanic(EInvalidNullPtr));
       
   159   		}
       
   160 	
       
   161 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetServiceProviderName::KLtsyDispatchPhoneGetServiceProviderNameApiId))
       
   162 		{
       
   163 		TAny* getServiceProviderNameInterface = NULL;
       
   164 		iLtsyFactoryV1.GetDispatchHandler(
       
   165 		       	MLtsyDispatchPhoneGetServiceProviderName::KLtsyDispatchPhoneGetServiceProviderNameApiId,
       
   166 		       	getServiceProviderNameInterface);
       
   167 		iLtsyDispatchPhoneGetServiceProviderName =
       
   168 				static_cast<MLtsyDispatchPhoneGetServiceProviderName*>(getServiceProviderNameInterface);
       
   169         __ASSERT_DEBUG(iLtsyDispatchPhoneGetServiceProviderName, CtsyDispatcherPanic(EInvalidNullPtr));
       
   170   		}
       
   171 	
       
   172 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetPhoneId::KLtsyDispatchPhoneGetPhoneIdApiId))
       
   173 		{
       
   174 		TAny* getPhoneIdInterface = NULL;
       
   175 		iLtsyFactoryV1.GetDispatchHandler(
       
   176 		       	MLtsyDispatchPhoneGetPhoneId::KLtsyDispatchPhoneGetPhoneIdApiId,
       
   177 		       	getPhoneIdInterface);
       
   178 		iLtsyDispatchPhoneGetPhoneId =
       
   179 				static_cast<MLtsyDispatchPhoneGetPhoneId*>(getPhoneIdInterface);
       
   180         __ASSERT_DEBUG(iLtsyDispatchPhoneGetPhoneId, CtsyDispatcherPanic(EInvalidNullPtr));
       
   181   		}
       
   182 	
       
   183 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetDetectedNetworks::KLtsyDispatchPhoneGetDetectedNetworksApiId))
       
   184 		{
       
   185 		TAny* getDetectedNetworksInterface = NULL;
       
   186 		iLtsyFactoryV1.GetDispatchHandler(
       
   187 		       	MLtsyDispatchPhoneGetDetectedNetworks::KLtsyDispatchPhoneGetDetectedNetworksApiId,
       
   188 		       	getDetectedNetworksInterface);
       
   189 		iLtsyDispatchPhoneGetDetectedNetworks =
       
   190 				static_cast<MLtsyDispatchPhoneGetDetectedNetworks*>(getDetectedNetworksInterface);
       
   191         __ASSERT_DEBUG(iLtsyDispatchPhoneGetDetectedNetworks, CtsyDispatcherPanic(EInvalidNullPtr));
       
   192   		}
       
   193 	
       
   194 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetDetectedNetworksCancel::KLtsyDispatchPhoneGetDetectedNetworksCancelApiId))
       
   195 		{
       
   196 		TAny* getDetectedNetworksCancelInterface = NULL;
       
   197 		iLtsyFactoryV1.GetDispatchHandler(
       
   198 		       	MLtsyDispatchPhoneGetDetectedNetworksCancel::KLtsyDispatchPhoneGetDetectedNetworksCancelApiId,
       
   199 		       	getDetectedNetworksCancelInterface);
       
   200 		iLtsyDispatchPhoneGetDetectedNetworksCancel =
       
   201 				static_cast<MLtsyDispatchPhoneGetDetectedNetworksCancel*>(getDetectedNetworksCancelInterface);
       
   202         __ASSERT_DEBUG(iLtsyDispatchPhoneGetDetectedNetworksCancel, CtsyDispatcherPanic(EInvalidNullPtr));
       
   203   		}
       
   204 	
       
   205 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneSelectNetwork::KLtsyDispatchPhoneSelectNetworkApiId))
       
   206 		{
       
   207 		TAny* selectNetworkInterface = NULL;
       
   208 		iLtsyFactoryV1.GetDispatchHandler(
       
   209 		       	MLtsyDispatchPhoneSelectNetwork::KLtsyDispatchPhoneSelectNetworkApiId,
       
   210 		       	selectNetworkInterface);
       
   211 		iLtsyDispatchPhoneSelectNetwork =
       
   212 				static_cast<MLtsyDispatchPhoneSelectNetwork*>(selectNetworkInterface);
       
   213         __ASSERT_DEBUG(iLtsyDispatchPhoneSelectNetwork, CtsyDispatcherPanic(EInvalidNullPtr));
       
   214   		}
       
   215 	
       
   216 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneSelectNetworkCancel::KLtsyDispatchPhoneSelectNetworkCancelApiId))
       
   217 		{
       
   218 		TAny* selectNetworkCancelInterface = NULL;
       
   219 		iLtsyFactoryV1.GetDispatchHandler(
       
   220 		       	MLtsyDispatchPhoneSelectNetworkCancel::KLtsyDispatchPhoneSelectNetworkCancelApiId,
       
   221 		       	selectNetworkCancelInterface);
       
   222 		iLtsyDispatchPhoneSelectNetworkCancel =
       
   223 				static_cast<MLtsyDispatchPhoneSelectNetworkCancel*>(selectNetworkCancelInterface);
       
   224         __ASSERT_DEBUG(iLtsyDispatchPhoneSelectNetworkCancel, CtsyDispatcherPanic(EInvalidNullPtr));
       
   225   		}
       
   226 	
       
   227 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneSetNetworkSelectionSetting::KLtsyDispatchPhoneSetNetworkSelectionSettingApiId))
       
   228 		{
       
   229 		TAny* setNetworkSelectionSettingInterface = NULL;
       
   230 		iLtsyFactoryV1.GetDispatchHandler(
       
   231 		       	MLtsyDispatchPhoneSetNetworkSelectionSetting::KLtsyDispatchPhoneSetNetworkSelectionSettingApiId,
       
   232 		       	setNetworkSelectionSettingInterface);
       
   233 		iLtsyDispatchPhoneSetNetworkSelectionSetting =
       
   234 				static_cast<MLtsyDispatchPhoneSetNetworkSelectionSetting*>(setNetworkSelectionSettingInterface);
       
   235         __ASSERT_DEBUG(iLtsyDispatchPhoneSetNetworkSelectionSetting, CtsyDispatcherPanic(EInvalidNullPtr));
       
   236   		}
       
   237 	
       
   238 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetCurrentNetworkInfo::KLtsyDispatchPhoneGetCurrentNetworkInfoApiId))
       
   239 		{
       
   240 	    TAny* getCurrentNetworkInfo = NULL;
       
   241 	    iLtsyFactoryV1.GetDispatchHandler(
       
   242 	    		MLtsyDispatchPhoneGetCurrentNetworkInfo::KLtsyDispatchPhoneGetCurrentNetworkInfoApiId,
       
   243 	    		getCurrentNetworkInfo);
       
   244 	    iLtsyDispatchPhoneGetCurrentNetworkInfo = 
       
   245 				static_cast<MLtsyDispatchPhoneGetCurrentNetworkInfo*>(getCurrentNetworkInfo);
       
   246   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetCurrentNetworkInfo, CtsyDispatcherPanic(EInvalidNullPtr));
       
   247 		}
       
   248 
       
   249 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetNetworkMode::KLtsyDispatchPhoneGetNetworkModeApiId))
       
   250 		{
       
   251 	    TAny* getNetworkMode = NULL;
       
   252 	    iLtsyFactoryV1.GetDispatchHandler(
       
   253 	    		MLtsyDispatchPhoneGetNetworkMode::KLtsyDispatchPhoneGetNetworkModeApiId,
       
   254 	    		getNetworkMode);
       
   255 	    iLtsyDispatchPhoneGetNetworkMode = 
       
   256 				static_cast<MLtsyDispatchPhoneGetNetworkMode*>(getNetworkMode);
       
   257   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetNetworkMode, CtsyDispatcherPanic(EInvalidNullPtr));
       
   258 		}
       
   259 	
       
   260 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetNitzInfo::KLtsyDispatchPhoneGetNitzInfoApiId))
       
   261 		{
       
   262 	    TAny* getNitzInfo = NULL;
       
   263 	    iLtsyFactoryV1.GetDispatchHandler(
       
   264 	    		MLtsyDispatchPhoneGetNitzInfo::KLtsyDispatchPhoneGetNitzInfoApiId,
       
   265 	    		getNitzInfo);
       
   266 	    iLtsyDispatchPhoneGetNitzInfo = 
       
   267 				static_cast<MLtsyDispatchPhoneGetNitzInfo*>(getNitzInfo);
       
   268   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetNitzInfo, CtsyDispatcherPanic(EInvalidNullPtr));
       
   269 		}
       
   270 	
       
   271 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetSignalStrength::KLtsyDispatchPhoneGetSignalStrengthApiId))
       
   272 		{
       
   273 	    TAny* getSignalStrength = NULL;
       
   274 	    iLtsyFactoryV1.GetDispatchHandler(
       
   275 	    		MLtsyDispatchPhoneGetSignalStrength::KLtsyDispatchPhoneGetSignalStrengthApiId,
       
   276 	    		getSignalStrength);
       
   277 	    iLtsyDispatchPhoneGetSignalStrength =
       
   278 				static_cast<MLtsyDispatchPhoneGetSignalStrength*>(getSignalStrength);
       
   279   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetSignalStrength, CtsyDispatcherPanic(EInvalidNullPtr));
       
   280 		}
       
   281 
       
   282 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetBatteryInfo::KLtsyDispatchPhoneGetBatteryInfoApiId))
       
   283 		{
       
   284 	    TAny* getBatteryInfo = NULL;
       
   285 	    iLtsyFactoryV1.GetDispatchHandler(
       
   286 	    		MLtsyDispatchPhoneGetBatteryInfo::KLtsyDispatchPhoneGetBatteryInfoApiId,
       
   287 	    		getBatteryInfo);
       
   288 	    iLtsyDispatchPhoneGetBatteryInfo = 
       
   289 				static_cast<MLtsyDispatchPhoneGetBatteryInfo*>(getBatteryInfo);
       
   290   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetBatteryInfo, CtsyDispatcherPanic(EInvalidNullPtr));
       
   291 		}
       
   292 
       
   293 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneNspsWakeup::KLtsyDispatchPhoneNspsWakeupApiId))
       
   294 		{
       
   295 	    TAny* nspsWakeup = NULL;
       
   296 	    iLtsyFactoryV1.GetDispatchHandler(
       
   297 	    		MLtsyDispatchPhoneNspsWakeup::KLtsyDispatchPhoneNspsWakeupApiId,
       
   298 	    		nspsWakeup);
       
   299 	    iLtsyDispatchPhoneNspsWakeup = 
       
   300 				static_cast<MLtsyDispatchPhoneNspsWakeup*>(nspsWakeup);
       
   301   		__ASSERT_DEBUG(iLtsyDispatchPhoneNspsWakeup, CtsyDispatcherPanic(EInvalidNullPtr));
       
   302 		}
       
   303 
       
   304 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneSetSystemNetworkMode::KLtsyDispatchPhoneSetSystemNetworkModeApiId))
       
   305 		{
       
   306 	    TAny* setSystemNetworkMode = NULL;
       
   307 	    iLtsyFactoryV1.GetDispatchHandler(
       
   308 	    		MLtsyDispatchPhoneSetSystemNetworkMode::KLtsyDispatchPhoneSetSystemNetworkModeApiId,
       
   309 	    		setSystemNetworkMode);
       
   310 	    iLtsyDispatchPhoneSetSystemNetworkMode = 
       
   311 				static_cast<MLtsyDispatchPhoneSetSystemNetworkMode*>(setSystemNetworkMode);
       
   312   		__ASSERT_DEBUG(iLtsyDispatchPhoneSetSystemNetworkMode, CtsyDispatcherPanic(EInvalidNullPtr));
       
   313 		}
       
   314 
       
   315 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetCurrentSystemNetworkModes::KLtsyDispatchPhoneGetCurrentSystemNetworkModesApiId))
       
   316 		{
       
   317 	    TAny* getCurrentSystemNetworkModes = NULL;
       
   318 	    iLtsyFactoryV1.GetDispatchHandler(
       
   319 	    		MLtsyDispatchPhoneGetCurrentSystemNetworkModes::KLtsyDispatchPhoneGetCurrentSystemNetworkModesApiId,
       
   320 	    		getCurrentSystemNetworkModes);
       
   321 	    iLtsyDispatchPhoneGetCurrentSystemNetworkModes = 
       
   322 				static_cast<MLtsyDispatchPhoneGetCurrentSystemNetworkModes*>(getCurrentSystemNetworkModes);
       
   323   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetCurrentSystemNetworkModes, CtsyDispatcherPanic(EInvalidNullPtr));
       
   324 		}
       
   325 
       
   326 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneResetNetServer::KLtsyDispatchPhoneResetNetServerApiId))
       
   327 		{
       
   328 	    TAny* resetNetServer = NULL;
       
   329 	    iLtsyFactoryV1.GetDispatchHandler(
       
   330 	    		MLtsyDispatchPhoneResetNetServer::KLtsyDispatchPhoneResetNetServerApiId,
       
   331 	    		resetNetServer);
       
   332 	    iLtsyDispatchPhoneResetNetServer = 
       
   333 				static_cast<MLtsyDispatchPhoneResetNetServer*>(resetNetServer);
       
   334   		__ASSERT_DEBUG(iLtsyDispatchPhoneResetNetServer, CtsyDispatcherPanic(EInvalidNullPtr));
       
   335 		}
       
   336 
       
   337 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneSetAlwaysOnMode::KLtsyDispatchPhoneSetAlwaysOnModeApiId))
       
   338 		{
       
   339 	    TAny* setAlwaysOnMode = NULL;
       
   340 	    iLtsyFactoryV1.GetDispatchHandler(
       
   341 	    		MLtsyDispatchPhoneSetAlwaysOnMode::KLtsyDispatchPhoneSetAlwaysOnModeApiId,
       
   342 	    		setAlwaysOnMode);
       
   343 	    iLtsyDispatchPhoneSetAlwaysOnMode = 
       
   344 				static_cast<MLtsyDispatchPhoneSetAlwaysOnMode*>(setAlwaysOnMode);
       
   345   		__ASSERT_DEBUG(iLtsyDispatchPhoneSetAlwaysOnMode, CtsyDispatcherPanic(EInvalidNullPtr));
       
   346 		}
       
   347 
       
   348 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneSetDriveMode::KLtsyDispatchPhoneSetDriveModeApiId))
       
   349 		{
       
   350 	    TAny* setDriveMode = NULL;
       
   351 	    iLtsyFactoryV1.GetDispatchHandler(
       
   352 	    		MLtsyDispatchPhoneSetDriveMode::KLtsyDispatchPhoneSetDriveModeApiId,
       
   353 	    		setDriveMode);
       
   354 	    iLtsyDispatchPhoneSetDriveMode = 
       
   355 				static_cast<MLtsyDispatchPhoneSetDriveMode*>(setDriveMode);
       
   356   		__ASSERT_DEBUG(iLtsyDispatchPhoneSetDriveMode, CtsyDispatcherPanic(EInvalidNullPtr));
       
   357 		}
       
   358 
       
   359 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetHspaStatus::KLtsyDispatchPhoneGetHspaStatusApiId))
       
   360 		{
       
   361 	    TAny* getHspaStatus = NULL;
       
   362 	    iLtsyFactoryV1.GetDispatchHandler(
       
   363 	    		MLtsyDispatchPhoneGetHspaStatus::KLtsyDispatchPhoneGetHspaStatusApiId,
       
   364 	    		getHspaStatus);
       
   365 	    iLtsyDispatchPhoneGetHspaStatus = 
       
   366 				static_cast<MLtsyDispatchPhoneGetHspaStatus*>(getHspaStatus);
       
   367   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetHspaStatus, CtsyDispatcherPanic(EInvalidNullPtr));
       
   368 		}
       
   369 
       
   370 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneSetHspaStatus::KLtsyDispatchPhoneSetHspaStatusApiId))
       
   371 		{
       
   372 	    TAny* setHspaStatus = NULL;
       
   373 	    iLtsyFactoryV1.GetDispatchHandler(
       
   374 	    		MLtsyDispatchPhoneSetHspaStatus::KLtsyDispatchPhoneSetHspaStatusApiId,
       
   375 	    		setHspaStatus);
       
   376 	    iLtsyDispatchPhoneSetHspaStatus = 
       
   377 				static_cast<MLtsyDispatchPhoneSetHspaStatus*>(setHspaStatus);
       
   378   		__ASSERT_DEBUG(iLtsyDispatchPhoneSetHspaStatus, CtsyDispatcherPanic(EInvalidNullPtr));
       
   379 		}
       
   380 
       
   381 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetNetworkProviderName::KLtsyDispatchPhoneGetNetworkProviderNameApiId))
       
   382 		{
       
   383 	    TAny* getNetworkProviderName = NULL;
       
   384 	    iLtsyFactoryV1.GetDispatchHandler(
       
   385 	    		MLtsyDispatchPhoneGetNetworkProviderName::KLtsyDispatchPhoneGetNetworkProviderNameApiId,
       
   386 	    		getNetworkProviderName);
       
   387 	    iLtsyDispatchPhoneGetNetworkProviderName = 
       
   388 				static_cast<MLtsyDispatchPhoneGetNetworkProviderName*>(getNetworkProviderName);
       
   389   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetNetworkProviderName, CtsyDispatcherPanic(EInvalidNullPtr));
       
   390 		}
       
   391 
       
   392 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetOperatorName::KLtsyDispatchPhoneGetOperatorNameApiId))
       
   393 		{
       
   394 	    TAny* getOperatorName = NULL;
       
   395 	    iLtsyFactoryV1.GetDispatchHandler(
       
   396 	    		MLtsyDispatchPhoneGetOperatorName::KLtsyDispatchPhoneGetOperatorNameApiId,
       
   397 	    		getOperatorName);
       
   398 	    iLtsyDispatchPhoneGetOperatorName = 
       
   399 				static_cast<MLtsyDispatchPhoneGetOperatorName*>(getOperatorName);
       
   400   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetOperatorName, CtsyDispatcherPanic(EInvalidNullPtr));
       
   401 		}
       
   402 
       
   403 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetCellInfo::KLtsyDispatchPhoneGetCellInfoApiId))
       
   404 		{
       
   405 	    TAny* getCellInfo = NULL;
       
   406 	    iLtsyFactoryV1.GetDispatchHandler(
       
   407 	    		MLtsyDispatchPhoneGetCellInfo::KLtsyDispatchPhoneGetCellInfoApiId,
       
   408 	    		getCellInfo);
       
   409 	    iLtsyDispatchPhoneGetCellInfo = 
       
   410 				static_cast<MLtsyDispatchPhoneGetCellInfo*>(getCellInfo);
       
   411   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetCellInfo, CtsyDispatcherPanic(EInvalidNullPtr));
       
   412 		}
       
   413 	
       
   414 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneRegisterCellInfoChangeNotification::KLtsyDispatchPhoneRegisterCellInfoChangeNotificationApiId))
       
   415 		{
       
   416 		TAny* registerCellInfoChangeNotification = NULL;
       
   417 	    iLtsyFactoryV1.GetDispatchHandler(
       
   418 	    		MLtsyDispatchPhoneRegisterCellInfoChangeNotification::KLtsyDispatchPhoneRegisterCellInfoChangeNotificationApiId,
       
   419 	    		registerCellInfoChangeNotification);
       
   420 	    iLtsyDispatchPhoneRegisterCellInfoChangeNotification = 
       
   421 				static_cast<MLtsyDispatchPhoneRegisterCellInfoChangeNotification*>(registerCellInfoChangeNotification);
       
   422   		__ASSERT_DEBUG(iLtsyDispatchPhoneRegisterCellInfoChangeNotification, CtsyDispatcherPanic(EInvalidNullPtr));
       
   423 		}
       
   424 	
       
   425 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetPhoneCellInfo::KLtsyDispatchPhoneGetPhoneCellInfoApiId))
       
   426 		{
       
   427 	    TAny* getPhoneCellInfo = NULL;
       
   428 	    iLtsyFactoryV1.GetDispatchHandler(
       
   429 	    		MLtsyDispatchPhoneGetPhoneCellInfo::KLtsyDispatchPhoneGetPhoneCellInfoApiId,
       
   430 	    		getPhoneCellInfo);
       
   431 	    iLtsyDispatchPhoneGetPhoneCellInfo = 
       
   432 				static_cast<MLtsyDispatchPhoneGetPhoneCellInfo*>(getPhoneCellInfo);
       
   433   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetPhoneCellInfo, CtsyDispatcherPanic(EInvalidNullPtr));
       
   434 		}
       
   435 	
       
   436 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetUsimServiceSupport::KLtsyDispatchPhoneGetUsimServiceSupportApiId))
       
   437 		{
       
   438 	    TAny* getUsimServiceSupport = NULL;
       
   439 	    iLtsyFactoryV1.GetDispatchHandler(
       
   440 	    		MLtsyDispatchPhoneGetUsimServiceSupport::KLtsyDispatchPhoneGetUsimServiceSupportApiId,
       
   441 	    		getUsimServiceSupport);
       
   442 	    iLtsyDispatchPhoneGetUsimServiceSupport = 
       
   443 				static_cast<MLtsyDispatchPhoneGetUsimServiceSupport*>(getUsimServiceSupport);
       
   444   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetUsimServiceSupport, CtsyDispatcherPanic(EInvalidNullPtr));
       
   445 		}
       
   446 	
       
   447 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneTerminateAllCalls::KLtsyDispatchPhoneTerminateAllCallsApiId))
       
   448 		{
       
   449 	    TAny* terminateAllCalls = NULL;
       
   450 	    iLtsyFactoryV1.GetDispatchHandler(
       
   451 	    		MLtsyDispatchPhoneTerminateAllCalls::KLtsyDispatchPhoneTerminateAllCallsApiId,
       
   452 	    		terminateAllCalls);
       
   453 	    iLtsyDispatchPhoneTerminateAllCalls= 
       
   454 				static_cast<MLtsyDispatchPhoneTerminateAllCalls*>(terminateAllCalls);
       
   455   		__ASSERT_DEBUG(iLtsyDispatchPhoneTerminateAllCalls, CtsyDispatcherPanic(EInvalidNullPtr));
       
   456 		}
       
   457 
       
   458 
       
   459 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetCurrentActiveUsimApplication::KLtsyDispatchPhoneGetCurrentActiveUsimApplicationApiId))
       
   460 		{
       
   461 	    TAny* getCurrentActiveUsimApplication = NULL;
       
   462 	    iLtsyFactoryV1.GetDispatchHandler(
       
   463 	    		MLtsyDispatchPhoneGetCurrentActiveUsimApplication::KLtsyDispatchPhoneGetCurrentActiveUsimApplicationApiId,
       
   464 	    		getCurrentActiveUsimApplication);
       
   465 	    iLtsyDispatchPhoneGetCurrentActiveUsimApplication = 
       
   466 				static_cast<MLtsyDispatchPhoneGetCurrentActiveUsimApplication*>(getCurrentActiveUsimApplication);
       
   467   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetCurrentActiveUsimApplication, CtsyDispatcherPanic(EInvalidNullPtr));
       
   468 		}
       
   469 	
       
   470 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneGetSystemNetworkBand::KLtsyDispatchPhoneGetSystemNetworkBandApiId))
       
   471 		{
       
   472 	    TAny* getSystemNetworkBand = NULL;
       
   473 	    iLtsyFactoryV1.GetDispatchHandler(
       
   474 	    		MLtsyDispatchPhoneGetSystemNetworkBand::KLtsyDispatchPhoneGetSystemNetworkBandApiId,
       
   475 	    		getSystemNetworkBand);
       
   476 	    iLtsyDispatchPhoneGetSystemNetworkBand = 
       
   477 				static_cast<MLtsyDispatchPhoneGetSystemNetworkBand*>(getSystemNetworkBand);
       
   478   		__ASSERT_DEBUG(iLtsyDispatchPhoneGetSystemNetworkBand, CtsyDispatcherPanic(EInvalidNullPtr));
       
   479 		}
       
   480 	
       
   481 	if(iLtsyFactoryV1.IsDispatchInterfaceSupported(KDispatchPhoneFuncUnitId, MLtsyDispatchPhoneSetSystemNetworkBand::KLtsyDispatchPhoneSetSystemNetworkBandApiId))
       
   482 		{
       
   483 	    TAny* setSystemNetworkBand = NULL;
       
   484 	    iLtsyFactoryV1.GetDispatchHandler(
       
   485 	    		MLtsyDispatchPhoneSetSystemNetworkBand::KLtsyDispatchPhoneSetSystemNetworkBandApiId,
       
   486 	    		setSystemNetworkBand);
       
   487 	    iLtsyDispatchPhoneSetSystemNetworkBand = 
       
   488 				static_cast<MLtsyDispatchPhoneSetSystemNetworkBand*>(setSystemNetworkBand);
       
   489   		__ASSERT_DEBUG(iLtsyDispatchPhoneSetSystemNetworkBand, CtsyDispatcherPanic(EInvalidNullPtr));
       
   490 		}
       
   491 
       
   492 
       
   493 	
       
   494 	iCellInfo = new(ELeave) RMmCustomAPI::TMmCellInfo; 
       
   495 	} // CPhoneDispatcher::ConstructL
       
   496 
       
   497 void CPhoneDispatcher::SetDispatcherHolder(TDispatcherHolder& aDispatcherHolder)
       
   498 /**
       
   499  * Set the dispatcher holder.  
       
   500  * 
       
   501  * @param aDispatcherHolder Reference to dispatcher holder.
       
   502  */
       
   503 	{
       
   504 	TSYLOGENTRYEXIT;
       
   505 	
       
   506 	iDispatcherHolder = &aDispatcherHolder;
       
   507 	} // CPhoneDispatcher::SetDispatcherHolder
       
   508 	
       
   509 TInt CPhoneDispatcher::DispatchGetFdnStatusL()
       
   510 /**
       
   511  * Pass an EMobilePhoneGetFdnStatus request on to Licensee LTSY.
       
   512  * 
       
   513  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   514  * the Licensee LTSY does not support this request.
       
   515  */
       
   516 	{
       
   517 	TSYLOGENTRYEXIT;
       
   518 	TInt ret = KErrNotSupported;
       
   519 
       
   520 	if (iLtsyDispatchPhoneGetFdnStatus)
       
   521 		{
       
   522 		ret = iLtsyDispatchPhoneGetFdnStatus->HandleGetFdnStatusReqL();
       
   523 		}
       
   524 	
       
   525 	return TSYLOGSETEXITERR(ret); 
       
   526 	} // CPhoneDispatcher::DispatchGetFdnStatusL
       
   527 
       
   528 
       
   529 TInt CPhoneDispatcher::DispatchGetNetworkRegistrationStatusL()
       
   530 /**
       
   531  * Pass an EMobilePhoneGetNetworkRegistrationStatus request on to Licensee LTSY.
       
   532  * 
       
   533  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   534  * the Licensee LTSY does not support this request.
       
   535  */
       
   536 	{
       
   537 	TSYLOGENTRYEXIT;
       
   538 	TInt ret = KErrNotSupported;
       
   539 
       
   540 	// Call Handle... method in Licensee LTSY
       
   541 	if (iLtsyDispatchPhoneGetNetworkRegistrationStatus)
       
   542 		{
       
   543 		ret = iLtsyDispatchPhoneGetNetworkRegistrationStatus->HandleGetNetworkRegistrationStatusReqL();
       
   544 		}
       
   545 	
       
   546 	return TSYLOGSETEXITERR(ret); 	
       
   547 	} // CPhoneDispatcher::DispatchGetNetworkRegistrationStatusL
       
   548 
       
   549 
       
   550 TInt CPhoneDispatcher::DispatchGetHomeNetworkL()
       
   551 /**
       
   552  * Pass an EMobilePhoneGetHomeNetwork request on to Licensee LTSY.
       
   553  * 
       
   554  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   555  * the Licensee LTSY does not support this request.
       
   556  */
       
   557 	{
       
   558 	TSYLOGENTRYEXIT;
       
   559 	TInt ret = KErrNotSupported;
       
   560 
       
   561 	// Call Handle... method in Licensee LTSY
       
   562 	if (iLtsyDispatchPhoneGetHomeNetwork)
       
   563 		{
       
   564 		ret = iLtsyDispatchPhoneGetHomeNetwork->HandleGetHomeNetworkReqL();
       
   565 		}
       
   566 		
       
   567 	return TSYLOGSETEXITERR(ret);	
       
   568 	} // CPhoneDispatcher::DispatchGetHomeNetworkL
       
   569 
       
   570 
       
   571 TInt CPhoneDispatcher::DispatchBootNotifyModemStatusReadyL()
       
   572 /**
       
   573  * Pass an EMmTsyBootNotifyModemStatusReadyIPC request on to Licensee LTSY.
       
   574  * 
       
   575  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   576  * the Licensee LTSY does not support this request.
       
   577  */
       
   578 	{
       
   579 	TSYLOGENTRYEXIT;
       
   580 	TInt ret = KErrNotSupported;
       
   581 
       
   582 	// Call Handle... method in Licensee LTSY
       
   583 	if (iLtsyDispatchPhoneBootNotifyModemStatusReady)
       
   584 		{
       
   585 		ret = iLtsyDispatchPhoneBootNotifyModemStatusReady->HandleBootNotifyModemStatusReadyReqL();
       
   586 		}
       
   587 		
       
   588 	return TSYLOGSETEXITERR(ret);	
       
   589 	} // CPhoneDispatcher::DispatchBootNotifyModemStatusReadyL
       
   590 
       
   591 
       
   592 TInt CPhoneDispatcher::DispatchBootNotifySimStatusReadyL()
       
   593 /**
       
   594  * Pass an EMmTsyBootNotifySimStatusReadyIPC request on to Licensee LTSY.
       
   595  * 
       
   596  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   597  * the Licensee LTSY does not support this request.
       
   598  */
       
   599 	{
       
   600 	TSYLOGENTRYEXIT;
       
   601 	TInt ret = KErrNotSupported;
       
   602 
       
   603 	// Call Handle... method in Licensee LTSY
       
   604 	if (iLtsyDispatchPhoneBootNotifySimStatusReady)
       
   605 		{
       
   606 		ret = iLtsyDispatchPhoneBootNotifySimStatusReady->HandleBootNotifySimStatusReadyReqL();
       
   607 		}
       
   608 		
       
   609 	return TSYLOGSETEXITERR(ret);	
       
   610 	} // CPhoneDispatcher::DispatchBootNotifySimStatusReadyL
       
   611 
       
   612 
       
   613 TInt CPhoneDispatcher::DispatchSimRefreshRegisterL(const CMmDataPackage* aDataPackage)
       
   614 /**
       
   615  * Unpack data related to EMmTsySimRefreshRegisterIPC
       
   616  * and pass request on to Licensee LTSY.
       
   617  * 
       
   618  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   619  * the Licensee LTSY does not support this request.
       
   620  */
       
   621 	{
       
   622 	TSYLOGENTRYEXIT;
       
   623 	TInt ret = KErrNotSupported;
       
   624 
       
   625 	__ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
       
   626 
       
   627 	if (iLtsyDispatchPhoneSimRefreshRegister)
       
   628 		{
       
   629 		TUint16 refreshFileList = 0;
       
   630 		aDataPackage->UnPackData(refreshFileList); 
       
   631 			
       
   632 		ret = iLtsyDispatchPhoneSimRefreshRegister->HandleSimRefreshRegisterReqL(refreshFileList); 
       
   633 		}  
       
   634 	
       
   635 	return TSYLOGSETEXITERR(ret);	
       
   636 	} // CPhoneDispatcher::DispatchSimRefreshRegisterL
       
   637 
       
   638 
       
   639 TInt CPhoneDispatcher::DispatchGetServiceProviderNameL()
       
   640 /**
       
   641  * Pass an EMobilePhoneGetServiceProviderName request on to Licensee LTSY.
       
   642  *
       
   643  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   644  * the Licensee LTSY does not support this request.
       
   645  */
       
   646 	{
       
   647 	TSYLOGENTRYEXIT;
       
   648 	TInt ret = KErrNotSupported;
       
   649 
       
   650 	//no data to unpack
       
   651 
       
   652 	// Call Handle... method in Licensee LTSY
       
   653 	if (iLtsyDispatchPhoneGetServiceProviderName)
       
   654 		{
       
   655 		ret = iLtsyDispatchPhoneGetServiceProviderName->HandleGetServiceProviderNameReqL();
       
   656 		}
       
   657 
       
   658 	return TSYLOGSETEXITERR(ret);
       
   659 	} // CPhoneDispatcher::DispatchGetServiceProviderNameL
       
   660 
       
   661 TInt CPhoneDispatcher::DispatchGetPhoneIdL(TUint aRequestOrigin)
       
   662 /**
       
   663  * Unpack data related to EMobilePhoneGetPhoneId
       
   664  * and pass request on to Licensee LTSY.
       
   665  *
       
   666  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   667  * the Licensee LTSY does not support this request.
       
   668  */
       
   669 	{
       
   670 	TSYLOGENTRYEXIT;
       
   671 	TInt ret = KErrNotSupported;
       
   672 
       
   673 	// Call Handle... method in Licensee LTSY
       
   674 	if (iLtsyDispatchPhoneGetPhoneId && 0==iPhoneIdReqOrigin) 
       
   675 		{
       
   676 		ret = iLtsyDispatchPhoneGetPhoneId->HandleGetPhoneIdReqL();
       
   677 		}
       
   678 	iPhoneIdReqOrigin |= aRequestOrigin;
       
   679 
       
   680 	return TSYLOGSETEXITERR(ret);
       
   681 	} // CPhoneDispatcher::DispatchGetPhoneIdL
       
   682 
       
   683 TInt CPhoneDispatcher::DispatchGetDetectedNetworksL()
       
   684 /**
       
   685  * Pass an EMobilePhoneGetDetectedNetworksV2Phase1 request on to Licensee LTSY.
       
   686  * 
       
   687  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   688  * the Licensee LTSY does not support this request.
       
   689  */
       
   690 	{
       
   691 	TSYLOGENTRYEXIT;
       
   692 	TInt ret = KErrNotSupported;
       
   693 
       
   694 	// Call Handle... method in Licensee LTSY
       
   695 	if (iLtsyDispatchPhoneGetDetectedNetworks)
       
   696 		{
       
   697 		ret = iLtsyDispatchPhoneGetDetectedNetworks->HandleGetDetectedNetworksReqL();
       
   698 		}
       
   699 
       
   700 	return TSYLOGSETEXITERR(ret);
       
   701 	} // CPhoneDispatcher::DispatchGetDetectedNetworksL
       
   702 
       
   703 TInt CPhoneDispatcher::DispatchGetDetectedNetworksCancelL()
       
   704 /**
       
   705  * Pass an EMobilePhoneGetDetectedNetworksCancel request on to Licensee LTSY.
       
   706  * 
       
   707  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   708  * the Licensee LTSY does not support this request.
       
   709  */
       
   710 	{
       
   711 	TSYLOGENTRYEXIT;
       
   712 	TInt ret = KErrNotSupported;
       
   713 
       
   714 	// Call Handle... method in Licensee LTSY
       
   715 	if (iLtsyDispatchPhoneGetDetectedNetworksCancel)
       
   716 		{
       
   717 		ret = iLtsyDispatchPhoneGetDetectedNetworksCancel->HandleGetDetectedNetworksCancelReqL();
       
   718 		}
       
   719 
       
   720 	return TSYLOGSETEXITERR(ret);
       
   721 	} // CPhoneDispatcher::DispatchGetDetectedNetworksCancelL
       
   722 
       
   723 TInt CPhoneDispatcher::DispatchSelectNetworkL(const CMmDataPackage* aDataPackage)
       
   724 /**
       
   725  * Unpack data related to EMobilePhoneSelectNetwork
       
   726  * and pass request on to Licensee LTSY.
       
   727  *
       
   728  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   729  * the Licensee LTSY does not support this request.
       
   730  */
       
   731 	{
       
   732 	TSYLOGENTRYEXIT;
       
   733 	TInt ret = KErrNotSupported;
       
   734 
       
   735 	__ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
       
   736 
       
   737 	
       
   738 	// Call Handle... method in Licensee LTSY
       
   739 	if (iLtsyDispatchPhoneSelectNetwork)
       
   740 		{
       
   741 		TBool* isManual = NULL;
       
   742 		RMobilePhone::TMobilePhoneNetworkManualSelection* networkManualSelection = NULL;
       
   743 
       
   744 		aDataPackage->UnPackData(&isManual, &networkManualSelection);
       
   745 		
       
   746 		__ASSERT_DEBUG(isManual, CtsyDispatcherPanic(EInvalidNullPtr));
       
   747 		__ASSERT_DEBUG(networkManualSelection, CtsyDispatcherPanic(EInvalidNullPtr));		
       
   748 			
       
   749 		ret = iLtsyDispatchPhoneSelectNetwork->HandleSelectNetworkReqL(*isManual, *networkManualSelection);
       
   750 		}
       
   751 
       
   752 	return TSYLOGSETEXITERR(ret);
       
   753 	} // CPhoneDispatcher::DispatchSelectNetworkL
       
   754 
       
   755 TInt CPhoneDispatcher::DispatchSelectNetworkCancelL()
       
   756 /**
       
   757  * Pass an EMobilePhoneSelectNetworkCancel request on to Licensee LTSY.
       
   758  *
       
   759  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   760  * the Licensee LTSY does not support this request.
       
   761  */
       
   762 	{
       
   763 	TSYLOGENTRYEXIT;
       
   764 	TInt ret = KErrNotSupported;
       
   765 
       
   766 	// Call Handle... method in Licensee LTSY
       
   767 	if (iLtsyDispatchPhoneSelectNetworkCancel)
       
   768 		{
       
   769 		ret = iLtsyDispatchPhoneSelectNetworkCancel->HandleSelectNetworkCancelReqL();
       
   770 		}
       
   771 
       
   772 	return TSYLOGSETEXITERR(ret);
       
   773 	} // CPhoneDispatcher::DispatchSelectNetworkCancelL
       
   774 
       
   775 TInt CPhoneDispatcher::DispatchSetNetworkSelectionSettingL(const CMmDataPackage* aDataPackage)
       
   776 /**
       
   777  * Unpack data related to EMobilePhoneSetNetworkSelectionSetting
       
   778  * and pass request on to Licensee LTSY.
       
   779  *
       
   780  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   781  * the Licensee LTSY does not support this request.
       
   782  */
       
   783 	{
       
   784 	TSYLOGENTRYEXIT;
       
   785 	TInt ret = KErrNotSupported;
       
   786 
       
   787 	__ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
       
   788 	
       
   789 	// Call Handle... method in Licensee LTSY
       
   790 	if (iLtsyDispatchPhoneSetNetworkSelectionSetting)
       
   791 		{
       
   792 		RMobilePhone::TMobilePhoneNetworkSelectionV1* networkSetting = NULL;
       
   793 		aDataPackage->UnPackData(&networkSetting);
       
   794 		
       
   795 		__ASSERT_DEBUG(networkSetting, CtsyDispatcherPanic(EInvalidNullPtr));
       
   796 		
       
   797 		ret = iLtsyDispatchPhoneSetNetworkSelectionSetting->HandleSetNetworkSelectionSettingReqL(*networkSetting);
       
   798 		}
       
   799 
       
   800 	return TSYLOGSETEXITERR(ret);
       
   801 	} // CPhoneDispatcher::DispatchSetNetworkSelectionSettingL
       
   802 
       
   803 TInt CPhoneDispatcher::DispatchGetCurrentNetworkInfoL()
       
   804 /**
       
   805  * This method fetches the current network info from the LTSY.
       
   806  * It is not an exposed api to the CTSY and therefore is not the handler for the RMobilePhone::GetCurrentNetwork api.
       
   807  * It's purpose is to fetch the info and store it in the Ctsy's cache.  
       
   808  * Pass the request on to LTSY.
       
   809  * 
       
   810  * @return Returns error code returned by the LTSY or KErrNotSupported if
       
   811  * the LTSY does not support this request.
       
   812  */
       
   813 	{
       
   814 	TSYLOGENTRYEXIT;
       
   815 	TInt ret = KErrNotSupported;
       
   816 
       
   817 	// Call Handle... method in Licensee LTSY
       
   818 	if (iLtsyDispatchPhoneGetCurrentNetworkInfo)
       
   819 		{
       
   820 		ret = iLtsyDispatchPhoneGetCurrentNetworkInfo->HandleGetCurrentNetworkInfoReqL(); 
       
   821 		}
       
   822 		
       
   823 	return TSYLOGSETEXITERR(ret);	
       
   824 	} // CPhoneDispatcher::DispatchGetCurrentNetworkInfoL
       
   825 	
       
   826 TInt CPhoneDispatcher::DispatchGetNetworkModeL()
       
   827 /**
       
   828  * This method fetches the current network info from the LTSY.
       
   829  * It is not an exposed api to the CTSY.
       
   830  * It's purpose is to fetch the mode and store it in the Ctsy's cache.  
       
   831  * Pass the request on to LTSY.
       
   832  * 
       
   833  * @return Returns error code returned by the LTSY or KErrNotSupported if
       
   834  * the LTSY does not support this request.
       
   835  */
       
   836 	{
       
   837 	TSYLOGENTRYEXIT;
       
   838 	TInt ret = KErrNotSupported;
       
   839 
       
   840 	// Call Handle... method in Licensee LTSY
       
   841 	if (iLtsyDispatchPhoneGetNetworkMode)
       
   842 		{
       
   843 		ret = iLtsyDispatchPhoneGetNetworkMode->HandleGetNetworkModeReqL();
       
   844 		}
       
   845 		
       
   846 	return TSYLOGSETEXITERR(ret);	
       
   847 	} // CPhoneDispatcher::DispatchGetNetworkModeL
       
   848 
       
   849 TInt CPhoneDispatcher::DispatchGetNitzInfoL()
       
   850 /**
       
   851  * This method fetches the NITZ info from the LTSY.
       
   852  * It is not an exposed api to the CTSY.
       
   853  * It's purpose is to fetch the mode and store it in the Ctsy's cache.  
       
   854  * Pass the request on to LTSY.
       
   855  * 
       
   856  * @return Returns error code returned by the LTSY or KErrNotSupported if
       
   857  * the LTSY does not support this request.
       
   858  */
       
   859 	{
       
   860 	TSYLOGENTRYEXIT;
       
   861 	TInt ret = KErrNotSupported;
       
   862 
       
   863 	// Call Handle... method in Licensee LTSY
       
   864 	if (iLtsyDispatchPhoneGetNitzInfo)
       
   865 		{
       
   866 		ret = iLtsyDispatchPhoneGetNitzInfo->HandleGetNitzInfoReqL();
       
   867 		}
       
   868 		
       
   869 	return TSYLOGSETEXITERR(ret);	
       
   870 	} // CPhoneDispatcher::DispatchGetNitzInfoL
       
   871 
       
   872 TInt CPhoneDispatcher::DispatchGetSignalStrengthL()
       
   873 /**
       
   874  * This method fetches the signal strength info from the LTSY.
       
   875  * It is not an exposed api to the CTSY.
       
   876  * It's purpose is to fetch the signal strength and store it in the Ctsy's cache.  
       
   877  * Pass the request on to LTSY.
       
   878  * 
       
   879  * @return Returns error code returned by the LTSY or KErrNotSupported if
       
   880  * the LTSY does not support this request.
       
   881  */
       
   882 	{
       
   883 	TSYLOGENTRYEXIT;
       
   884 	TInt ret = KErrNotSupported;
       
   885 
       
   886 	// Call Handle... method in Licensee LTSY
       
   887 	if (iLtsyDispatchPhoneGetSignalStrength)
       
   888 		{
       
   889 		ret = iLtsyDispatchPhoneGetSignalStrength->HandleGetSignalStrengthReqL();
       
   890 		}
       
   891 		
       
   892 	return TSYLOGSETEXITERR(ret);	
       
   893 	} // CPhoneDispatcher::DispatchGetSignalStrengthL
       
   894 
       
   895 TInt CPhoneDispatcher::DispatchGetBatteryInfoL()
       
   896 /**
       
   897  * This method fetches the current battery info from the LTSY.
       
   898  * It is not an exposed api to the CTSY.
       
   899  * It's purpose is to fetch the battery info and store it in the Ctsy's cache.  
       
   900  * Pass the request on to LTSY.
       
   901  * 
       
   902  * @return Returns error code returned by the LTSY or KErrNotSupported if
       
   903  * the LTSY does not support this request.
       
   904  */
       
   905 	{
       
   906 	TSYLOGENTRYEXIT;
       
   907 	TInt ret = KErrNotSupported;
       
   908 
       
   909 	// Call Handle... method in Licensee LTSY
       
   910 	if (iLtsyDispatchPhoneGetBatteryInfo)
       
   911 		{
       
   912 		ret = iLtsyDispatchPhoneGetBatteryInfo->HandleGetBatteryInfoReqL();
       
   913 		}
       
   914 		
       
   915 	return TSYLOGSETEXITERR(ret);	
       
   916 	} // CPhoneDispatcher::DispatchGetBatteryInfoL
       
   917 
       
   918 TInt CPhoneDispatcher::DispatchNspsWakeupL()
       
   919 /**
       
   920  * Pass an ECustomNetWakeupIPC request on to Licensee LTSY.
       
   921  *
       
   922  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   923  * the Licensee LTSY does not support this request.
       
   924  */
       
   925 	{
       
   926 	TSYLOGENTRYEXIT;
       
   927 	TInt ret = KErrNotSupported;
       
   928 
       
   929 	// Call Handle... method in Licensee LTSY
       
   930 	if (iLtsyDispatchPhoneNspsWakeup)
       
   931 		{
       
   932 		ret = iLtsyDispatchPhoneNspsWakeup->HandleNspsWakeupReqL();
       
   933 		}
       
   934 		
       
   935 	return TSYLOGSETEXITERR(ret);	
       
   936 	} // CPhoneDispatcher::DispatchNspsWakeupL
       
   937 
       
   938 TInt CPhoneDispatcher::DispatchSetSystemNetworkModeL(const CMmDataPackage* aDataPackage)
       
   939 /**
       
   940  * Unpack data related to ECustomSetSystemNetworkModeIPC
       
   941  * and pass request on to Licensee LTSY.
       
   942  *
       
   943  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   944  * the Licensee LTSY does not support this request.
       
   945  */
       
   946 	{
       
   947 	TSYLOGENTRYEXIT;
       
   948 	TInt ret = KErrNotSupported;
       
   949 
       
   950 	__ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
       
   951 
       
   952 	if (iLtsyDispatchPhoneSetSystemNetworkMode)
       
   953 		{
       
   954 		RMmCustomAPI::TNetworkModeCaps networkMode;
       
   955 		aDataPackage->UnPackData(networkMode); 
       
   956 			
       
   957 		ret = iLtsyDispatchPhoneSetSystemNetworkMode->HandleSetSystemNetworkModeReqL(networkMode); 
       
   958 		}  
       
   959 		
       
   960 	return TSYLOGSETEXITERR(ret);	
       
   961 	} // CPhoneDispatcher::DispatchSetSystemNetworkModeL
       
   962 
       
   963 TInt CPhoneDispatcher::DispatchGetCurrentSystemNetworkModesL()
       
   964 /**
       
   965  * Pass an ECustomGetCurrentSystemNetworkModesIPC request on to Licensee LTSY.
       
   966  *
       
   967  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   968  * the Licensee LTSY does not support this request.
       
   969  */
       
   970 	{
       
   971 	TSYLOGENTRYEXIT;
       
   972 	TInt ret = KErrNotSupported;
       
   973 
       
   974 	// Call Handle... method in Licensee LTSY
       
   975 	if (iLtsyDispatchPhoneGetCurrentSystemNetworkModes)
       
   976 		{
       
   977 		ret = iLtsyDispatchPhoneGetCurrentSystemNetworkModes->HandleGetCurrentSystemNetworkModesReqL();
       
   978 		}
       
   979 		
       
   980 	return TSYLOGSETEXITERR(ret);	
       
   981 	} // CPhoneDispatcher::DispatchGetCurrentSystemNetworkModesL
       
   982 
       
   983 TInt CPhoneDispatcher::DispatchResetNetServerL()
       
   984 /**
       
   985  * Pass an ECustomResetNetServerIPC request on to Licensee LTSY.
       
   986  *
       
   987  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
   988  * the Licensee LTSY does not support this request.
       
   989  */
       
   990 	{
       
   991 	TSYLOGENTRYEXIT;
       
   992 	TInt ret = KErrNotSupported;
       
   993 
       
   994 	if (iLtsyDispatchPhoneResetNetServer)
       
   995 		{
       
   996 		ret = iLtsyDispatchPhoneResetNetServer->HandleResetNetServerReqL(); 
       
   997 		}  
       
   998 		
       
   999 	return TSYLOGSETEXITERR(ret);	
       
  1000 	} // CPhoneDispatcher::DispatchResetNetServerL
       
  1001 
       
  1002 TInt CPhoneDispatcher::DispatchSetAlwaysOnModeL(const CMmDataPackage* aDataPackage)
       
  1003 /**
       
  1004  * Unpack data related to ECustomSetAlwaysOnMode
       
  1005  * and pass request on to Licensee LTSY.
       
  1006  *
       
  1007  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
  1008  * the Licensee LTSY does not support this request.
       
  1009  */
       
  1010 	{
       
  1011 	TSYLOGENTRYEXIT;
       
  1012 	TInt ret = KErrNotSupported;
       
  1013 
       
  1014 	__ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
       
  1015 
       
  1016 	if (iLtsyDispatchPhoneSetAlwaysOnMode)
       
  1017 		{
       
  1018 		RMmCustomAPI::TSetAlwaysOnMode alwaysOnModeMode;
       
  1019 		aDataPackage->UnPackData(alwaysOnModeMode); 
       
  1020 			
       
  1021 		ret = iLtsyDispatchPhoneSetAlwaysOnMode->HandleSetAlwaysOnModeReqL(alwaysOnModeMode); 
       
  1022 		}  
       
  1023 		
       
  1024 	return TSYLOGSETEXITERR(ret);	
       
  1025 	} // CPhoneDispatcher::DispatchSetAlwaysOnModeL
       
  1026 
       
  1027 TInt CPhoneDispatcher::DispatchSetDriveModeL(const CMmDataPackage* aDataPackage)
       
  1028 /**
       
  1029  * Unpack data related to ECustomSetDriveModeIPC
       
  1030  * and pass request on to Licensee LTSY.
       
  1031  *
       
  1032  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
  1033  * the Licensee LTSY does not support this request.
       
  1034  */
       
  1035 	{
       
  1036 	TSYLOGENTRYEXIT;
       
  1037 	TInt ret = KErrNotSupported;
       
  1038 
       
  1039 	__ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
       
  1040 
       
  1041 	if (iLtsyDispatchPhoneSetDriveMode)
       
  1042 		{
       
  1043 		RMmCustomAPI::TSetDriveMode driveMode;
       
  1044 		aDataPackage->UnPackData(driveMode); 
       
  1045 			
       
  1046 		ret = iLtsyDispatchPhoneSetDriveMode->HandleSetDriveModeReqL(driveMode); 
       
  1047 		}  
       
  1048 		
       
  1049 	return TSYLOGSETEXITERR(ret);	
       
  1050 	} // CPhoneDispatcher::DispatchSetDriveModeL
       
  1051 
       
  1052 TInt CPhoneDispatcher::DispatchGetHspaStatusL()
       
  1053 /**
       
  1054  * Pass an ECustomReadHSxPAStatusIPC request on to Licensee LTSY.
       
  1055  *
       
  1056  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
  1057  * the Licensee LTSY does not support this request.
       
  1058  */
       
  1059 	{
       
  1060 	TSYLOGENTRYEXIT;
       
  1061 	TInt ret = KErrNotSupported;
       
  1062 
       
  1063 	// Call Handle... method in Licensee LTSY
       
  1064 	if (iLtsyDispatchPhoneGetHspaStatus)
       
  1065 		{
       
  1066 		ret = iLtsyDispatchPhoneGetHspaStatus->HandleGetHspaStatusReqL();
       
  1067 		}
       
  1068 		
       
  1069 	return TSYLOGSETEXITERR(ret);	
       
  1070 	} // CPhoneDispatcher::DispatchGetHspaStatusL
       
  1071 
       
  1072 TInt CPhoneDispatcher::DispatchSetHspaStatusL(const CMmDataPackage* aDataPackage)
       
  1073 /**
       
  1074  * Unpack data related to ECustomWriteHSxPAStatusIPC
       
  1075  * and pass request on to Licensee LTSY.
       
  1076  *
       
  1077  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
  1078  * the Licensee LTSY does not support this request.
       
  1079  */
       
  1080 	{
       
  1081 	TSYLOGENTRYEXIT;
       
  1082 	TInt ret = KErrNotSupported;
       
  1083 
       
  1084 	__ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
       
  1085 
       
  1086 	if (iLtsyDispatchPhoneSetHspaStatus)
       
  1087 		{
       
  1088 		RMmCustomAPI::THSxPAStatus status;
       
  1089 		aDataPackage->UnPackData(status); 
       
  1090 			
       
  1091 		ret = iLtsyDispatchPhoneSetHspaStatus->HandleSetHspaStatusReqL(status); 
       
  1092 		}  
       
  1093 		
       
  1094 	return TSYLOGSETEXITERR(ret);	
       
  1095 	} // CPhoneDispatcher::DispatchSetHspaStatusL
       
  1096 
       
  1097 TInt CPhoneDispatcher::DispatchGetNetworkProviderNameL()
       
  1098 /**
       
  1099  * Pass an ECustomGetNetworkProviderNameIPC request on to Licensee LTSY.
       
  1100  *
       
  1101  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
  1102  * the Licensee LTSY does not support this request.
       
  1103  */
       
  1104 	{
       
  1105 	TSYLOGENTRYEXIT;
       
  1106 	TInt ret = KErrNotSupported;
       
  1107 
       
  1108 	// Call Handle... method in Licensee LTSY
       
  1109 	if (iLtsyDispatchPhoneGetNetworkProviderName)
       
  1110 		{
       
  1111 		ret = iLtsyDispatchPhoneGetNetworkProviderName->HandleGetNetworkProviderNameReqL();
       
  1112 		}
       
  1113 		
       
  1114 	return TSYLOGSETEXITERR(ret);	
       
  1115 	} // CPhoneDispatcher::DispatchGetNetworkProviderNameL
       
  1116 
       
  1117 TInt CPhoneDispatcher::DispatchGetOperatorNameL()
       
  1118 /**
       
  1119  * Pass an ECustomGetOperatorNameIPC request on to Licensee LTSY.
       
  1120  *
       
  1121  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
  1122  * the Licensee LTSY does not support this request.
       
  1123  */
       
  1124 	{
       
  1125 	TSYLOGENTRYEXIT;
       
  1126 	TInt ret = KErrNotSupported;
       
  1127 
       
  1128 	// Call Handle... method in Licensee LTSY
       
  1129 	if (iLtsyDispatchPhoneGetOperatorName)
       
  1130 		{
       
  1131 		ret = iLtsyDispatchPhoneGetOperatorName->HandleGetOperatorNameReqL();
       
  1132 		}
       
  1133 		
       
  1134 	return TSYLOGSETEXITERR(ret);	
       
  1135 	} // CPhoneDispatcher::DispatchGetOperatorNameL
       
  1136 
       
  1137 TInt CPhoneDispatcher::DispatchGetCellInfoL()
       
  1138 /**
       
  1139  * Pass an ECustomGetCellInfoIPC request on to Licensee LTSY.
       
  1140  *
       
  1141  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
  1142  * the Licensee LTSY does not support this request.
       
  1143  */
       
  1144 	{
       
  1145 	TSYLOGENTRYEXIT;
       
  1146 	TInt ret = KErrNotSupported;
       
  1147 
       
  1148 	// Call Handle... method in Licensee LTSY
       
  1149 	if (iLtsyDispatchPhoneGetCellInfo)
       
  1150 		{
       
  1151 		ret = iLtsyDispatchPhoneGetCellInfo->HandleGetCellInfoReqL();
       
  1152 		}
       
  1153 		
       
  1154 	return TSYLOGSETEXITERR(ret);	
       
  1155 	} // CPhoneDispatcher::DispatchGetCellInfoL
       
  1156 
       
  1157 TInt CPhoneDispatcher::DispatchRegisterCellInfoChangeNotificationL()
       
  1158 /**
       
  1159  * Pass an ECtsyPhoneCellInfoIndReq request on to Licensee LTSY.
       
  1160  * 
       
  1161  * @return Returns error code returned by the LTSY or KErrNotSupported if
       
  1162  * the LTSY does not support this request.
       
  1163  */
       
  1164 	{
       
  1165 	TSYLOGENTRYEXIT;
       
  1166 	TInt ret = KErrNotSupported;
       
  1167 
       
  1168 	// Call Handle... method in Licensee LTSY
       
  1169 	if (iLtsyDispatchPhoneRegisterCellInfoChangeNotification)
       
  1170 		{
       
  1171 		ret = iLtsyDispatchPhoneRegisterCellInfoChangeNotification->HandleRegisterCellInfoChangeNotificationReqL();
       
  1172 		}
       
  1173 		
       
  1174 	return TSYLOGSETEXITERR(ret);	
       
  1175 	} // CPhoneDispatcher::DispatchRegisterCellInfoChangeNotificationL
       
  1176 
       
  1177 TInt CPhoneDispatcher::DispatchGetPhoneCellInfoL()
       
  1178 /**
       
  1179  * Pass an ECtsyPhoneCellInfoReq request on to Licensee LTSY.
       
  1180  * 
       
  1181  * @return Returns error code returned by the LTSY or KErrNotSupported if
       
  1182  * the LTSY does not support this request.
       
  1183  */
       
  1184 	{
       
  1185 	TSYLOGENTRYEXIT;
       
  1186 	TInt ret = KErrNotSupported;
       
  1187 
       
  1188 	// Call Handle... method in Licensee LTSY
       
  1189 	if (iLtsyDispatchPhoneGetPhoneCellInfo)
       
  1190 		{
       
  1191 		ret = iLtsyDispatchPhoneGetPhoneCellInfo->HandleGetPhoneCellInfoReqL();
       
  1192 		}
       
  1193 		
       
  1194 	return TSYLOGSETEXITERR(ret);	
       
  1195 	} // CPhoneDispatcher::DispatchGetPhoneCellInfoL
       
  1196 
       
  1197 TInt CPhoneDispatcher::DispatchGetUsimServiceSupportL(const CMmDataPackage* aDataPackage)
       
  1198 /**
       
  1199  * Pass an ECustomGetServiceTableSupportbyApplicationIPC request on to Licensee LTSY.
       
  1200  * 
       
  1201  * @return Returns error code returned by the LTSY or KErrNotSupported if
       
  1202  * the LTSY does not support this request.
       
  1203  */
       
  1204 	{
       
  1205 	TSYLOGENTRYEXIT;
       
  1206 	TInt ret = KErrNotSupported;
       
  1207 
       
  1208 	__ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
       
  1209 	
       
  1210 	// Call Handle... method in Licensee LTSY
       
  1211 	if (iLtsyDispatchPhoneGetUsimServiceSupport)
       
  1212 		{
       
  1213 		RMmCustomAPI::TAppSupport* appSupport = NULL;
       
  1214 		
       
  1215 		aDataPackage->UnPackData(&appSupport);
       
  1216 		__ASSERT_DEBUG(appSupport, CtsyDispatcherPanic(EInvalidNullPtr));
       
  1217 		
       
  1218 		ret = iLtsyDispatchPhoneGetUsimServiceSupport->HandleGetGetUsimServiceSupportReqL(appSupport->iAppNum);
       
  1219 		}
       
  1220 		
       
  1221 	return TSYLOGSETEXITERR(ret);	
       
  1222 	} // CPhoneDispatcher::DispatchGetUsimServiceSupportL
       
  1223 
       
  1224 TInt CPhoneDispatcher::DispatchGetCurrentActiveUsimApplicationL()
       
  1225 /**
       
  1226  * Pass an EMobilePhoneGetCurrentActiveUSimApplication request on to Licensee LTSY.
       
  1227  * 
       
  1228  * @return Returns error code returned by the LTSY or KErrNotSupported if
       
  1229  * the LTSY does not support this request.
       
  1230  */
       
  1231 	{
       
  1232 	TSYLOGENTRYEXIT;
       
  1233 	TInt ret = KErrNotSupported;
       
  1234 
       
  1235 	// Call Handle... method in Licensee LTSY
       
  1236 	if (iLtsyDispatchPhoneGetCurrentActiveUsimApplication)
       
  1237 		{
       
  1238 		ret = iLtsyDispatchPhoneGetCurrentActiveUsimApplication->HandleGetCurrentActiveUsimApplicationReqL();
       
  1239 		}
       
  1240 		
       
  1241 	return TSYLOGSETEXITERR(ret);	
       
  1242 	} // CPhoneDispatcher::DispatchGetCurrentActiveUsimApplicationL
       
  1243 
       
  1244 TInt CPhoneDispatcher::DispatchTerminateAllCallsL(const CMmDataPackage* aDataPackage)
       
  1245 /**
       
  1246  * Pass an ECtsyPhoneTerminateAllCallsReq request on to Licensee LTSY.
       
  1247  *
       
  1248  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
  1249  * the Licensee LTSY does not support this request.
       
  1250  */
       
  1251 	{
       
  1252 	TSYLOGENTRYEXIT;
       
  1253 	TInt ret = KErrNotSupported;	
       
  1254 	
       
  1255 	__ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
       
  1256 	
       
  1257 	// Call Handle... method in Licensee LTSY
       
  1258 	if (iLtsyDispatchPhoneTerminateAllCalls)
       
  1259 		{
       
  1260 		TInt callId=0;
       
  1261 		aDataPackage->UnPackData(callId);
       
  1262 		ret = iLtsyDispatchPhoneTerminateAllCalls->HandleTerminateAllCallsReqL(callId);
       
  1263 		}
       
  1264 		
       
  1265 	return TSYLOGSETEXITERR(ret);	
       
  1266 	} // CPhoneDispatcher::DispatchTerminateAllCallsL
       
  1267 
       
  1268 TInt CPhoneDispatcher::DispatchGetSystemNetworkBandL()
       
  1269 /**
       
  1270  * Pass an ECustomGetBandSelectionIPC request on to Licensee LTSY.
       
  1271  *
       
  1272  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
  1273  * the Licensee LTSY does not support this request.
       
  1274  */
       
  1275 	{
       
  1276 	TSYLOGENTRYEXIT;
       
  1277 	TInt ret = KErrNotSupported;	
       
  1278 	
       
  1279 	// Call Handle... method in Licensee LTSY
       
  1280 	if (iLtsyDispatchPhoneGetSystemNetworkBand)
       
  1281 		{
       
  1282 		ret = iLtsyDispatchPhoneGetSystemNetworkBand->HandleGetSystemNetworkBandReqL();
       
  1283 		}
       
  1284 		
       
  1285 	return TSYLOGSETEXITERR(ret);	
       
  1286 	} // CPhoneDispatcher::DispatchGetSystemNetworkBandL
       
  1287 
       
  1288 TInt CPhoneDispatcher::DispatchSetSystemNetworkBandL(const CMmDataPackage* aDataPackage)
       
  1289 /**
       
  1290  * Pass an ECustomSetBandSelectionIPC request on to Licensee LTSY.
       
  1291  *
       
  1292  * @return Returns error code returned by the Licensee LTSY or KErrNotSupported if
       
  1293  * the Licensee LTSY does not support this request.
       
  1294  */
       
  1295 	{
       
  1296 	TSYLOGENTRYEXIT;
       
  1297 	TInt ret = KErrNotSupported;	
       
  1298 	
       
  1299 	__ASSERT_DEBUG(aDataPackage, CtsyDispatcherPanic(EInvalidNullPtr));
       
  1300 	
       
  1301 	// Call Handle... method in Licensee LTSY
       
  1302 	if (iLtsyDispatchPhoneSetSystemNetworkBand)
       
  1303 		{
       
  1304 		RMmCustomAPI::TBandSelection band;
       
  1305 		RMmCustomAPI::TNetworkModeCaps mode;
       
  1306 		aDataPackage->UnPackData(band, mode);
       
  1307 		ret = iLtsyDispatchPhoneSetSystemNetworkBand->HandleSetSystemNetworkBandReqL(band, mode);
       
  1308 		}
       
  1309 		
       
  1310 	return TSYLOGSETEXITERR(ret);	
       
  1311 	} // CPhoneDispatcher::DispatchSetSystemNetworkBandL
       
  1312 
       
  1313 //
       
  1314 // Callback handlers follow
       
  1315 //
       
  1316 
       
  1317 
       
  1318 void CPhoneDispatcher::CallbackGetFdnStatus(TInt aError, RMobilePhone::TMobilePhoneFdnStatus aFdnStatus)
       
  1319 /**
       
  1320  * Packages the data returned by the Licensee LTSY and completes the 
       
  1321  * RMobilePhone::GetFdnStatus request back to the Common TSY.
       
  1322  * 
       
  1323  * @param aError The error code to complete back.
       
  1324  * @param aFdnStatus The FDN status to complete back. 
       
  1325  */
       
  1326 	{
       
  1327 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aFdnStatus=%d"), aError, aFdnStatus);
       
  1328 	
       
  1329 	// Package return type to return to Common TSY
       
  1330 	CMmDataPackage dataPackage;
       
  1331 	dataPackage.PackData(&aFdnStatus);
       
  1332 	
       
  1333 	iMessageManagerCallback.Complete(EMobilePhoneGetFdnStatus, &dataPackage, aError);
       
  1334 
       
  1335 	} // CPhoneDispatcher::CallbackGetFdnStatus
       
  1336 
       
  1337 
       
  1338 void CPhoneDispatcher::CallbackBootNotifyModemStatusReady(TInt aError, TRfStateInfo aRfStatus)
       
  1339 /**
       
  1340  * Packages the data returned by the Licensee LTSY and completes the 
       
  1341  * EMmTsyBootNotifyModemStatusReadyIPC request back to the Common TSY.
       
  1342  * 
       
  1343  * @param aError The error code to complete back.
       
  1344  * @param aRfStatus RF status. 
       
  1345  */
       
  1346 	{
       
  1347 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1348 
       
  1349 	iMessageManagerCallback.Complete(EMmTsyBootNotifyModemStatusReadyIPC, aError);
       
  1350 	
       
  1351 	CMmDataPackage data;
       
  1352 	data.PackData(&aRfStatus);
       
  1353 	//also complete the RF status indicator
       
  1354 	iMessageManagerCallback.Complete(EMmTsyBootGetRFStatusIPC, &data, aError);
       
  1355 		
       
  1356 	// The receipt of this callback is part of the boot sequence so signal back
       
  1357 	TRAP_IGNORE(iBootSequenceObserver.HandleNotifyModemReadyReceivedL());
       
  1358 	
       
  1359 	} // CPhoneDispatcher::CallbackBootNotifyModemStatusReady
       
  1360 
       
  1361 
       
  1362 void CPhoneDispatcher::CallbackBootNotifySimStatusReady(TInt aError)
       
  1363 /**
       
  1364  * Packages the data returned by the Licensee LTSY and completes the 
       
  1365  * EMmTsyBootNotifySimStatusReadyIPC request back to the Common TSY.
       
  1366  * 
       
  1367  * @param aError The error code to complete back. 
       
  1368  */
       
  1369 	{
       
  1370 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1371 
       
  1372 	iMessageManagerCallback.Complete(EMmTsyBootNotifySimStatusReadyIPC, aError);
       
  1373 	} // CPhoneDispatcher::CallbackBootNotifySimStatusReady
       
  1374 
       
  1375 
       
  1376 void CPhoneDispatcher::CallbackSimRefreshRegister(TInt aError)
       
  1377 /**
       
  1378  * Packages the data returned by the Licensee LTSY and completes the 
       
  1379  * EMmTsySimRefreshRegisterIPC request back to the Common TSY.
       
  1380  * 
       
  1381  * @param aError The error code to complete back. 
       
  1382  */
       
  1383 	{
       
  1384 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1385 
       
  1386 	iMessageManagerCallback.Complete(EMmTsySimRefreshRegisterIPC, aError);
       
  1387 	} // CPhoneDispatcher::CallbackSimRefreshRegister
       
  1388 
       
  1389 
       
  1390 void CPhoneDispatcher::CallbackGetNetworkRegistrationStatus(
       
  1391 	TInt aError, RMobilePhone::TMobilePhoneRegistrationStatus aRegStatus)
       
  1392 /**
       
  1393  * Packages the data returned by the Licensee LTSY and completes the 
       
  1394  * RMobilePhone::GetNetworkRegistrationStatus back to the Common TSY.
       
  1395  * 
       
  1396  * @param aError The error code to complete back. 
       
  1397  */
       
  1398 	{
       
  1399 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1400 
       
  1401 	// The Common TSY expects a notify registration status request to complete
       
  1402 	// when the get request completes. Hide this behaviour from the Licensee LTSY
       
  1403 	// in this CTSY Dispatcher.
       
  1404 	CallbackNotifyNetworkRegistrationStatusChange(aError, aRegStatus);	
       
  1405 
       
  1406 	// Now complete the actual get request
       
  1407 	iMessageManagerCallback.Complete(EMobilePhoneGetNetworkRegistrationStatus, aError);
       
  1408 	
       
  1409 	} // CPhoneDispatcher::CallbackGetNetworkRegistrationStatus
       
  1410 
       
  1411 
       
  1412 void CPhoneDispatcher::CallbackNotifyNetworkRegistrationStatusChange(
       
  1413 		TInt aError, RMobilePhone::TMobilePhoneRegistrationStatus aRegStatus)
       
  1414 /**
       
  1415  * Packages the data returned by the Licensee LTSY and completes the 
       
  1416  * RMobilePhone::NotifyNetworkRegistrationStatusChange back to the Common TSY.
       
  1417  * 
       
  1418  * @param aError The error code to complete back.
       
  1419  * @param aRegStatus The phone registration status to complete back.
       
  1420  */
       
  1421   {
       
  1422   TSYLOGENTRYEXITARGS(_L8("aError=%d, aRegStatus=%d"), aError, aRegStatus);
       
  1423   
       
  1424   // CTSY expects a network status parameter. But it never makes use of it. Pass a dummy value. 
       
  1425   RMobilePhone::TMobilePhoneNetworkStatus dummyNetStatus = RMobilePhone::ENetworkStatusUnknown;
       
  1426   
       
  1427   CMmDataPackage dataPackage;
       
  1428   dataPackage.PackData(
       
  1429 		  static_cast<RMobilePhone::TMobilePhoneRegistrationStatus*>(&aRegStatus), 
       
  1430 		  static_cast<RMobilePhone::TMobilePhoneNetworkStatus*>(&dummyNetStatus));
       
  1431   
       
  1432   iMessageManagerCallback.Complete(EMobilePhoneNotifyNetworkRegistrationStatusChange, 
       
  1433 		  &dataPackage, aError);
       
  1434   } // CPhoneDispatcher::CallbackNotifyNetworkRegistrationStatusChange
       
  1435 
       
  1436 
       
  1437 void CPhoneDispatcher::CallbackGetHomeNetwork(TInt aError, 
       
  1438 					const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo)
       
  1439 /**
       
  1440  * Callback function to be used by the request.
       
  1441  * 
       
  1442  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1443  * @param aNetworkInfo Network information returned by the LTSY.
       
  1444  */
       
  1445 	{
       
  1446 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1447 	
       
  1448 	// Pack the data to return to the Common TSY
       
  1449 	CMmDataPackage dataPackage;
       
  1450 	dataPackage.PackData(const_cast<RMobilePhone::TMobilePhoneNetworkInfoV5*>(&aNetworkInfo));
       
  1451 	
       
  1452 	// Now complete the actual get request
       
  1453 	iMessageManagerCallback.Complete(EMobilePhoneGetHomeNetwork, &dataPackage, aError);
       
  1454 	} // CPhoneDispatcher::CallbackGetHomeNetwork
       
  1455 
       
  1456 
       
  1457 void CPhoneDispatcher::CallbackNotifyNetworkModeChange(TInt aError,
       
  1458 		RMobilePhone::TMobilePhoneNetworkMode aNetworkMode)
       
  1459 /**
       
  1460  * Callback function to be used by the request to complete a NotifyModeChange.
       
  1461  *
       
  1462  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1463  * @param aNetworkMode The network mode to be sent to the CTSY Dispatcher.
       
  1464  */
       
  1465 	{
       
  1466 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1467 
       
  1468 	// Pack the data to return to the Common TSY
       
  1469 	CMmDataPackage dataPackage;
       
  1470 	dataPackage.PackData(static_cast<RMobilePhone::TMobilePhoneNetworkMode*>(&aNetworkMode));
       
  1471 	
       
  1472 	iMessageManagerCallback.Complete(EMobilePhoneNotifyModeChange, &dataPackage, aError);
       
  1473 	
       
  1474 	} // CPhoneDispatcher::CallbackNotifyNetworkModeChange
       
  1475 
       
  1476 void CPhoneDispatcher::CallbackNotifyEgprsInfoChange(TInt aError, TBool aEdgeSupported)
       
  1477 /**
       
  1478  * Callback function to be used by the request to complete a NotifyEgprsInfoChange.
       
  1479  *
       
  1480  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1481  * @param aEdgeSupported If EGPRS is supported on the current cell.
       
  1482  */
       
  1483 	{
       
  1484 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aEdgeSupported=%d"), aError, aEdgeSupported);
       
  1485 
       
  1486 	// Pack the data to return to the Common TSY
       
  1487 	CMmDataPackage dataPackage;
       
  1488 	dataPackage.PackData(&aEdgeSupported);
       
  1489 	
       
  1490 	// note aError isn't used in the CTSY
       
  1491 	iMessageManagerCallback.Complete(EMmTsyNotifyEGprsInfoChangeIPC, &dataPackage, aError);
       
  1492 	
       
  1493 	} // CPhoneDispatcher::CallbackNotifyEgprsInfoChange
       
  1494 
       
  1495 void CPhoneDispatcher::CallbackNotifySignalStrengthChange(TInt aError,
       
  1496 		TInt32 aSignalStrength,
       
  1497 		TInt8 aBar)
       
  1498 /**
       
  1499  * Callback function to be used by the request to complete 
       
  1500  * CCtsyDispatcherCallback::CallbackPhoneNotifySignalStrengthChangeInd()
       
  1501  *
       
  1502  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1503  * @param aSignalStrength The signal strength to be sent to the CTSY Dispatcher
       
  1504  * @param aBar The number of bars to display.
       
  1505  */
       
  1506 	{
       
  1507 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1508 
       
  1509 	// Pack the data to return to the Common TSY
       
  1510 	CMmDataPackage dataPackage;
       
  1511 	// Note: Ctsy expects the data to be packed in the order <bar, signalStrength>,
       
  1512 	// so swap the order here.
       
  1513 	dataPackage.PackData(static_cast<TInt8*>(&aBar), static_cast<TInt32*>(&aSignalStrength));
       
  1514 	
       
  1515 	iMessageManagerCallback.Complete(EMobilePhoneNotifySignalStrengthChange, &dataPackage, aError);
       
  1516 	
       
  1517 	} // CPhoneDispatcher::CallbackNotifySignalStrengthChange
       
  1518 
       
  1519 void CPhoneDispatcher::CallbackNotifyNitzInfoChange(TInt aError,
       
  1520 				const RMobilePhone::TMobilePhoneNITZ& aNitzInfo)
       
  1521 /**
       
  1522  * Callback function to be used by the request to complete a NotifyNitzInfoChange.
       
  1523  *
       
  1524  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1525  * @param aNitzInfo The current NITZ information to be sent to the CTSY Dispatcher.
       
  1526  */
       
  1527 	{
       
  1528 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1529 
       
  1530 	// Pack the data to return to the Common TSY
       
  1531 	CMmDataPackage dataPackage;
       
  1532 	dataPackage.PackData(const_cast<RMobilePhone::TMobilePhoneNITZ*>(&aNitzInfo));
       
  1533 	
       
  1534 	iMessageManagerCallback.Complete(EMobilePhoneNotifyNITZInfoChange, &dataPackage, aError);
       
  1535 	
       
  1536 	} // CPhoneDispatcher::CallbackNotifyNitzInfoChange
       
  1537 
       
  1538 void CPhoneDispatcher::CallbackNotifyBatteryInfoChange(TInt aError,
       
  1539 				const RMobilePhone::TMobilePhoneBatteryInfoV1& aBatteryInfo)
       
  1540 /**
       
  1541  * Callback function to be used by the request to complete a NotifyBatteryInfoChange.
       
  1542  *
       
  1543  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1544  * @param aBatteryInfo The battery information to be sent to the CTSY Dispatcher.
       
  1545  */
       
  1546 	{
       
  1547 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1548 
       
  1549 	// Pack the data to return to the Common TSY
       
  1550 	CMmDataPackage dataPackage;
       
  1551 	dataPackage.PackData(const_cast<RMobilePhone::TMobilePhoneBatteryInfoV1*>(&aBatteryInfo));
       
  1552 	
       
  1553 	iMessageManagerCallback.Complete(EMobilePhoneNotifyBatteryInfoChange, &dataPackage, aError);
       
  1554 	
       
  1555 	} // CPhoneDispatcher::CallbackNotifyBatteryInfoChange
       
  1556 
       
  1557 void CPhoneDispatcher::CallbackNotifyCurrentNetworkChange(TInt aError,
       
  1558 			const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo,
       
  1559 			const RMobilePhone::TMobilePhoneLocationAreaV1& aLocationArea)
       
  1560 /**
       
  1561  * Callback function to complete an RMobilePhone::NotifyCurrentNetworkChange request
       
  1562  * to the Common TSY.
       
  1563  *
       
  1564  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1565  * @param aNetworkInfo The network information to be sent to the CTSY Dispatcher.
       
  1566  * 		  Note the actual data type contained could be of type TMobilePhoneNetworkInfoV2 or TMobilePhoneNetworkInfoV1.
       
  1567  * @param aLocationArea The mobile phone location area.
       
  1568  */
       
  1569 	{
       
  1570 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1571 
       
  1572 	// Pack the data to return to the Common TSY
       
  1573 	CMmDataPackage dataPackage;
       
  1574 	dataPackage.PackData(const_cast<RMobilePhone::TMobilePhoneNetworkInfoV5*>(&aNetworkInfo),
       
  1575 						 const_cast<RMobilePhone::TMobilePhoneLocationAreaV1*>(&aLocationArea));
       
  1576 	
       
  1577 	iMessageManagerCallback.Complete(EMobilePhoneNotifyCurrentNetworkChange, &dataPackage, aError);
       
  1578 	
       
  1579 	} // CPhoneDispatcher::CallbackNotifyCurrentNetworkChange
       
  1580 
       
  1581 void CPhoneDispatcher::CallbackNotifyRfStatusChange(TInt aError, TRfStateInfo aRfStatus)
       
  1582 /**
       
  1583  * Callback function to be used by the request to complete 
       
  1584  * CCtsyDispatcherCallback::CallbackPhoneNotifyRfStatusChangeInd()
       
  1585  *
       
  1586  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1587  * @param aRfStatus new RF status.
       
  1588  */
       
  1589 	{
       
  1590 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1591 
       
  1592 	// Pack the data to return to the Common TSY
       
  1593 	CMmDataPackage data;
       
  1594 	data.PackData(&aRfStatus);
       
  1595 	//also complete the RF status indicator
       
  1596 	iMessageManagerCallback.Complete(EMmTsyBootGetRFStatusIPC, &data, aError);
       
  1597 	
       
  1598 	} // CPhoneDispatcher::CallbackNotifyRfStatusChange
       
  1599 
       
  1600 void CPhoneDispatcher::CallbackGetServiceProviderName(TInt aError,
       
  1601 		const RMobilePhone::TMobilePhoneServiceProviderNameV2& aServiceProvider)
       
  1602 /**
       
  1603  * Callback function to be used by the request to complete 
       
  1604  * CCtsyDispatcherCallback::CallbackPhoneGetServiceProviderNameComp()
       
  1605  *
       
  1606  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1607  * @param aServiceProvider The service provider information.
       
  1608  */
       
  1609 	{
       
  1610 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1611 
       
  1612 	// Pack the data to return to the Common TSY
       
  1613 	CMmDataPackage dataPackage;
       
  1614 	dataPackage.PackData(const_cast<RMobilePhone::TMobilePhoneServiceProviderNameV2*>(&aServiceProvider));
       
  1615 	
       
  1616 	iMessageManagerCallback.Complete(EMobilePhoneGetServiceProviderName, &dataPackage, aError);
       
  1617 	
       
  1618 	} // CPhoneDispatcher::CallbackGetServiceProviderName
       
  1619 
       
  1620 void CPhoneDispatcher::CallbackGetPhoneId(TInt aError,
       
  1621 				const RMobilePhone::TMobilePhoneIdentityV1& aPhoneId)
       
  1622 /**
       
  1623  * Callback function to be used by the request to complete 
       
  1624  * CCtsyDispatcherCallback::CallbackPhoneGetPhoneIdComp()
       
  1625  *
       
  1626  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1627  * @param aPhoneId The mobile phone identity returned by the LTSY.
       
  1628  */
       
  1629 	{
       
  1630 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1631 	
       
  1632 	//The GetImei request from SAT has been rolled into this one. An ESatTsyGetIMEI request now
       
  1633 	//triggers DispatchGetPhoneIdL. 
       
  1634 	
       
  1635 	CMmDataPackage dataPackage;
       
  1636 	
       
  1637 	if (iPhoneIdReqOrigin & KPhoneIdReqOriginPhoneFu)
       
  1638 		{
       
  1639 		// Pack the data to return to the Common TSY
       
  1640 		dataPackage.PackData(const_cast<RMobilePhone::TMobilePhoneIdentityV1*>(&aPhoneId));
       
  1641 		
       
  1642 		iMessageManagerCallback.Complete(ECtsyGetPhoneIdV2Comp, &dataPackage, aError);
       
  1643 		}
       
  1644 	
       
  1645 	if (iPhoneIdReqOrigin & KPhoneIdReqOriginSatFu)
       
  1646 		{
       
  1647 		__ASSERT_DEBUG(aPhoneId.iSerialNumber.Length() <= KImeiBufLength, CtsyDispatcherPanic(EBadLength));
       
  1648 		// Pack the data to return to the Common TSY
       
  1649 		TBuf8<KImeiBufLength> imeiBuf;
       
  1650 		imeiBuf.Copy(aPhoneId.iSerialNumber.Left(KImeiBufLength));
       
  1651 		
       
  1652 		dataPackage.PackData(&imeiBuf);
       
  1653 
       
  1654 		iSatMessageManagerCallback.Complete(ESatTsyGetIMEI, &dataPackage, aError);
       
  1655 		}
       
  1656 	
       
  1657 	iPhoneIdReqOrigin = 0;
       
  1658 	
       
  1659 	} // CPhoneDispatcher::CallbackGetPhoneId
       
  1660 
       
  1661 void CPhoneDispatcher::CallbackGetDetectedNetworks(TInt aError,
       
  1662 				const CMobilePhoneNetworkListV2& aPhoneNetworkList)
       
  1663 /**
       
  1664  * Callback function to be used by the request to complete 
       
  1665  * CCtsyDispatcherCallback::CallbackPhoneGetDetectedNetworksComp()
       
  1666  *
       
  1667  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1668  * @param aPhoneNetworkList The list of detected networks
       
  1669  */
       
  1670 	{
       
  1671 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1672 
       
  1673 	
       
  1674 	const CMobilePhoneNetworkListV2* phoneNetworkList = &aPhoneNetworkList;
       
  1675 
       
  1676 	// Pack the data to return to the Common TSY
       
  1677 	CMmDataPackage dataPackage;
       
  1678 	dataPackage.PackData(&phoneNetworkList);
       
  1679 
       
  1680 	iMessageManagerCallback.Complete(EMobilePhoneGetDetectedNetworksV2Phase1, &dataPackage, aError);
       
  1681 	} // CPhoneDispatcher::CallbackGetDetectedNetworks
       
  1682 
       
  1683 void CPhoneDispatcher::CallbackGetDetectedNetworksCancel(TInt aError)
       
  1684 /**
       
  1685  * Callback function to be used by the request to complete 
       
  1686  * CCtsyDispatcherCallback::CallbackPhoneGetDetectedNetworksCancelComp()
       
  1687  *
       
  1688  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1689  */
       
  1690 	{
       
  1691 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1692 
       
  1693 	iMessageManagerCallback.Complete(EMobilePhoneGetDetectedNetworksCancel, aError);
       
  1694 	
       
  1695 	} // CPhoneDispatcher::CallbackGetDetectedNetworksCancel
       
  1696 
       
  1697 void CPhoneDispatcher::CallbackSelectNetwork(TInt aError)
       
  1698 /**
       
  1699  * Callback function to be used by the request to complete 
       
  1700  * CCtsyDispatcherCallback::CallbackPhoneSelectNetworkComp()
       
  1701  *
       
  1702  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1703  */
       
  1704 	{
       
  1705 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1706 	
       
  1707 	iMessageManagerCallback.Complete(EMobilePhoneSelectNetwork, aError);
       
  1708 	} // CPhoneDispatcher::CallbackSelectNetwork
       
  1709 
       
  1710 void CPhoneDispatcher::CallbackSelectNetworkCancel(TInt aError)
       
  1711 /**
       
  1712  * Callback function to be used by the request to complete 
       
  1713  * CCtsyDispatcherCallback::CallbackPhoneSelectNetworkCancelComp()
       
  1714  *
       
  1715  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1716  */
       
  1717 	{
       
  1718 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1719 
       
  1720 	iMessageManagerCallback.Complete(EMobilePhoneSelectNetworkCancel, aError);
       
  1721 	
       
  1722 	} // CPhoneDispatcher::CallbackSelectNetworkCancel
       
  1723 
       
  1724 void CPhoneDispatcher::CallbackSetNetworkSelectionSetting(TInt aError, 
       
  1725 		RMobilePhone::TMobilePhoneSelectionMethod aSelectionMethod)
       
  1726 /**
       
  1727  * Callback function to be used by the request to complete 
       
  1728  * CCtsyDispatcherCallback::CallbackPhoneSetNetworkSelectionSettingComp()
       
  1729  *
       
  1730  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1731  * @param aSelectionMethod The new network selection method.
       
  1732  */
       
  1733 	{
       
  1734 	TSYLOGENTRYEXITARGS(_L8("aError=%d,aSelectionMethod=%d"), aError, aSelectionMethod);
       
  1735 
       
  1736 	iMessageManagerCallback.Complete(EMobilePhoneSetNetworkSelectionSetting, aError);
       
  1737 	
       
  1738 	if(aError == KErrNone)
       
  1739 		{
       
  1740 		RMobilePhone::TMobilePhoneNetworkSelectionV1 phoneNetworkSelection;
       
  1741 		phoneNetworkSelection.iMethod = aSelectionMethod;
       
  1742 		
       
  1743 		// Pack the data to return to the Common TSY
       
  1744 		CMmDataPackage data;
       
  1745 		data.PackData(&phoneNetworkSelection);
       
  1746 
       
  1747 		iMessageManagerCallback.Complete(EMobilePhoneNotifyNetworkSelectionSettingChange, &data, aError);
       
  1748 		}
       
  1749 	} // CPhoneDispatcher::CallbackSetNetworkSelectionSetting
       
  1750 
       
  1751 
       
  1752 void CPhoneDispatcher::CallbackGetCurrentNetworkInfo(TInt aError,
       
  1753 				const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfo,
       
  1754 				const RMobilePhone::TMobilePhoneLocationAreaV1& aLocationArea)
       
  1755 /**
       
  1756  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetCurrentNetworkInfoL()
       
  1757  * 
       
  1758  * @param aError The error code to complete back.
       
  1759  * @param aNetworkInfo The network information to be sent to the CTSY Dispatcher.
       
  1760  * 		  Note the actual data type contained could be of type TMobilePhoneNetworkInfoV2 or TMobilePhoneNetworkInfoV1.
       
  1761  * @param aLocationArea The mobile phone location area.
       
  1762  */
       
  1763 	{
       
  1764 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1765 	
       
  1766 	// This is the callback for the internal getter for current network info.
       
  1767 	// In order to update CTSY's network info cache, we can make use of the completion as used by
       
  1768 	// the NotifyCurrentNetworkChange.
       
  1769 	CMmDataPackage dataPackage;
       
  1770 	dataPackage.PackData(const_cast<RMobilePhone::TMobilePhoneNetworkInfoV5*>(&aNetworkInfo),
       
  1771 						 const_cast<RMobilePhone::TMobilePhoneLocationAreaV1*>(&aLocationArea));
       
  1772 	
       
  1773 	iMessageManagerCallback.Complete(EMobilePhoneNotifyCurrentNetworkChange, &dataPackage, aError);
       
  1774 
       
  1775 	} // CPhoneDispatcher::CallbackGetCurrentNetworkChange
       
  1776 
       
  1777 void CPhoneDispatcher::CallbackGetNetworkMode(TInt aError,
       
  1778 				RMobilePhone::TMobilePhoneNetworkMode aNetworkMode) 
       
  1779 /**
       
  1780  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetNetworkModeL()
       
  1781  * 
       
  1782  * @param aError The error code to complete back.
       
  1783  * @param aNetworkMode The network mode to be sent to the CTSY Dispatcher.
       
  1784  */
       
  1785 	{
       
  1786 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1787 
       
  1788 	// This is the callback for the internal getter for the network mode.
       
  1789 	// In order to update CTSY's network mode cache, we can make use of the completion as used by
       
  1790 	// the NotifyNetworkModeChange.
       
  1791 	CMmDataPackage dataPackage;
       
  1792 	dataPackage.PackData(static_cast<RMobilePhone::TMobilePhoneNetworkMode*>(&aNetworkMode));
       
  1793 	
       
  1794 	iMessageManagerCallback.Complete(EMobilePhoneNotifyModeChange, &dataPackage, aError);
       
  1795 
       
  1796 	} // CPhoneDispatcher::CallbackGetNetworkMode
       
  1797 
       
  1798 void CPhoneDispatcher::CallbackGetNitzInfo(TInt aError,
       
  1799 				const RMobilePhone::TMobilePhoneNITZ& aNitzInfo)
       
  1800 /**
       
  1801  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetNitzInfoL()
       
  1802  * 
       
  1803  * @param aError The error code to complete back.
       
  1804  * @param aNitzInfo The NITZ information to be sent to the CTSY Dispatcher.
       
  1805  */
       
  1806 	{
       
  1807 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1808 
       
  1809 	// This is the callback for the internal getter for the NITZ info.
       
  1810 	// In order to update CTSY's NITZ cache, we can make use of the completion as used by
       
  1811 	// the NotifyNITZInfoChange.
       
  1812 	CMmDataPackage dataPackage;
       
  1813 	dataPackage.PackData(const_cast<RMobilePhone::TMobilePhoneNITZ*>(&aNitzInfo));
       
  1814 	
       
  1815 	iMessageManagerCallback.Complete(EMobilePhoneNotifyNITZInfoChange, &dataPackage, aError);
       
  1816 
       
  1817 	} // CPhoneDispatcher::CallbackGetNitzInfo
       
  1818 
       
  1819 void CPhoneDispatcher::CallbackGetSignalStrength(TInt aError,
       
  1820 				TInt32 aSignalStrength,
       
  1821 				TInt8 aBar) 
       
  1822 /**
       
  1823  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetSignalStrengthL()
       
  1824  * 
       
  1825  * @param aError The error code to complete back.
       
  1826  * @param aSignalStrength The signal strength value to be sent to the CTSY Dispatcher.
       
  1827  * @param aBar The bar display to be sent to the CTSY Dispatcher.
       
  1828  */
       
  1829 	{
       
  1830 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1831 
       
  1832 	// This is the callback for the internal getter for the NITZ info.
       
  1833 	// In order to update CTSY's NITZ cache, we can make use of the completion as used by
       
  1834 	// the NotifySignalStrengthChange.
       
  1835 	CMmDataPackage dataPackage;
       
  1836 	// Note: Ctsy expects the data to be packed in the order <bar, signalStrength>,
       
  1837 	// so swap the order here.
       
  1838 	dataPackage.PackData(static_cast<TInt8*>(&aBar),
       
  1839 						 static_cast<TInt32*>(&aSignalStrength));
       
  1840 	
       
  1841 	iMessageManagerCallback.Complete(EMobilePhoneNotifySignalStrengthChange, &dataPackage, aError);
       
  1842 
       
  1843 	} // CPhoneDispatcher::CallbackGetSignalStrength
       
  1844 
       
  1845 void CPhoneDispatcher::CallbackGetBatteryInfo(TInt aError,
       
  1846 				const RMobilePhone::TMobilePhoneBatteryInfoV1& aBatteryInfo)
       
  1847 /**
       
  1848  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetBatteryInfoL()
       
  1849  * 
       
  1850  * @param aError The error code to complete back.
       
  1851  * @param aBatteryInfo The battery information to be sent to the CTSY Dispatcher.
       
  1852  */
       
  1853 	{
       
  1854 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1855 
       
  1856 	// This is the callback for the internal getter for the battery information.
       
  1857 	// In order to update CTSY's battery information cache, we can make use of the completion as used by
       
  1858 	// the NotifyBatteryInfoChange.
       
  1859 	CMmDataPackage dataPackage;
       
  1860 	dataPackage.PackData(const_cast<RMobilePhone::TMobilePhoneBatteryInfoV1*>(&aBatteryInfo));
       
  1861 	
       
  1862 	iMessageManagerCallback.Complete(EMobilePhoneNotifyBatteryInfoChange, &dataPackage, aError);
       
  1863 
       
  1864 	} // CPhoneDispatcher::CallbackGetBatteryInfo
       
  1865 
       
  1866 void CPhoneDispatcher::CallbackNspsWakeup(TInt aError)
       
  1867 /**
       
  1868  * Completes CPhoneDispatcher::DispatchNspsWakeupL()
       
  1869  * 
       
  1870  * @param aError The error code to complete back.
       
  1871  */
       
  1872     {
       
  1873 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1874 	
       
  1875 	iMessageManagerCallback.Complete(ECustomNetWakeupIPC, aError);
       
  1876 	} // CPhoneDispatcher::CallbackNspsWakeup
       
  1877 
       
  1878 void CPhoneDispatcher::CallbackSetSystemNetworkMode(TInt aError)
       
  1879 /**
       
  1880  * Completes CPhoneDispatcher::DispatchSetSystemNetworkModeL()
       
  1881  * 
       
  1882  * @param aError The error code to complete back.
       
  1883  */
       
  1884     {
       
  1885 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1886 	
       
  1887 	iMessageManagerCallback.Complete(ECustomSetSystemNetworkModeIPC, aError);
       
  1888 	} // CPhoneDispatcher::CallbackSetSystemNetworkMode
       
  1889 
       
  1890 void CPhoneDispatcher::CallbackGetCurrentSystemNetworkModes(TInt aError, TUint32 aCurrentSystemNetworkModes)
       
  1891 /**
       
  1892  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetCurrentSystemNetworkModesL()
       
  1893  * 
       
  1894  * @param aError The error code to complete back.
       
  1895  * @param aCurrentSystemNetworkModes A bit mask that represents the current
       
  1896  *         network modes with values from RMmCustomAPI::TNetworkModeCaps.
       
  1897  */
       
  1898     {
       
  1899 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aCurrentSystemNetworkModes=%d"), aError,aCurrentSystemNetworkModes);
       
  1900 	
       
  1901 	// Pack the data to return to the Common TSY
       
  1902 	CMmDataPackage data;
       
  1903 	data.PackData(&aCurrentSystemNetworkModes);
       
  1904 	
       
  1905 	iMessageManagerCallback.Complete(ECustomGetCurrentSystemNetworkModesIPC, &data, aError);
       
  1906 	} // CPhoneDispatcher::CallbackGetCurrentSystemNetworkModes
       
  1907 
       
  1908 void CPhoneDispatcher::CallbackResetNetServer(TInt aError)
       
  1909 /**
       
  1910  * Completes CPhoneDispatcher::DispatchResetNetServerL()
       
  1911  * 
       
  1912  * @param aError The error code to complete back.
       
  1913  */
       
  1914     {
       
  1915 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1916 	
       
  1917 	iMessageManagerCallback.Complete(ECustomResetNetServerIPC, aError);
       
  1918 	} // CPhoneDispatcher::CallbackResetNetServer
       
  1919 
       
  1920 void CPhoneDispatcher::CallbackSetAlwaysOnMode(TInt aError)
       
  1921 /**
       
  1922  * Completes CPhoneDispatcher::DispatchSetAlwaysOnModeL()
       
  1923  * 
       
  1924  * @param aError The error code to complete back.
       
  1925  */
       
  1926     {
       
  1927 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1928 	
       
  1929 	iMessageManagerCallback.Complete(ECustomSetAlwaysOnMode, aError);
       
  1930 	} // CPhoneDispatcher::CallbackSetAlwaysOnMode
       
  1931 
       
  1932 void CPhoneDispatcher::CallbackSetDriveMode(TInt aError)
       
  1933 /**
       
  1934  * Completes CPhoneDispatcher::DispatchSetDriveModeL()
       
  1935  * 
       
  1936  * @param aError The error code to complete back.
       
  1937  */
       
  1938     {
       
  1939 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  1940 	
       
  1941 	iMessageManagerCallback.Complete(ECustomSetDriveModeIPC, aError);
       
  1942 	} // CPhoneDispatcher::CallbackSetDriveMode
       
  1943 
       
  1944 void CPhoneDispatcher::CallbackNotifyNspsStatusChange(TInt aError, TBool aEnabled)
       
  1945 /**
       
  1946  * Callback function to be used by the request to complete 
       
  1947  * CCtsyDispatcherCallback::CallbackPhoneNotifyNspsStatusChangeInd()
       
  1948  *
       
  1949  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1950  * @param aEnabled whether No Signal Power Save is enabled.
       
  1951  */
       
  1952 	{
       
  1953 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aEnabled=%d"), aError, aEnabled);
       
  1954 
       
  1955 	// Pack the data to return to the Common TSY
       
  1956 	CMmDataPackage data;
       
  1957 	data.PackData(&aEnabled);
       
  1958 	
       
  1959 	iMessageManagerCallback.Complete(ECustomNotifyNSPSStatusIPC, &data, aError);
       
  1960 	
       
  1961 	} // CPhoneDispatcher::CallbackNotifyNspsStatusChange
       
  1962 
       
  1963 void CPhoneDispatcher::CallbackNotifyNetworkSelectionSettingChange(TInt aError, RMobilePhone::TMobilePhoneSelectionMethod aSelectionMethod)
       
  1964 /**
       
  1965  * Callback function to be used by the request to complete 
       
  1966  * CCtsyDispatcherCallback::CallbackPhoneNotifyNetworkSelectionSettingChangeInd()
       
  1967  *
       
  1968  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1969  * @param aSelectionMethod The new network selection method.
       
  1970  */
       
  1971 	{
       
  1972 	TSYLOGENTRYEXITARGS(_L8("aError=%d,aSelectionMethod=%d"), aError, aSelectionMethod);
       
  1973 	
       
  1974 	RMobilePhone::TMobilePhoneNetworkSelectionV1 phoneNetworkSelection;
       
  1975 	phoneNetworkSelection.iMethod = aSelectionMethod;
       
  1976 	
       
  1977 	// Pack the data to return to the Common TSY
       
  1978 	CMmDataPackage data;
       
  1979 	data.PackData(&phoneNetworkSelection);
       
  1980 
       
  1981 	iMessageManagerCallback.Complete(EMobilePhoneNotifyNetworkSelectionSettingChange, &data, aError);
       
  1982 	} // CPhoneDispatcher::CallbackNotifyNetworkSelectionSettingChange
       
  1983 
       
  1984 void CPhoneDispatcher::CallbackNotifyRauEvent(TInt aError, RMmCustomAPI::TRauEventStatus aRauEvent)
       
  1985 /**
       
  1986  * Callback function to be used by the request to complete 
       
  1987  * CCtsyDispatcherCallback::CallbackPhoneNotifyRauEventInd()
       
  1988  *
       
  1989  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  1990  * @param aRauEvent The RAU (Routing Area Update) event to be notified (Active or Resumed).
       
  1991  */
       
  1992 	{
       
  1993 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aRauEvent=%d"), aError, aRauEvent);
       
  1994 
       
  1995 	// Pack the data to return to the Common TSY
       
  1996 	CMmDataPackage dataPackage;
       
  1997 	dataPackage.PackData(&aRauEvent);
       
  1998 	
       
  1999 	iMessageManagerCallback.Complete(ECustomNotifyRauEventIPC, &dataPackage, aError);
       
  2000 	
       
  2001 	} // CPhoneDispatcher::CallbackNotifyRauEvent
       
  2002 
       
  2003 void CPhoneDispatcher::CallbackNotifyNetworkConnectionFailure(TInt aError)
       
  2004 /**
       
  2005  * Callback function to be used by the request to complete 
       
  2006  * CCtsyDispatcherCallback::CallbackPhoneNotifyNetworkConnectionFailureInd()
       
  2007  *
       
  2008  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2009  */
       
  2010 	{
       
  2011 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2012 
       
  2013 	
       
  2014 	iMessageManagerCallback.Complete(ECustomNotifyNetworkConnectionFailureIPC, aError);
       
  2015 	
       
  2016 	} // CPhoneDispatcher::CallbackNotifyNetworkConnectionFailure
       
  2017 
       
  2018 void CPhoneDispatcher::CallbackNotifyDtmfEvent(TInt aError, RMmCustomAPI::TDtmfEventType aType,
       
  2019                                                RMmCustomAPI::TDtmfEvent aEvent, TChar aTone)
       
  2020 /**
       
  2021  * Callback function to be used by the request to complete 
       
  2022  * CCtsyDispatcherCallback::CallbackPhoneNotifyDtmfEventInd()
       
  2023  *
       
  2024  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2025  * @param aType The DTMF event type.
       
  2026  * @param aEvent The DTMF event to be notified.
       
  2027  * @param aTone The event tone.
       
  2028  */
       
  2029 	{
       
  2030 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aType=%d, aEvent=%d, aTone=%d"), aError, aType, aEvent, (TInt)aTone);
       
  2031 
       
  2032 	// Pack the data to return to the Common TSY
       
  2033     RMmCustomAPI::TDtmfInfo info;
       
  2034     info.iType = aType;
       
  2035     info.iEvent = aEvent;
       
  2036     info.iTone = aTone;
       
  2037 	CMmDataPackage dataPackage;
       
  2038 	dataPackage.PackData(&info);
       
  2039 	
       
  2040 	iMessageManagerCallback.Complete(ECustomNotifyDtmfEventIPC, &dataPackage, aError);
       
  2041 	
       
  2042 	} // CPhoneDispatcher::CallbackNotifyDtmfEvent
       
  2043 
       
  2044 void CPhoneDispatcher::CallbackNotifyDtmfEvent(TInt aError, RMobilePhone::TMobilePhoneDTMFEvent aEventType)
       
  2045 /**
       
  2046  * Callback function to be used by the request to complete 
       
  2047  * CCtsyDispatcherCallback::CallbackPhoneNotifyDtmfEventInd()
       
  2048  *
       
  2049  * @param aError KErrNone on success, or another error code indicating the error otherwise.
       
  2050  * @param aEventType The DTMF event type. Either EStartDtmfTone or EStopDtmfTone
       
  2051  */
       
  2052 	{
       
  2053 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aEventType=%d"), aEventType);
       
  2054 
       
  2055 	// Pack the data to return to the Common TSY
       
  2056     RMobilePhone::TMobilePhoneDTMFEvent info;
       
  2057     info = aEventType;
       
  2058  	CMmDataPackage dataPackage;
       
  2059 	dataPackage.PackData(&info);
       
  2060 	
       
  2061 	iMessageManagerCallback.Complete(EMobilePhoneNotifyDTMFEvent, &dataPackage, aError);
       
  2062 	
       
  2063 	} // CPhoneDispatcher::CallbackNotifyDtmfEvent	
       
  2064 	
       
  2065 void CPhoneDispatcher::CallbackGetHspaStatus(TInt aError, RMmCustomAPI::THSxPAStatus aStatus)
       
  2066 /**
       
  2067  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetHspaStatusL()
       
  2068  * 
       
  2069  * @param aError The error code to complete back.
       
  2070  * @param aStatus The phone HSxPA status (enable or disable).
       
  2071  */
       
  2072     {
       
  2073 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aStatus=%d"), aError, aStatus);
       
  2074 	
       
  2075 	// Pack the data to return to the Common TSY
       
  2076 	CMmDataPackage data;
       
  2077 	data.PackData(&aStatus);
       
  2078 	
       
  2079 	iMessageManagerCallback.Complete(ECustomReadHSxPAStatusIPC, &data, aError);
       
  2080 	} // CPhoneDispatcher::CallbackGetHspaStatus
       
  2081 
       
  2082 void CPhoneDispatcher::CallbackSetHspaStatus(TInt aError)
       
  2083 /**
       
  2084  * Completes CPhoneDispatcher::DispatchSetHspaStatusL()
       
  2085  * 
       
  2086  * @param aError The error code to complete back.
       
  2087  */
       
  2088     {
       
  2089 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2090 	
       
  2091 	iMessageManagerCallback.Complete(ECustomWriteHSxPAStatusIPC, aError);
       
  2092 	} // CPhoneDispatcher::CallbackSetHspaStatus
       
  2093 
       
  2094 void CPhoneDispatcher::CallbackNotifyHspaStatusChanged(TInt aError, RMmCustomAPI::THSxPAStatus aStatus)
       
  2095 /**
       
  2096  * Callback function to be used by the request to complete 
       
  2097  * CCtsyDispatcherCallback::CallbackPhoneNotifyHspaStatusChangedInd()
       
  2098  *
       
  2099  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2100  * @param aStatus The new HSxPA status (enable or disable).
       
  2101  */
       
  2102 	{
       
  2103 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aStatus=%d"), aError, aStatus);
       
  2104 
       
  2105 	// Pack the data to return to the Common TSY
       
  2106 	CMmDataPackage dataPackage;
       
  2107 	dataPackage.PackData(&aStatus);
       
  2108 	
       
  2109 	iMessageManagerCallback.Complete(ECustomNotifyHSxPAStatusIPC, &dataPackage, aError);
       
  2110 	
       
  2111 	} // CPhoneDispatcher::CallbackNotifyHspaStatusChanged
       
  2112 
       
  2113 void CPhoneDispatcher::CallbackGetNetworkProviderName(TInt aError, const TDesC& aName)
       
  2114 /**
       
  2115  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetNetworkProviderNameL()
       
  2116  * 
       
  2117  * @param aError The error code to complete back.
       
  2118  * @param aName The name of the current network provider.
       
  2119  */
       
  2120     {
       
  2121 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2122 	
       
  2123 	// Pack the data to return to the Common TSY
       
  2124 	CMmDataPackage data;
       
  2125 	TDesC* name = const_cast<TDesC*>(&aName);
       
  2126 	data.PackData(&name);
       
  2127 	
       
  2128 	iMessageManagerCallback.Complete(ECustomGetNetworkProviderNameIPC, &data, aError);
       
  2129 	} // CPhoneDispatcher::CallbackGetNetworkProviderName
       
  2130 
       
  2131 void CPhoneDispatcher::CallbackGetOperatorName(TInt aError, RMmCustomAPI::TOperatorNameType aType, const TDesC& aName)
       
  2132 /**
       
  2133  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetOperatorNameL()
       
  2134  * 
       
  2135  * @param aError The error code to complete back.
       
  2136  * @param aType The type of the operator name.
       
  2137  * @param aName The name of the current operator.
       
  2138  */
       
  2139     {
       
  2140 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aType=%d"), aError,aType);
       
  2141 	
       
  2142 	// Pack the data to return to the Common TSY
       
  2143     RMmCustomAPI::TOperatorNameInfo nameInfo;
       
  2144     nameInfo.iType = aType;
       
  2145     nameInfo.iName.Copy(aName);
       
  2146 	CMmDataPackage data;
       
  2147 	data.PackData(&nameInfo);
       
  2148 	
       
  2149 	iMessageManagerCallback.Complete(ECustomGetOperatorNameIPC, &data, aError);
       
  2150 	} // CPhoneDispatcher::CallbackGetOperatorName
       
  2151 
       
  2152 void CPhoneDispatcher::CallbackGetCellInfo(TInt aError)
       
  2153 /**
       
  2154  * Completes CPhoneDispatcher::DispatchGetCellInfoL()
       
  2155  * 
       
  2156  * @param aError The error code to complete back.
       
  2157  */
       
  2158     {
       
  2159 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2160 	
       
  2161 	// Pack the data to return to the Common TSY
       
  2162 	iCellInfo->iMode = RMmCustomAPI::TMmCellInfo::EUnknown;
       
  2163 	CMmDataPackage data;
       
  2164 	data.PackData(iCellInfo);
       
  2165 	
       
  2166 	iMessageManagerCallback.Complete(ECustomGetCellInfoIPC, &data, aError);
       
  2167 	} // CPhoneDispatcher::CallbackGetCellInfo
       
  2168 
       
  2169 void CPhoneDispatcher::CallbackGetCellInfo(TInt aError, const RMmCustomAPI::TMmCellInfo::TGSMCellInfo& aInfo)
       
  2170 /**
       
  2171  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetCellInfoL()
       
  2172  * 
       
  2173  * @param aError The error code to complete back.
       
  2174  * @param aInfo The GSM cell information.
       
  2175  */
       
  2176     {
       
  2177 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2178 	
       
  2179 	// Pack the data to return to the Common TSY
       
  2180 	iCellInfo->iMode = RMmCustomAPI::TMmCellInfo::EGSM;
       
  2181 	iCellInfo->iGsmCellInfo = aInfo;
       
  2182 	CMmDataPackage data;
       
  2183 	data.PackData(iCellInfo);
       
  2184 	
       
  2185 	iMessageManagerCallback.Complete(ECustomGetCellInfoIPC, &data, aError);
       
  2186 	} // CPhoneDispatcher::CallbackGetCellInfo
       
  2187 
       
  2188 void CPhoneDispatcher::CallbackGetCellInfo(TInt aError, const RMmCustomAPI::TMmCellInfo::TWCDMACellInfo& aInfo)
       
  2189 /**
       
  2190  * Packages the data returned by the Licensee LTSY and completes CPhoneDispatcher::DispatchGetCellInfoL()
       
  2191  * 
       
  2192  * @param aError The error code to complete back.
       
  2193  * @param aInfo The WCDMA cell information.
       
  2194  */
       
  2195     {
       
  2196 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2197 	
       
  2198 	// Pack the data to return to the Common TSY
       
  2199 	iCellInfo->iMode = RMmCustomAPI::TMmCellInfo::EWCDMA;
       
  2200 	iCellInfo->iWcdmaCellInfo = aInfo;
       
  2201 	CMmDataPackage data;
       
  2202 	data.PackData(iCellInfo);
       
  2203 	
       
  2204 	iMessageManagerCallback.Complete(ECustomGetCellInfoIPC, &data, aError);
       
  2205 	} // CPhoneDispatcher::CallbackGetCellInfo
       
  2206 
       
  2207 void CPhoneDispatcher::CallbackNotifyCellInfoChanged(TInt aError)
       
  2208 /**
       
  2209  * Callback function to be used by the request to complete 
       
  2210  * CCtsyDispatcherCallback::CallbackPhoneNotifyCellInfoChangedInd()
       
  2211  *
       
  2212  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2213  */
       
  2214 	{
       
  2215 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2216 
       
  2217 	// Pack the data to return to the Common TSY
       
  2218 	CMmDataPackage dataPackage;
       
  2219 	iCellInfo->iMode = RMmCustomAPI::TMmCellInfo::EUnknown;
       
  2220 	CMmDataPackage data;
       
  2221 	data.PackData(iCellInfo);
       
  2222 	
       
  2223 	iMessageManagerCallback.Complete(ECustomNotifyCellInfoChangeIPC, &data, aError);
       
  2224 	
       
  2225 	} // CPhoneDispatcher::CallbackNotifyCellInfoChanged
       
  2226 
       
  2227 void CPhoneDispatcher::CallbackNotifyCellInfoChanged(TInt aError, const RMmCustomAPI::TMmCellInfo::TGSMCellInfo& aInfo)
       
  2228 /**
       
  2229  * Callback function to be used by the request to complete 
       
  2230  * CCtsyDispatcherCallback::CallbackPhoneNotifyCellInfoChangedInd()
       
  2231  *
       
  2232  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2233  * @param aInfo The new GSM cell information.
       
  2234  */
       
  2235 	{
       
  2236 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2237 
       
  2238 	// Pack the data to return to the Common TSY
       
  2239 	CMmDataPackage dataPackage;
       
  2240 	iCellInfo->iMode = RMmCustomAPI::TMmCellInfo::EGSM;
       
  2241 	iCellInfo->iGsmCellInfo = aInfo;
       
  2242 	CMmDataPackage data;
       
  2243 	data.PackData(iCellInfo);
       
  2244 	
       
  2245 	iMessageManagerCallback.Complete(ECustomNotifyCellInfoChangeIPC, &data, aError);
       
  2246 	
       
  2247 	} // CPhoneDispatcher::CallbackNotifyCellInfoChanged
       
  2248 
       
  2249 void CPhoneDispatcher::CallbackNotifyCellInfoChanged(TInt aError, const RMmCustomAPI::TMmCellInfo::TWCDMACellInfo& aInfo)
       
  2250 /**
       
  2251  * Callback function to be used by the request to complete 
       
  2252  * CCtsyDispatcherCallback::CallbackPhoneNotifyCellInfoChangedInd()
       
  2253  *
       
  2254  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2255  * @param aInfo The new WCDMA cell information.
       
  2256  */
       
  2257 	{
       
  2258 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2259 
       
  2260 	// Pack the data to return to the Common TSY
       
  2261 	CMmDataPackage dataPackage;
       
  2262 	iCellInfo->iMode = RMmCustomAPI::TMmCellInfo::EWCDMA;
       
  2263 	iCellInfo->iWcdmaCellInfo = aInfo;
       
  2264 	CMmDataPackage data;
       
  2265 	data.PackData(iCellInfo);
       
  2266 	
       
  2267 	iMessageManagerCallback.Complete(ECustomNotifyCellInfoChangeIPC, &data, aError);
       
  2268 	
       
  2269 	} // CPhoneDispatcher::CallbackNotifyCellInfoChanged
       
  2270 
       
  2271 void CPhoneDispatcher::CallbackRegisterCellInfoChangeNotification(TInt aError)
       
  2272 /**
       
  2273  * Callback function to be used by the request to complete
       
  2274  * CCtsyDispatcherCallback::CallbackPhoneRegisterCellInfoChangeNotificationComp()
       
  2275  *
       
  2276  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2277  */
       
  2278 	{
       
  2279 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2280 	
       
  2281 	iMessageManagerCallback.Complete(ECtsyPhoneCellInfoIndComp, aError);
       
  2282 	} // CPhoneDispatcher::CallbackRegisterCellInfoChangeNotification
       
  2283 
       
  2284 void CPhoneDispatcher::CallbackGetPhoneCellInfo(TInt aError, const RMobilePhone::TMobilePhoneCellInfoV9& aCellInfo)
       
  2285 /**
       
  2286  * Callback function to be used by the request to complete
       
  2287  * CCtsyDispatcherCallback::CallbackPhoneGetPhoneCellInfoComp()
       
  2288  *
       
  2289  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2290  * @param aCellInfo The cell information to be cached in the CTSY and returned to the client.
       
  2291  */
       
  2292 	{
       
  2293 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2294 	
       
  2295 	// Pack the data to return to the Common TSY
       
  2296 	CMmDataPackage data;
       
  2297 	data.PackData(&const_cast<RMobilePhone::TMobilePhoneCellInfoV9&>(aCellInfo));
       
  2298 	
       
  2299 	iMessageManagerCallback.Complete(ECtsyPhoneCellInfoComp, &data, aError);
       
  2300 	} // CPhoneDispatcher::CallbackGetPhoneCellInfo
       
  2301 
       
  2302 void CPhoneDispatcher::CallbackGetUsimServiceSupport(TInt aError, TInt aApplicationNumber, TBool aSupported)
       
  2303 /**
       
  2304  * Callback function to be used by the request to complete
       
  2305  * CCtsyDispatcherCallback::CallbackPhoneGetUsimServiceSupportComp()
       
  2306  *
       
  2307  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2308  * @param aApplicationNumber The application number to which the support status is related to.
       
  2309  * @param aSupported The service supported state (True / False)
       
  2310  */
       
  2311 	{
       
  2312 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aApplicationNumber=%d, aSupported=%d"), aError, aApplicationNumber, aSupported);
       
  2313 	
       
  2314 	// Pack the data to return to the Common TSY
       
  2315 	
       
  2316 	RMmCustomAPI::TAppSupport appSupport;
       
  2317 	appSupport.iAppNum = aApplicationNumber;
       
  2318 	appSupport.iSupported = aSupported;
       
  2319 	
       
  2320 	CMmDataPackage data;
       
  2321 	data.PackData(&appSupport);
       
  2322 	
       
  2323 	iMessageManagerCallback.Complete(ECustomGetServiceTableSupportbyApplicationIPC, &data, aError);
       
  2324 	} //CPhoneDispatcher::CallbackGetUsimServiceSupport
       
  2325 
       
  2326 void CPhoneDispatcher::CallbackGetCurrentActiveUsimApplication(TInt aError, const TDesC8& aAid)
       
  2327 /**
       
  2328  * Callback function to be used by the request to complete
       
  2329  * CCtsyDispatcherCallback::CallbackPhoneGetCurrentActiveUsimApplicationComp()
       
  2330  *
       
  2331 * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2332 * @param aAid The AID of the currently active USIM Application, this should be no longer than RMobilePhone::KAIDSize.
       
  2333  */
       
  2334 	{
       
  2335 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aAid=%S"), aError, &aAid);
       
  2336 	
       
  2337 	__ASSERT_DEBUG(aAid.Length() <= RMobilePhone::KAIDSize, CtsyDispatcherPanic(EBadLength));
       
  2338 	
       
  2339 	//CTSY unpacks as a TAID* so we have to copy the TDesC& here to be safe.
       
  2340 	RMobilePhone::TAID aid(aAid.Left(RMobilePhone::KAIDSize));
       
  2341 	
       
  2342 	CMmDataPackage data;
       
  2343 	data.PackData(&aid);
       
  2344 	
       
  2345 	iMessageManagerCallback.Complete(EMobilePhoneGetCurrentActiveUSimApplication, &data, aError);
       
  2346 	} //CPhoneDispatcher::CallbackGetCurrentActiveUsimApplication
       
  2347 
       
  2348 void CPhoneDispatcher::CallbackTerminateAllCalls(TInt aError)
       
  2349 /**
       
  2350  * Callback function to be used by the request to complete
       
  2351  * CCtsyDispatcherCallback::CallbackPhoneTerminateAllCallsComp()
       
  2352  *
       
  2353  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2354  */
       
  2355 	{
       
  2356 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2357 	
       
  2358 	iMessageManagerCallback.Complete(ECtsyPhoneTerminateAllCallsComp, aError);
       
  2359 	} //CPhoneDispatcher::CallbackTerminateAllCalls
       
  2360 
       
  2361 void CPhoneDispatcher::CallbackGetSystemNetworkBand(TInt aError, RMmCustomAPI::TBandSelection aBand, RMmCustomAPI::TNetworkModeCaps aMode)
       
  2362 /**
       
  2363  * Callback function to be used by the request to complete
       
  2364  * CCtsyDispatcherCallback::CallbackPhoneGetCurrentActiveUsimApplicationComp()
       
  2365  *
       
  2366 * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2367 * @param aBand the current network band
       
  2368 * @param aMode the current nework mode
       
  2369  */
       
  2370 	{
       
  2371 	TSYLOGENTRYEXITARGS(_L8("aError=%d, aBand=%d, aMode=%d"), aError, aBand, aMode);
       
  2372 	
       
  2373 	CMmDataPackage data;
       
  2374 	data.PackData(&aBand, &aMode);
       
  2375 	
       
  2376 	iMessageManagerCallback.Complete(ECustomGetBandSelectionIPC, &data, aError);
       
  2377 	} //CPhoneDispatcher::CallbackGetSystemNetworkBand
       
  2378 
       
  2379 void CPhoneDispatcher::CallbackSetSystemNetworkBand(TInt aError)
       
  2380 /**
       
  2381  * Callback function to be used by the request to complete
       
  2382  * CCtsyDispatcherCallback::CallbackSetSystemNetworkBandComp()
       
  2383  *
       
  2384  * @param aError The error code to be returned to the CTSY Dispatcher.
       
  2385  */
       
  2386 	{
       
  2387 	TSYLOGENTRYEXITARGS(_L8("aError=%d"), aError);
       
  2388 	
       
  2389 	iMessageManagerCallback.Complete(ECustomSetBandSelectionIPC, aError);
       
  2390 	} //CPhoneDispatcher::CallbackSetSystemNetworkBand
       
  2391 
       
  2392 void CPhoneDispatcher::CallbackSync(CRequestQueueOneShot::TIpcDataPackage& aIpcDataPackage)
       
  2393 /**
       
  2394  * Part of the MDispatcherCallback interface. Used to complete requests handled
       
  2395  * synchronously by the Licensee LTSY asynchronously back to the Common TSY.
       
  2396  *  
       
  2397  * @param aIpcDataPackage Package encapsulating the request.
       
  2398  * 
       
  2399  * @see MDispatcherCallback::CallbackSync
       
  2400  */
       
  2401 	{
       
  2402 	TSYLOGENTRYEXIT;
       
  2403 	
       
  2404 	switch (aIpcDataPackage.iIpc)
       
  2405 		{
       
  2406 
       
  2407 	default:
       
  2408 		LOG(_L8("WARNING: CPhoneDispatcher::CallbackSync unhandled IPC=%d"), aIpcDataPackage.iIpc);
       
  2409 		__ASSERT_DEBUG(NULL, CtsyDispatcherPanic(EUnhandledCtsyIpc));
       
  2410 		break;		
       
  2411 		} // switch (aIpcDataPackage.iIpc)
       
  2412 	} // CPhoneDispatcher::CallbackSync
       
  2413