--- a/telephonyserverplugins/simatktsy/src/csatmessagerouterproxy.cpp Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/simatktsy/src/csatmessagerouterproxy.cpp Thu May 06 15:10:38 2010 +0100
@@ -1,633 +1,633 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Name : CSatMessageRouterProxy.cpp
-// Part of : Common SIM ATK TSY / commonsimatktsy
-// Routes between Tsy objects and Message Handler objects
-// Version : 1.0
-// INCLUDE FILES
-//
-
-
-
-#include <satcs.h>
-// Tsy module files
-#include "CSatDataPackage.h"
-// Sat
-#include "CSatMessageRouterProxy.h"
-#include "CSatTsy.h"
-#include "CSatNotificationsTsy.h"
-#include "CSatCCTsy.h"
-#include "CSatIconTsy.h"
-#include "CSatNotifyDisplayText.h"
-#include "CSatNotifyGetInkey.h"
-#include "CSatNotifyGetInput.h"
-#include "CSatNotifyPlayTone.h"
-#include "CSatNotifySetUpMenu.h"
-#include "CSatNotifySelectItem.h"
-#include "CSatNotifySendSm.h"
-#include "CSatNotifySendUssd.h"
-#include "CSatNotifySendSs.h"
-#include "CSatNotifySetUpIdleModeText.h"
-#include "CSatNotifyLaunchBrowser.h"
-#include "CSatNotifySimSessionEnd.h"
-#include "CSatNotifyCallControlRequest.h"
-#include "CSatNotifySetUpCall.h"
-#include "CSatNotifySetUpEventList.h"
-#include "CSatNotifyTimerMgmt.h"
-#include "CSatNotifyLanguageNotification.h"
-#include "CSatNotifySendDtmf.h"
-#include "CSatNotifyPollingOff.h"
-#include "CSatNotifyPollInterval.h"
-#include "CSatNotifyLocalInfo.h"
-#include "CSatNotifyRefresh.h"
-#include "CSatNotifyMoSmControlRequest.h"
-#include "CSatEventDownloadTsy.h"
-#include "CSatDataDownloadTsy.h"
-// Utilities
-#include "tflogger.h"
-#include "msattsy_ipcdefs.h"
-#include "ctsydelegates.h"
-
-// EXTERNAL DATA STRUCTURES
- //None
-
-// EXTERNAL FUNCTION PROTOTYPES
- //None
-
-// CONSTANTS
- //None
-
-// MACROS
- //None
-
-// LOCAL CONSTANTS AND MACROS
- //None
-
-// MODULE DATA STRUCTURES
- //None
-
-// LOCAL FUNCTION PROTOTYPES
- //None
-
-// ==================== LOCAL FUNCTIONS =====================================
-
- //None
-
-
-// ================= MEMBER FUNCTIONS =======================================
-
-// -----------------------------------------------------------------------------
-// CSatDataDownloadTsy::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CSatMessageRouterProxy* CSatMessageRouterProxy::NewL(CTsyDelegates& aTsyDelegates)
- {
- TFLOGSTRING( "CSAT: CSatMessageRouterProxy::NewL" );
-
- CSatMessageRouterProxy* satMessageRouterProxy =
- new ( ELeave ) CSatMessageRouterProxy(aTsyDelegates);
- CleanupStack::PushL( satMessageRouterProxy );
- satMessageRouterProxy->ConstructL();
- CleanupStack::Pop();
-
- TFLOGSTRING("CSAT: CSatMessageRouterProxy::NewL, end of method");
- return satMessageRouterProxy;
- }
-
-// -----------------------------------------------------------------------------
-// CSatMessageRouterProxy::~CSatMessageRouterProxy
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CSatMessageRouterProxy::~CSatMessageRouterProxy
- (
- void
- )
- {
- TFLOGSTRING( "CSAT: CSatMessageRouterProxy::~CSatMessageRouterProxy" );
- }
-
-// -----------------------------------------------------------------------------
-// CSatMessageRouterProxy::CSatMessageRouterProxy
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-CSatMessageRouterProxy::CSatMessageRouterProxy(CTsyDelegates& aTsyDelegates)
-: iTsyDelegates(aTsyDelegates)
- {
- // None
- }
-
-// -----------------------------------------------------------------------------
-// CSatMessageRouterProxy::ConstructL
-// Symbian 2nd phase constructor. Initialises internal attributes.
-// -----------------------------------------------------------------------------
-//
-void CSatMessageRouterProxy::ConstructL
- (
- void
- )
- {
- TFLOGSTRING( "CSAT: CSatMessageRouterProxy::ConstructL, noes nothing" );
- }
-
-// -----------------------------------------------------------------------------
-// CSatMessageRouterProxy::RouteRequest
-// Dummy implementation
-// -----------------------------------------------------------------------------
-//
-MMmMessHandlerBase* CSatMessageRouterProxy::RouteRequest
- (
- TInt /*aIpc*/
- )
- {
- // Dummy implementation
- TFLOGSTRING( "CSAT: CSatMessageRouterProxy::RouteRequest: DUMMY" );
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CSatMessageRouterProxy::RouteCompletion
-// Completes a request or notification via the specific Tsy object, based on
-// IPC number and data package
-// -----------------------------------------------------------------------------
-//
-void CSatMessageRouterProxy::RouteCompletion
- (
- TInt aIpc,
- CSatDataPackage* aDataPackage,
- TInt aResult
- )
- {
- TInt trapError( KErrNone );
- TRAP( trapError, RouteCompletionL( aIpc, aDataPackage, aResult ) );
-
- if ( KErrNone != trapError )
- {
- TFLOGSTRING2("CSatMessageRouterProxy::RouteCompletion, trapError=%d",
- trapError);
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CSatMessageRouterProxy::GetObjectForCompletion
-// Returns the pointer to the Tsy object needed for completion, based
-// on the IPC number and the data package
-// -----------------------------------------------------------------------------
-//
-CBase* CSatMessageRouterProxy::GetObjectForCompletion
- (
- const TInt aIpc,
- CSatDataPackage* /*aDataPackage*/
- )
- {
- TFLOGSTRING("CSAT: CMmMessageRouterBase::GetObjectForCompletion");
- CBase* satObject = NULL;
-
- CMmMessageManagerBase::TTsyObjects tsyObject =
- GetTsyObjectFromIpc( aIpc );
- // Get the object
- satObject = iTsyDelegates.GetTsyObject(tsyObject);
- return satObject;
- }
-
-// -----------------------------------------------------------------------------
-// CSatMessageRouterProxy::GetTsyObjectFromIpc
-// Returns the type of Tsy object needed for completion, based
-// on the IPC number
-// -----------------------------------------------------------------------------
-//
- CMmMessageManagerBase::TTsyObjects CSatMessageRouterProxy::GetTsyObjectFromIpc
- (
- const TInt aIpc
- ) const
-
- {
- TFLOGSTRING( "CSAT: CSatMessageRouterProxy::GetTsyObjectFromIpc" );
- // A default value must be given as a initialization, however, nothing will
- // be done if the IPC does not mach as well in RouteCompletion
- CMmMessageManagerBase::TTsyObjects retObject =
- CMmMessageManagerBase::ESatTsyObjType;
-
- switch ( aIpc )
- {
- // General
- case ESatTerminalRsp:
- case ESatMenuSelection:
- case ESatSendMessageNoLogging:
- {
- retObject = CMmMessageManagerBase::ESatTsyObjType;
- break;
- }
- // Icon
- case ESatTsyGetIconData:
- case ESatTsyGetImageInstance:
- case ESatTsyGetClut:
- {
- retObject = CMmMessageManagerBase::ESatIconTsyObjType;
- break;
- }
- // Notifications
- case ESatTsyPCmd:
- case ESatTsySetPolling:
- case ESatTsySetProactiveCommandOnGoingStatus:
- {
- retObject = CMmMessageManagerBase::ESatNotificationsTsyObjType;
- break;
- }
- case ESatNotifyProactiveSimSessionEnd:
- {
- retObject = CMmMessageManagerBase::ESatNotifySimSessionEndObjType;
- break;
- }
- case ESatTsyRefresh:
- case ESatTsyCompleteRefresh:
- case ESatTsyImsiChanged:
- {
- retObject = CMmMessageManagerBase::ESatNotifyRefreshObjType;
- break;
- }
- case ESatTsyNotifyLocalInfo:
- case ESatTsyProvideLocalInfo:
- case ESatTsyLocalInformationNmr:
- case ESatTsyAccTech:
- case ESatTsyTimingAdvance:
- case ESatTsyTimeZone:
- case ESatTsyGetIMEI:
- case ESatNotifyLocalInfoPCmd:
- {
- retObject = CMmMessageManagerBase::ESatNotifyLocalInfoObjType;
- break;
- }
- case ESatNotifySetUpEventListPCmd:
- {
- retObject = CMmMessageManagerBase::ESatNotifySetUpEventListObjType;
- break;
- }
- case ESatNotifyMoSmControlRequest:
- case ESatTsyMoSmControlEnvelope:
- case ESatTsyMoSmsControlActivation:
- {
- retObject =
- CMmMessageManagerBase::ESatNotifyMoSmControlRequestObjType;
- break;
- }
- case ESatTsySsStatus:
- {
- retObject = CMmMessageManagerBase::ESatNotifyLaunchBrowserObjType;
- break;
- }
- case ESatNotifyCallControlRequest:
- {
- retObject =
- CMmMessageManagerBase::ESatNotifyCallControlRequestObjType;
- break;
- }
- // Event Download
- case ESatTsyCallDisconnected:
- case ESatTsyLocationStatus:
- case ESatTsyCallConnected:
- case ESatTsyMTCall:
- case ESatTsyAccessTechnologyChange:
- case ESatEventDownload:
- case ESatTsyRemoveEventList:
- {
- retObject = CMmMessageManagerBase::ESatEventDownloadTsyObjType;
- break;
- }
- // Call Control
- case ESatTsyGetBearerCapability:
- case ESatTsyCheckAtkDataForAlphaId:
- case ESatTsyCallEvent:
- case ESatTsySSEvent:
- case ESatTsyUSSDEvent:
- case ESatTsyCreateEnvelope:
- case ESatTsyUssdStatus:
- {
- retObject = CMmMessageManagerBase::ESatCCTsyObjType;
- break;
- }
- case ESatTsyCellBroadcast:
- case ESatTsySmsPpDdl:
- case ESatTsyReadCbmids:
- case ESatTsySmsPpDdlStatus:
- case ESatTsySmsDeliverReport:
- {
- retObject = CMmMessageManagerBase::ESatDataDownloadTsyObjType;
- break;
- }
- default:
- break;
- }
-
- return retObject;
- }
-
-// ---------------------------------------------------------------------------
-// CMmMessageRouterProxy::Complete
-// Complete with a data package
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CSatMessageRouterProxy::Complete(
- TInt aIpc,
- CMmDataPackage* aData,
- TInt aResult )
- {
-TFLOGSTRING3("TSY: CMmMessageRouterProxy::Complete. IPC = %d, result: %d", aIpc, aResult);
- RouteCompletion( aIpc, static_cast<CSatDataPackage*>(aData), aResult );
- }
-
-// ---------------------------------------------------------------------------
-// CMmMessageRouterProxy::Complete
-// Complete without a data package
-// (other items were commented in a header).
-// ---------------------------------------------------------------------------
-//
-void CSatMessageRouterProxy::Complete( TInt aIpc, TInt aResult )
- {
- CSatDataPackage emptyDataPackage;
- Complete( aIpc, &emptyDataPackage, aResult );
- }
-
-// -----------------------------------------------------------------------------
-// CSatMessageRouterProxy::RouteCompletion
-// Completes a request or notification via the specific Tsy object, based on
-// IPC number and data package
-// -----------------------------------------------------------------------------
-//
-void CSatMessageRouterProxy::RouteCompletionL
- (
- TInt aIpc,
- CSatDataPackage* aDataPackage,
- TInt aResult
- )
- {
- TFLOGSTRING3("CSAT: CSatMessageRouterProxy::RouteCompletion ipc=%d, \
- error: %d", aIpc, aResult);
- CBase* object = GetObjectForCompletion( aIpc, aDataPackage );
-
- if ( NULL != object )
- {
- switch ( aIpc )
- {
- case ESatTsyPCmd:
- {
- reinterpret_cast<CSatNotificationsTsy*>( object )->
- CompletePCmdL( aDataPackage, aResult );
- break;
- }
- case ESatNotifyProactiveSimSessionEnd:
- {
- reinterpret_cast<CSatNotifySimSessionEnd*>( object )->
- CompleteNotifyL( aDataPackage, aResult );
- break;
- }
- case ESatTsyProvideLocalInfo:
- {
- reinterpret_cast<CSatNotifyLocalInfo*>( object )->
- CompleteUpdateLocalInfo( aDataPackage, aResult );
- break;
- }
- case ESatTsyLocalInformationNmr:
- {
- reinterpret_cast<CSatNotifyLocalInfo*>( object )->
- CompleteUpdateNetInfo( aDataPackage, aResult );
- break;
- }
- case ESatTsyAccTech:
- {
- reinterpret_cast<CSatNotifyLocalInfo*>( object )->
- CompleteUpdateAccTech( aDataPackage, aResult );
- break;
- }
- case ESatTsyTimeZone:
- {
- reinterpret_cast<CSatNotifyLocalInfo*>( object )->
- CompleteUpdateTimeZone( aDataPackage, aResult );
- break;
- }
- case ESatTsyGetIMEI:
- {
- reinterpret_cast<CSatNotifyLocalInfo*>( object )->
- CompleteUpdateIMEI( aDataPackage, aResult );
- break;
- }
- case ESatTsyTimingAdvance:
- {
- reinterpret_cast<CSatNotifyLocalInfo*>( object )->
- CompleteUpdateTimingAdvAndMEStatus( aDataPackage, aResult );
- break;
- }
- case ESatTsyNotifyLocalInfo:
- {
- reinterpret_cast<CSatNotifyLocalInfo*>( object )->
- CompleteTerminalRespDataL( aDataPackage, aResult );
- break;
- }
- case ESatTsySetPolling:
- {
- reinterpret_cast<CSatNotificationsTsy*>( object )->
- SetPollingResultL( aDataPackage, aResult );
- break;
- }
- case ESatTsyCreateEnvelope:
- {
- reinterpret_cast<CSatCCTsy*>( object )->CreateEnvelopeL(
- aDataPackage );
- break;
- }
- case ESatTsyMoSmControlEnvelope:
- {
- reinterpret_cast<CSatNotifyMoSmControlRequest*>( object )->
- CreateMoSmsCtrlEnvelopeL( aDataPackage, aResult) ;
- break;
- }
- case ESatTsyGetBearerCapability:
- {
- reinterpret_cast<CSatCCTsy*>( object )->
- CompleteBearerCapability( aDataPackage, aResult );
- break;
- }
- case ESatTsyCheckAtkDataForAlphaId:
- {
- reinterpret_cast<CSatCCTsy*>( object )->CheckIfAlphaIdPresent(
- aDataPackage );
- break;
- }
- case ESatTsyCallEvent:
- case ESatTsySSEvent:
- case ESatTsyUSSDEvent:
- {
- reinterpret_cast<CSatCCTsy*>( object )->CompleteCCEventL(
- aIpc, aDataPackage );
- break;
- }
- case ESatNotifyCallControlRequest:
- {
- reinterpret_cast<CSatNotifyCallControlRequest*>( object )->
- CompleteNotifyL( aDataPackage, aResult );
- break;
- }
- case ESatNotifyMoSmControlRequest:
- {
- reinterpret_cast<CSatNotifyMoSmControlRequest*>( object )->
- CompleteNotifyL( aDataPackage, aResult) ;
- break;
- }
- case ESatTsyMoSmsControlActivation:
- {
- reinterpret_cast<CSatNotifyMoSmControlRequest*>( object )->
- SetActivationStatus( aDataPackage ) ;
- break;
- }
- case ESatTsyCallConnected:
- {
- reinterpret_cast<CSatEventDownloadTsy*>( object )->
- CompleteCallConnectedL( aDataPackage );
- break;
- }
- case ESatTsyCallDisconnected:
- {
- reinterpret_cast<CSatEventDownloadTsy*>( object )->
- CompleteCallDisconnectedL( aDataPackage );
- break;
- }
- case ESatTsyLocationStatus:
- {
- reinterpret_cast<CSatEventDownloadTsy*>( object )->
- CompleteLocationStatusL( aDataPackage );
- break;
- }
- case ESatTsyAccessTechnologyChange:
- {
- reinterpret_cast<CSatEventDownloadTsy*>( object )->
- CompleteAccessTechnologyChangeL( aDataPackage );
- break;
- }
- case ESatTsyMTCall:
- {
- reinterpret_cast<CSatEventDownloadTsy*>( object )->
- CompleteMTCallL( aDataPackage );
- break;
- }
- case ESatTsyRemoveEventList:
- {
- reinterpret_cast<CSatEventDownloadTsy*>( object )->
- SetUpEventList( 0 );
- break;
- }
- case ESatTsyCellBroadcast:
- {
- reinterpret_cast<CSatDataDownloadTsy*>( object )->
- CompleteCellBroadcastDdlL( aDataPackage );
- break;
- }
- case ESatTsySmsPpDdl:
- {
- reinterpret_cast<CSatDataDownloadTsy*>( object )->
- CompleteSmsPpDdlL( aDataPackage );
- break;
- }
- case ESatTsyReadCbmids:
- {
- reinterpret_cast<CSatDataDownloadTsy*>( object )->
- CompleteReadCbmidsL( );
- break;
- }
- case ESatTsySmsPpDdlStatus:
- {
- reinterpret_cast<CSatDataDownloadTsy*>( object )->
- SetSmsPpDdlStatus( aDataPackage ) ;
- break;
- }
- case ESatTsySmsDeliverReport:
- {
- reinterpret_cast<CSatDataDownloadTsy*>( object )->
- CreateSmsDeliverReportL( aResult ) ;
- break;
- }
- case ESatTsyGetIconData:
- {
- reinterpret_cast<CSatIconTsy*>( object )->
- CompleteGetIcon( aDataPackage, aResult );
- break;
- }
- case ESatTsyGetImageInstance:
- {
- reinterpret_cast<CSatIconTsy*>( object )->
- CompleteGetImageInstance( aDataPackage, aResult );
- break;
- }
- case ESatTsyGetClut:
- {
- reinterpret_cast<CSatIconTsy*>( object )->
- CompleteGetClut( aDataPackage, aResult );
- break;
- }
- case ESatTsyRefresh:
- {
- reinterpret_cast<CSatNotifyRefresh*>( object )->
- CompleteTerminalRespDataL( aDataPackage, aResult);
- break;
- }
- case ESatTsyCompleteRefresh:
- {
- reinterpret_cast<CSatNotifyRefresh*>( object )->
- CompleteRequest( aDataPackage, aResult);
- break;
- }
- case ESatTsyImsiChanged:
- {
- reinterpret_cast<CSatNotifyRefresh*>( object )->
- CompleteImsiChange();
- break;
- }
- case ESatTsySetProactiveCommandOnGoingStatus:
- {
- reinterpret_cast<CSatNotificationsTsy*>( object )->
- SetProactiveCommandOnGoingStatus( aDataPackage, aResult );
- break;
- }
- case ESatTsySsStatus:
- {
- reinterpret_cast<CSatNotifyLaunchBrowser*>( object )->
- SetSsStatus( aDataPackage ) ;
- break;
- }
- case ESatTsyUssdStatus:
- {
- reinterpret_cast<CSatCCTsy*>( object )->SetUssdStatus(
- aDataPackage ) ;
- break;
- }
- default:
- break;
- }
- }
- else
- {
- TFLOGSTRING("CSatMessageRouterProxy::RouteCompletion, IPC NOT HANDLED.!!!");
- }
- }
-
-// ================= OTHER EXPORTED FUNCTIONS ===============================
-
- //None
-
-
-// End of File
-
+// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Name : CSatMessageRouterProxy.cpp
+// Part of : Common SIM ATK TSY / commonsimatktsy
+// Routes between Tsy objects and Message Handler objects
+// Version : 1.0
+// INCLUDE FILES
+//
+
+
+
+#include <satcs.h>
+// Tsy module files
+#include "CSatDataPackage.h"
+// Sat
+#include "CSatMessageRouterProxy.h"
+#include "CSatTsy.h"
+#include "CSatNotificationsTsy.h"
+#include "CSatCCTsy.h"
+#include "CSatIconTsy.h"
+#include "CSatNotifyDisplayText.h"
+#include "CSatNotifyGetInkey.h"
+#include "CSatNotifyGetInput.h"
+#include "CSatNotifyPlayTone.h"
+#include "CSatNotifySetUpMenu.h"
+#include "CSatNotifySelectItem.h"
+#include "CSatNotifySendSm.h"
+#include "CSatNotifySendUssd.h"
+#include "CSatNotifySendSs.h"
+#include "CSatNotifySetUpIdleModeText.h"
+#include "CSatNotifyLaunchBrowser.h"
+#include "CSatNotifySimSessionEnd.h"
+#include "CSatNotifyCallControlRequest.h"
+#include "CSatNotifySetUpCall.h"
+#include "CSatNotifySetUpEventList.h"
+#include "CSatNotifyTimerMgmt.h"
+#include "CSatNotifyLanguageNotification.h"
+#include "CSatNotifySendDtmf.h"
+#include "CSatNotifyPollingOff.h"
+#include "CSatNotifyPollInterval.h"
+#include "CSatNotifyLocalInfo.h"
+#include "CSatNotifyRefresh.h"
+#include "CSatNotifyMoSmControlRequest.h"
+#include "CSatEventDownloadTsy.h"
+#include "CSatDataDownloadTsy.h"
+// Utilities
+#include "tflogger.h"
+#include "msattsy_ipcdefs.h"
+#include "ctsydelegates.h"
+
+// EXTERNAL DATA STRUCTURES
+ //None
+
+// EXTERNAL FUNCTION PROTOTYPES
+ //None
+
+// CONSTANTS
+ //None
+
+// MACROS
+ //None
+
+// LOCAL CONSTANTS AND MACROS
+ //None
+
+// MODULE DATA STRUCTURES
+ //None
+
+// LOCAL FUNCTION PROTOTYPES
+ //None
+
+// ==================== LOCAL FUNCTIONS =====================================
+
+ //None
+
+
+// ================= MEMBER FUNCTIONS =======================================
+
+// -----------------------------------------------------------------------------
+// CSatDataDownloadTsy::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSatMessageRouterProxy* CSatMessageRouterProxy::NewL(CTsyDelegates& aTsyDelegates)
+ {
+ TFLOGSTRING( "CSAT: CSatMessageRouterProxy::NewL" );
+
+ CSatMessageRouterProxy* satMessageRouterProxy =
+ new ( ELeave ) CSatMessageRouterProxy(aTsyDelegates);
+ CleanupStack::PushL( satMessageRouterProxy );
+ satMessageRouterProxy->ConstructL();
+ CleanupStack::Pop();
+
+ TFLOGSTRING("CSAT: CSatMessageRouterProxy::NewL, end of method");
+ return satMessageRouterProxy;
+ }
+
+// -----------------------------------------------------------------------------
+// CSatMessageRouterProxy::~CSatMessageRouterProxy
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CSatMessageRouterProxy::~CSatMessageRouterProxy
+ (
+ void
+ )
+ {
+ TFLOGSTRING( "CSAT: CSatMessageRouterProxy::~CSatMessageRouterProxy" );
+ }
+
+// -----------------------------------------------------------------------------
+// CSatMessageRouterProxy::CSatMessageRouterProxy
+// C++ constructor
+// -----------------------------------------------------------------------------
+//
+CSatMessageRouterProxy::CSatMessageRouterProxy(CTsyDelegates& aTsyDelegates)
+: iTsyDelegates(aTsyDelegates)
+ {
+ // None
+ }
+
+// -----------------------------------------------------------------------------
+// CSatMessageRouterProxy::ConstructL
+// Symbian 2nd phase constructor. Initialises internal attributes.
+// -----------------------------------------------------------------------------
+//
+void CSatMessageRouterProxy::ConstructL
+ (
+ void
+ )
+ {
+ TFLOGSTRING( "CSAT: CSatMessageRouterProxy::ConstructL, noes nothing" );
+ }
+
+// -----------------------------------------------------------------------------
+// CSatMessageRouterProxy::RouteRequest
+// Dummy implementation
+// -----------------------------------------------------------------------------
+//
+MMmMessHandlerBase* CSatMessageRouterProxy::RouteRequest
+ (
+ TInt /*aIpc*/
+ )
+ {
+ // Dummy implementation
+ TFLOGSTRING( "CSAT: CSatMessageRouterProxy::RouteRequest: DUMMY" );
+ return NULL;
+ }
+
+// -----------------------------------------------------------------------------
+// CSatMessageRouterProxy::RouteCompletion
+// Completes a request or notification via the specific Tsy object, based on
+// IPC number and data package
+// -----------------------------------------------------------------------------
+//
+void CSatMessageRouterProxy::RouteCompletion
+ (
+ TInt aIpc,
+ CSatDataPackage* aDataPackage,
+ TInt aResult
+ )
+ {
+ TInt trapError( KErrNone );
+ TRAP( trapError, RouteCompletionL( aIpc, aDataPackage, aResult ) );
+
+ if ( KErrNone != trapError )
+ {
+ TFLOGSTRING2("CSatMessageRouterProxy::RouteCompletion, trapError=%d",
+ trapError);
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// CSatMessageRouterProxy::GetObjectForCompletion
+// Returns the pointer to the Tsy object needed for completion, based
+// on the IPC number and the data package
+// -----------------------------------------------------------------------------
+//
+CBase* CSatMessageRouterProxy::GetObjectForCompletion
+ (
+ const TInt aIpc,
+ CSatDataPackage* /*aDataPackage*/
+ )
+ {
+ TFLOGSTRING("CSAT: CMmMessageRouterBase::GetObjectForCompletion");
+ CBase* satObject = NULL;
+
+ CMmMessageManagerBase::TTsyObjects tsyObject =
+ GetTsyObjectFromIpc( aIpc );
+ // Get the object
+ satObject = iTsyDelegates.GetTsyObject(tsyObject);
+ return satObject;
+ }
+
+// -----------------------------------------------------------------------------
+// CSatMessageRouterProxy::GetTsyObjectFromIpc
+// Returns the type of Tsy object needed for completion, based
+// on the IPC number
+// -----------------------------------------------------------------------------
+//
+ CMmMessageManagerBase::TTsyObjects CSatMessageRouterProxy::GetTsyObjectFromIpc
+ (
+ const TInt aIpc
+ ) const
+
+ {
+ TFLOGSTRING( "CSAT: CSatMessageRouterProxy::GetTsyObjectFromIpc" );
+ // A default value must be given as a initialization, however, nothing will
+ // be done if the IPC does not mach as well in RouteCompletion
+ CMmMessageManagerBase::TTsyObjects retObject =
+ CMmMessageManagerBase::ESatTsyObjType;
+
+ switch ( aIpc )
+ {
+ // General
+ case ESatTerminalRsp:
+ case ESatMenuSelection:
+ case ESatSendMessageNoLogging:
+ {
+ retObject = CMmMessageManagerBase::ESatTsyObjType;
+ break;
+ }
+ // Icon
+ case ESatTsyGetIconData:
+ case ESatTsyGetImageInstance:
+ case ESatTsyGetClut:
+ {
+ retObject = CMmMessageManagerBase::ESatIconTsyObjType;
+ break;
+ }
+ // Notifications
+ case ESatTsyPCmd:
+ case ESatTsySetPolling:
+ case ESatTsySetProactiveCommandOnGoingStatus:
+ {
+ retObject = CMmMessageManagerBase::ESatNotificationsTsyObjType;
+ break;
+ }
+ case ESatNotifyProactiveSimSessionEnd:
+ {
+ retObject = CMmMessageManagerBase::ESatNotifySimSessionEndObjType;
+ break;
+ }
+ case ESatTsyRefresh:
+ case ESatTsyCompleteRefresh:
+ case ESatTsyImsiChanged:
+ {
+ retObject = CMmMessageManagerBase::ESatNotifyRefreshObjType;
+ break;
+ }
+ case ESatTsyNotifyLocalInfo:
+ case ESatTsyProvideLocalInfo:
+ case ESatTsyLocalInformationNmr:
+ case ESatTsyAccTech:
+ case ESatTsyTimingAdvance:
+ case ESatTsyTimeZone:
+ case ESatTsyGetIMEI:
+ case ESatNotifyLocalInfoPCmd:
+ {
+ retObject = CMmMessageManagerBase::ESatNotifyLocalInfoObjType;
+ break;
+ }
+ case ESatNotifySetUpEventListPCmd:
+ {
+ retObject = CMmMessageManagerBase::ESatNotifySetUpEventListObjType;
+ break;
+ }
+ case ESatNotifyMoSmControlRequest:
+ case ESatTsyMoSmControlEnvelope:
+ case ESatTsyMoSmsControlActivation:
+ {
+ retObject =
+ CMmMessageManagerBase::ESatNotifyMoSmControlRequestObjType;
+ break;
+ }
+ case ESatTsySsStatus:
+ {
+ retObject = CMmMessageManagerBase::ESatNotifyLaunchBrowserObjType;
+ break;
+ }
+ case ESatNotifyCallControlRequest:
+ {
+ retObject =
+ CMmMessageManagerBase::ESatNotifyCallControlRequestObjType;
+ break;
+ }
+ // Event Download
+ case ESatTsyCallDisconnected:
+ case ESatTsyLocationStatus:
+ case ESatTsyCallConnected:
+ case ESatTsyMTCall:
+ case ESatTsyAccessTechnologyChange:
+ case ESatEventDownload:
+ case ESatTsyRemoveEventList:
+ {
+ retObject = CMmMessageManagerBase::ESatEventDownloadTsyObjType;
+ break;
+ }
+ // Call Control
+ case ESatTsyGetBearerCapability:
+ case ESatTsyCheckAtkDataForAlphaId:
+ case ESatTsyCallEvent:
+ case ESatTsySSEvent:
+ case ESatTsyUSSDEvent:
+ case ESatTsyCreateEnvelope:
+ case ESatTsyUssdStatus:
+ {
+ retObject = CMmMessageManagerBase::ESatCCTsyObjType;
+ break;
+ }
+ case ESatTsyCellBroadcast:
+ case ESatTsySmsPpDdl:
+ case ESatTsyReadCbmids:
+ case ESatTsySmsPpDdlStatus:
+ case ESatTsySmsDeliverReport:
+ {
+ retObject = CMmMessageManagerBase::ESatDataDownloadTsyObjType;
+ break;
+ }
+ default:
+ break;
+ }
+
+ return retObject;
+ }
+
+// ---------------------------------------------------------------------------
+// CMmMessageRouterProxy::Complete
+// Complete with a data package
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+void CSatMessageRouterProxy::Complete(
+ TInt aIpc,
+ CMmDataPackage* aData,
+ TInt aResult )
+ {
+TFLOGSTRING3("TSY: CMmMessageRouterProxy::Complete. IPC = %d, result: %d", aIpc, aResult);
+ RouteCompletion( aIpc, static_cast<CSatDataPackage*>(aData), aResult );
+ }
+
+// ---------------------------------------------------------------------------
+// CMmMessageRouterProxy::Complete
+// Complete without a data package
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+void CSatMessageRouterProxy::Complete( TInt aIpc, TInt aResult )
+ {
+ CSatDataPackage emptyDataPackage;
+ Complete( aIpc, &emptyDataPackage, aResult );
+ }
+
+// -----------------------------------------------------------------------------
+// CSatMessageRouterProxy::RouteCompletion
+// Completes a request or notification via the specific Tsy object, based on
+// IPC number and data package
+// -----------------------------------------------------------------------------
+//
+void CSatMessageRouterProxy::RouteCompletionL
+ (
+ TInt aIpc,
+ CSatDataPackage* aDataPackage,
+ TInt aResult
+ )
+ {
+ TFLOGSTRING3("CSAT: CSatMessageRouterProxy::RouteCompletion ipc=%d, \
+ error: %d", aIpc, aResult);
+ CBase* object = GetObjectForCompletion( aIpc, aDataPackage );
+
+ if ( NULL != object )
+ {
+ switch ( aIpc )
+ {
+ case ESatTsyPCmd:
+ {
+ reinterpret_cast<CSatNotificationsTsy*>( object )->
+ CompletePCmdL( aDataPackage, aResult );
+ break;
+ }
+ case ESatNotifyProactiveSimSessionEnd:
+ {
+ reinterpret_cast<CSatNotifySimSessionEnd*>( object )->
+ CompleteNotifyL( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyProvideLocalInfo:
+ {
+ reinterpret_cast<CSatNotifyLocalInfo*>( object )->
+ CompleteUpdateLocalInfo( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyLocalInformationNmr:
+ {
+ reinterpret_cast<CSatNotifyLocalInfo*>( object )->
+ CompleteUpdateNetInfo( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyAccTech:
+ {
+ reinterpret_cast<CSatNotifyLocalInfo*>( object )->
+ CompleteUpdateAccTech( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyTimeZone:
+ {
+ reinterpret_cast<CSatNotifyLocalInfo*>( object )->
+ CompleteUpdateTimeZone( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyGetIMEI:
+ {
+ reinterpret_cast<CSatNotifyLocalInfo*>( object )->
+ CompleteUpdateIMEI( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyTimingAdvance:
+ {
+ reinterpret_cast<CSatNotifyLocalInfo*>( object )->
+ CompleteUpdateTimingAdvAndMEStatus( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyNotifyLocalInfo:
+ {
+ reinterpret_cast<CSatNotifyLocalInfo*>( object )->
+ CompleteTerminalRespDataL( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsySetPolling:
+ {
+ reinterpret_cast<CSatNotificationsTsy*>( object )->
+ SetPollingResultL( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyCreateEnvelope:
+ {
+ reinterpret_cast<CSatCCTsy*>( object )->CreateEnvelopeL(
+ aDataPackage );
+ break;
+ }
+ case ESatTsyMoSmControlEnvelope:
+ {
+ reinterpret_cast<CSatNotifyMoSmControlRequest*>( object )->
+ CreateMoSmsCtrlEnvelopeL( aDataPackage, aResult) ;
+ break;
+ }
+ case ESatTsyGetBearerCapability:
+ {
+ reinterpret_cast<CSatCCTsy*>( object )->
+ CompleteBearerCapability( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyCheckAtkDataForAlphaId:
+ {
+ reinterpret_cast<CSatCCTsy*>( object )->CheckIfAlphaIdPresent(
+ aDataPackage );
+ break;
+ }
+ case ESatTsyCallEvent:
+ case ESatTsySSEvent:
+ case ESatTsyUSSDEvent:
+ {
+ reinterpret_cast<CSatCCTsy*>( object )->CompleteCCEventL(
+ aIpc, aDataPackage );
+ break;
+ }
+ case ESatNotifyCallControlRequest:
+ {
+ reinterpret_cast<CSatNotifyCallControlRequest*>( object )->
+ CompleteNotifyL( aDataPackage, aResult );
+ break;
+ }
+ case ESatNotifyMoSmControlRequest:
+ {
+ reinterpret_cast<CSatNotifyMoSmControlRequest*>( object )->
+ CompleteNotifyL( aDataPackage, aResult) ;
+ break;
+ }
+ case ESatTsyMoSmsControlActivation:
+ {
+ reinterpret_cast<CSatNotifyMoSmControlRequest*>( object )->
+ SetActivationStatus( aDataPackage ) ;
+ break;
+ }
+ case ESatTsyCallConnected:
+ {
+ reinterpret_cast<CSatEventDownloadTsy*>( object )->
+ CompleteCallConnectedL( aDataPackage );
+ break;
+ }
+ case ESatTsyCallDisconnected:
+ {
+ reinterpret_cast<CSatEventDownloadTsy*>( object )->
+ CompleteCallDisconnectedL( aDataPackage );
+ break;
+ }
+ case ESatTsyLocationStatus:
+ {
+ reinterpret_cast<CSatEventDownloadTsy*>( object )->
+ CompleteLocationStatusL( aDataPackage );
+ break;
+ }
+ case ESatTsyAccessTechnologyChange:
+ {
+ reinterpret_cast<CSatEventDownloadTsy*>( object )->
+ CompleteAccessTechnologyChangeL( aDataPackage );
+ break;
+ }
+ case ESatTsyMTCall:
+ {
+ reinterpret_cast<CSatEventDownloadTsy*>( object )->
+ CompleteMTCallL( aDataPackage );
+ break;
+ }
+ case ESatTsyRemoveEventList:
+ {
+ reinterpret_cast<CSatEventDownloadTsy*>( object )->
+ SetUpEventList( 0 );
+ break;
+ }
+ case ESatTsyCellBroadcast:
+ {
+ reinterpret_cast<CSatDataDownloadTsy*>( object )->
+ CompleteCellBroadcastDdlL( aDataPackage );
+ break;
+ }
+ case ESatTsySmsPpDdl:
+ {
+ reinterpret_cast<CSatDataDownloadTsy*>( object )->
+ CompleteSmsPpDdlL( aDataPackage );
+ break;
+ }
+ case ESatTsyReadCbmids:
+ {
+ reinterpret_cast<CSatDataDownloadTsy*>( object )->
+ CompleteReadCbmidsL( );
+ break;
+ }
+ case ESatTsySmsPpDdlStatus:
+ {
+ reinterpret_cast<CSatDataDownloadTsy*>( object )->
+ SetSmsPpDdlStatus( aDataPackage ) ;
+ break;
+ }
+ case ESatTsySmsDeliverReport:
+ {
+ reinterpret_cast<CSatDataDownloadTsy*>( object )->
+ CreateSmsDeliverReportL( aResult ) ;
+ break;
+ }
+ case ESatTsyGetIconData:
+ {
+ reinterpret_cast<CSatIconTsy*>( object )->
+ CompleteGetIcon( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyGetImageInstance:
+ {
+ reinterpret_cast<CSatIconTsy*>( object )->
+ CompleteGetImageInstance( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyGetClut:
+ {
+ reinterpret_cast<CSatIconTsy*>( object )->
+ CompleteGetClut( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsyRefresh:
+ {
+ reinterpret_cast<CSatNotifyRefresh*>( object )->
+ CompleteTerminalRespDataL( aDataPackage, aResult);
+ break;
+ }
+ case ESatTsyCompleteRefresh:
+ {
+ reinterpret_cast<CSatNotifyRefresh*>( object )->
+ CompleteRequest( aDataPackage, aResult);
+ break;
+ }
+ case ESatTsyImsiChanged:
+ {
+ reinterpret_cast<CSatNotifyRefresh*>( object )->
+ CompleteImsiChange();
+ break;
+ }
+ case ESatTsySetProactiveCommandOnGoingStatus:
+ {
+ reinterpret_cast<CSatNotificationsTsy*>( object )->
+ SetProactiveCommandOnGoingStatus( aDataPackage, aResult );
+ break;
+ }
+ case ESatTsySsStatus:
+ {
+ reinterpret_cast<CSatNotifyLaunchBrowser*>( object )->
+ SetSsStatus( aDataPackage ) ;
+ break;
+ }
+ case ESatTsyUssdStatus:
+ {
+ reinterpret_cast<CSatCCTsy*>( object )->SetUssdStatus(
+ aDataPackage ) ;
+ break;
+ }
+ default:
+ break;
+ }
+ }
+ else
+ {
+ TFLOGSTRING("CSatMessageRouterProxy::RouteCompletion, IPC NOT HANDLED.!!!");
+ }
+ }
+
+// ================= OTHER EXPORTED FUNCTIONS ===============================
+
+ //None
+
+
+// End of File
+