adaptationlayer/tsy/simatktsy_dll/inc/satmessaging.h
changeset 0 63b37f68c1ce
child 8 6295dc2169f3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/adaptationlayer/tsy/simatktsy_dll/inc/satmessaging.h	Fri Nov 06 17:28:23 2009 +0000
@@ -0,0 +1,697 @@
+/*
+* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+
+
+#ifndef SATMESSAGING_H
+#define SATMESSAGING_H
+
+//  INCLUDES
+#include "cmmmessagerouter.h"
+#include <ctsy/serviceapi/ctsysatmessagingbase.h>           // base class ctsysatmessagingbase
+
+#include "tsylogger.h"                      // tsy logger
+#include <etelsat.h>                        // etel sat api
+#include <etelmm.h>                         // etel multimode api
+#include <product_profile_definitions.h>    // product profile definitions
+
+// CONSTANTS
+const TInt      KZero               = 0;
+const TUint8    KPadding            = 0;
+
+// MACROS
+    //None
+
+// DATA TYPES
+    //None
+
+// FUNCTION PROTOTYPES
+    //None
+
+// FORWARD DECLARATIONS
+
+// External
+class CMmPhoneTsy;
+class CMmPhoNetSender;
+class CMmPhoNetReceiver;
+class CMmSmsTsy;
+class CMmMessageRouterBase;
+class TIsiReceiveC;
+
+// Internal
+class CSatMessHandler;
+class CSatCC;
+class CSatTimer;
+class CSatEventDownload;
+class CSatDataDownload;
+class CSatIcon;
+class CSatMoSmsCtrl;
+class TTransIdMessage;
+class CSatFlightModeStatus;
+class TTlv;
+
+// Notifications
+class CSatNotifyDisplayText;
+class CSatNotifyGetInkey;
+class CSatNotifyGetInput;
+class CSatNotifyPlayTone;
+class CSatNotifySetUpMenu;
+class CSatNotifySelectItem;
+class CSatNotifySendSm;
+class CSatNotifySendSs;
+class CSatNotifySendUssd;
+class CSatNotifySetUpCall;
+class CSatNotifyRefresh;
+class CSatNotifySimSessionEnd;
+class CSatNotifySetUpIdleModeText;
+class CSatNotifyLaunchBrowser;
+class CSatNotifyCallControlRequest;
+class CSatNotifyPollInterval;
+class CSatNotifySendDtmf;
+class CSatNotifySetUpEventList;
+class CSatNotifyPollingOff;
+class CSatNotifyLocalInfo;
+class CSatNotifyTimerMgmt;
+class CSatNotifyMoreTime;
+class CSatNotifyLanguageNotification;
+class CSatNotifyOpenChannel;
+class CSatNotifyGetChannelStatus;
+class CSatNotifyCloseChannel;
+class CSatNotifyReceiveData;
+class CSatNotifySendData;
+class CSatNotifyMoSmControlRequest;
+
+// CLASS DECLARATION
+/**
+*  Sat notifications base class.
+*  Sat Messaging class.
+*  Each SAT proactive command has its own class, which holds the information
+*  relevant to the command in question. All proactive command classes are
+*  created when CTsySatMessaging object is created. This way each proactive
+*  command is handled by its own notify class. The proactive commands are
+*  encapsulated to individual classes in order to simplify the design and
+*  updating.
+*  This class also handles SAT originated SMS message sending and menu
+*  selection in SAT. All not supported functions are completed here.
+*
+*  @lib SIMATKTSY.LIB
+*  @since Series 60 Series60_2.6
+*/
+class CTsySatMessaging : public CTsySatMessagingBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        * @param aMmPhone pointer to mmphone class
+        * @param aSatMessHandler pointer to satmessagehandler class
+        * @param aName Sat application fixed name
+        */
+        IMPORT_C static CTsySatMessaging* NewL(
+            #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
+            CMmPhoneTsy* aMmPhone, CMmMessageRouterBase* aRouter, TName aName );
+            #else
+            CMmMessageRouter* aRouter );
+            #endif //NCP_COMMON_S60_VERSION_SUPPORT
+
+        /**
+        * Destructor.
+        */
+        virtual ~CTsySatMessaging();
+
+
+    private: // Constructors
+
+        /**
+        * C++ default constructor.
+        * @since Series 60 Series60_2.6
+        * @param aMmPhone pointer to mmphone class
+        * @param aSatMessHandler pointer to satmessagehandler class
+        * @param aName Sat application fixed name
+        */
+        CTsySatMessaging(
+            #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
+            CMmPhoneTsy* aMmPhone, CMmPhoNetSender* aPnSend, CMmPhoNetReceiver* aPnReceive, TName aName );
+            #else
+            CMmPhoNetSender* aPnSend, CMmPhoNetReceiver* aPnReceive, CMmMessageRouter* aRouter );
+            #endif //NCP_COMMON_S60_VERSION_SUPPORT
+
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+        /**
+        * Copy constructor, usage not allowed
+        * @since Series 60 Series60_2.6
+        * @param Satmesshandler reference
+        */
+        CTsySatMessaging( const CTsySatMessaging& aRhs );
+
+        /**
+        * Assignment operator, usage not allowed
+        * @since Series 60 Series60_2.6
+        * @param Satmesshandler reference
+        * @return SatMessHandler reference
+        */
+        CTsySatMessaging& operator = ( const CTsySatMessaging& aRhs );
+
+
+    public: // Functions from base classes
+
+        /**
+        * Opens a new object identified by a name.
+        * @since Series 60 Series60_2.6
+        * @param aName Name to open
+        * @return TelObject pointer to a telephony object
+        */
+        CTelObject* OpenNewObjectByNameL( const TDesC& aName );
+
+        /**
+        * Opens a new object identified by new name. Can leave.
+        * Not in use.
+        * @since Series 60 Series60_2.6
+        * @param aNewName Name to open
+        * @return TelObject pointer to a telephony object
+        */
+        CTelObject* OpenNewObjectL( TDes& aNewName );
+
+        /**
+        * Command handler for ETel server messages. The IPC identifies
+        * the command to be executed if supported.
+        * @since Series 60 Series60_2.6
+        * @param aTsyReqHandle TsyReqHandle
+        * @param aIpc command identifier
+        * @param aPackage Data pointer
+        * @return status
+        */
+        TInt ExtFunc( const TTsyReqHandle aTsyReqHandle,
+            const TInt aIpc, const TDataPackage& aPackage );
+
+        /**
+        * ReqMode method for checking what modes this component supports
+        * @since Series 60 Series60_2.6
+        * @param aIpc command identifier
+        * @return reqmode
+        */
+        CTelObject::TReqMode ReqModeL( const TInt aIPC );
+
+        /**
+        * Cancels the ongoing service
+        * @since Series 60 Series60_2.6
+        * @param aIpc command identifier
+        * @param aTsyReqHandle TsyReqHandle
+        * @return status
+        */
+        TInt CancelService( const TInt aIpc,
+            const TTsyReqHandle aTsyReqHandle );
+
+        /**
+        * Initializer method that is called by ETel Server
+        * @since Series 60 Series60_2.6
+        * @param none
+        * @return none
+        */
+        void Init();
+
+        /**
+        * Register given command, checks if the given command is supported
+        * @since Series 60 Series60_2.6
+        * @param aIpc command identifier
+        * @return TInt status
+        */
+        TInt RegisterNotification( const TInt aIpc );
+
+        /**
+        * DeRegister given command, checks if the given command is supported
+        * @since Series 60 Series60_2.6
+        * @param aIpc command identifier
+        * @return TInt status
+        */
+        TInt DeregisterNotification( const TInt aIpc );
+
+        /**
+        * Returns number of slots to be used for given IPC
+        * @since Series 60 Series60_2.6
+        * @param aIpc command identifier
+        * @return TInt status
+        */
+        TInt NumberOfSlotsL( const TInt aIpc );
+
+
+    public: // New methods
+
+        /**
+        * Handles an incoming proactive command from ISA CellMo SIM server
+        * Called by CSatMessHandler when it receives proactive command ISI msg
+        * originated by ISA CellMo SIM server.
+        * @since NCP 5.0
+        * @param aIsiMessage received proactive command ISI msg
+        * @return none
+        */
+        void PCmdReceivedL( const TIsiReceiveC& aIsiMessage );
+
+        /**
+        * Notifies client about end of session
+        * @since NCP 5.0
+        * @param aIsiMsg
+        * @return none
+        */
+        void SessionEnd( const TIsiReceiveC& /*aIsiMessage*/ );
+
+        /**
+        * Notifies Etel SAT client about call control event
+        * This method is actually used only when an alpha id is present.
+        * This is a design desicion, though it could be possible to notify ETel
+        * SAT client everytime there is a call control result.
+        * @since Series 60 Series60_2.6
+        * @param aAlphaId alpha identifier
+        * @param TControlResult result
+        * @return none
+        */
+        void NotifyClientAboutCallControlEvent( TDesC& aAlphaId,
+            RSat::TControlResult aResult );
+
+        /**
+        * Notifies Etel SAT client about call control event
+        * @param aCcResult CC result from SIM application mapped to ISA value
+        * @param aEnvelopeResponse response from SIM application
+        * @return none
+        */
+        void NotifyClientAboutCallControlEventL( const TUint8 aCcResult,
+            TPtrC8 aEnvelopeResponse );
+
+        /**
+        * Notifies Etel SAT client about GPRS call control event
+        * This method is actually used only when an alpha id is present.
+        * This is a design desicion, though it could be possible to notify ETel
+        * SAT client everytime there is a call control result.
+        * @param aAlphaId alpha identifier
+        * @param TControlResult result
+        * @return none
+        */
+        void NotifyClientAboutGprsCallControlEvent(
+            const TDesC& aAlphaId,
+            const RSat::TControlResult aResult );
+
+        /**
+        * Notifies client about Mo-Sms control event
+        * This method is actually used only when an alpha id is present.
+        * This is a design desicion, though it could be possible to notify ETel
+        * SAT client everytime there is a MoSm control result.
+        * @since Series 60 Series60_2.6
+        * @param aAlphaId alpha identifier
+        * * !!! RSat::TAlphaIdBuf& would have been better...
+        * @param TControlResult result
+        * @return none
+        */
+        void NotifyClientAboutMoSmControlEvent( TDesC& aAlphaId,
+            RSat::TControlResult aResult );
+
+        /**
+        * Processes ISI messages that are relevant for event download
+        * Called by CSatMessHandler when it receives an ISI msg
+        * @since Series 60 Series60_3.0
+        * @param aIsiMessage Pointer to an ISI msg
+        * @return none
+        */
+        void EventDownloadReceived( const TIsiReceiveC& aIsiMessage );
+
+        /**
+        * Processes ISI messages that are relevant for call control
+        * Called by CSatMessHandler when it receives ISI msg
+        * @since NCP 3.1
+        * @param aIsiMessage received ISI message
+        * @return none
+        */
+        void CallControlReceivedL( const TIsiReceiveC& aIsiMessage );
+
+        /**
+        * Processes ISI messages that are relevant for data download
+        * Called by CSatMessHandler when it receives an ISI msg
+        * @since NCP 5.0
+        * @param aIsiMessage received ISI message
+        * @return none
+        */
+        void DataDownloadReceivedL( const TIsiReceiveC& aIsiMessage );
+
+        /**
+        * Processes ISI messages that are relevant for Mo-Sms Ctrl
+        * Called by CSatMessHandler when it receives an ISI msg
+        * @since NCP 5.0
+        * @param aIsiMessage received ISI message
+        * @return none
+        */
+        void MoSmsControlReceived( const TIsiReceiveC& aIsiMessage );
+
+        /**
+        * This methods returns ETrue if MoSmControl
+        * is activated. Otherwise, it returns EFalse
+        * @since Series 60 Series60_2.6
+        * @param None
+        * @return TBool, is MoSmControl activated or not
+        */
+        TBool IsMoSmControlBySimActivated();
+
+        /**
+        * Set up requested events that have to be reported to the SIM
+        * @since Series 60 Series60_2.6
+        * @param  aEvents bit mask
+        * @return none
+        */
+        void SetUpEventList( TUint32 aEvents );
+
+        /**
+        * Terminal response command handler from ETel SAT client application.
+        * @since Series 60 Series60_2.6
+        * @param aPCmd proactive command Id
+        * @param sRsp response structure
+        * @param aTsyReqHandle TsyReqHandle
+        * @return status
+        */
+        TInt TerminalResponse( RSat::TPCmd* aPCmd, TDes8* aRsp,
+            TTsyReqHandle aTsyReqHandle );
+
+        /**
+        * Menu selection command handler from ETel SAT client application.
+        * @since Series 60 Series60_2.6
+        * @param aSelection command structure
+        * @param aTsyReqHandle TsyReqHandle
+        * @return status
+        */
+        TInt MenuSelection( TDes8* aSelection, TTsyReqHandle aTsyReqHandle );
+
+        /**
+        * Cell broadcast data download from ETel SAT client application
+        * Not in use. CellBroadcast DDL is handled in CSatDataDownload class.
+        * @since Series 60 Series60_2.6
+        * @param aPackage containing the Pdu of the messsage
+        * @param aTsyReqHandle Telephony service request handle
+        * @return status
+        */
+        TInt NotifyCbDownload( TDes8* aPackage, TTsyReqHandle aTsyReqHandle );
+
+        /**
+        * Sms-Pp data download from ETel SAT client application
+        * Not in use. Sms-Pp DDL is handled in CSatDataDownload class.
+        * @since Series 60 Series60_2.6
+        * @param aPackage containing the addresses and the Sms Tpdu
+        * @param aTsyReqHandle Telephony service request handle
+        * @return status
+        */
+        TInt NotifySmsPpDownload( TDes8* aPackage,
+            TTsyReqHandle aTsyReqHandle );
+
+        /**
+        * Send SMS No Logging command handler from client application.
+        * @since Series 60 Series60_2.6
+        * @param aMsg Pointer to descriptor containing a command structure.
+        * @param aMsgRef Pointer to descriptor containing a command structure.
+        * @param aTsyReqHandle TsyReqHandle
+        * @return status
+        */
+        TInt SendMessageNoLoggingL( TDes8* aMsg, TUint16* aMsgRef,
+            TTsyReqHandle aTsyReqHandle );
+
+        /**
+        * Completes a SAT Originated SMS sending request to Etel SAT client
+        * with the corresponding outcome.
+        * @since Series 60 Series60_2.6
+        * @param status was sending successfull/unsuccessfull
+        * @return status
+        */
+        TInt CompleteSendSmsMessage( TInt aStatus );
+
+        /**
+        * Returns pointer to the SatMessHandler instance
+        * @since Series 60 Series60_2.6
+        * @return SatMessHandler*: SAT message handler pointer
+        */
+        CSatMessHandler* GetSatMessHandler();
+
+        /**
+        * Returns pointer to the CSatFlightModeStatus instance
+        * @return CSatFlightModeStatus* Pointer to CSatFlightModeStatus
+        */
+        CSatFlightModeStatus* GetSatFlightModeStatus();
+
+        /**
+        * Timer Expiration handler
+        * @since Series 60 Series60_2.6
+        * @param TInt aTimerId: timer identification
+        * @param TUint32 aTimerValue: timer value
+        * @return status
+        */
+        TInt TimerExpiration( TInt aTimerId, TUint32 aTimerValue );
+
+        /**
+        * Returns pointer to the SatTimer instance
+        * @since Series 60 Series60_2.6
+        * @return CSatTimer*
+        */
+        CSatTimer* GetSatTimer();
+
+        /**
+        * Returns pointer to the CSatNotifyRefresh instance
+        * @since Series 60 Series60_2.6
+        * @return CSatNotifyRefresh*
+        */
+        CSatNotifyRefresh* GetNotifyRefresh();
+
+        /**
+        * Returns pointer to the CSatDataDownload instance
+        * @since Series 60 Series60_2.6
+        * @return CSatDataDownload*
+        */
+        CSatDataDownload* GetDataDownload();
+
+        /**
+        * Returns pointer to the NotifyLocalInfo instance
+        * @since Series 60 Series60_2.6
+        * @return CSatNotifyLocalInfo*
+        */
+        CSatNotifyLocalInfo* GetNotifyLocalInfo();
+
+        /**
+        * Returns pointer to the NotifyPollInterval instance
+        * @since Series 60 Series60_2.6
+        * @return CSatNotifyPollInterval*
+        */
+        CSatNotifyPollInterval* GetNotifyPollInterval();
+
+        /**
+        * Returns pointer to the NotifyPollingOff instance
+        * @since Series 60 Series60_2.6
+        * @return CSatNotifyPollingOff*
+        */
+        CSatNotifyPollingOff* GetNotifyPollingOff();
+
+        /**
+        * Returns pointer to the CSatMoSmsCtrl instance
+        * @since Series 60 Series60_2.6
+        * @return CSatMoSmsCtrl*
+        */
+        CSatMoSmsCtrl* GetMoSmsCtrl();
+
+        /**
+        * Returns pointer to the CSatEventDownload instance
+        * @since Series 60 Series60_3.0
+        * @return CSatEventDownload*
+        */
+        CSatEventDownload* GetEventDownload();
+
+        /**
+        * Get new transaction id
+        * @since Series 60 Series60_2.6
+        * @return  new transaction id
+        */
+        TUint8 GetTransactionId();
+
+        /**
+        * Sat ready indication
+        * This method is used to retrieve a proactive command ISI message
+        * which was received by the Nokia TSY CPhonetReceiver before the
+        * creation of CSatMessaging and CSatMessHandler instances.
+        * @since Series 60 Series60_2.6
+        * @param TUint8: Message to be retrieved.
+        * @return TInt: success/failure if msg was found
+        */
+        TInt SatReady( TUint8 aMsg );
+
+         /**
+        * Clears the array containing call control event data, due to
+        * a refresh PCmd.
+        * @since Series 60 Series60_2.6
+        * @return none
+        */
+        void ClearCCArrays();
+
+        /**
+        * Returns pointer to the SatIcon instance
+        * @since Series 60 Series60_2.6
+        * @return CSatIcon*
+        */
+        CSatIcon* GetSatIcon();
+
+        /**
+        * Cache call connected envelope
+        * @since Series 60 Series60_2.6
+        * @param aEnvelope reference to descriptor containing
+        * envelope data.
+        * @return none
+        */
+        void StoreCallConnectedEvent( const TDesC8& aEnvelope );
+
+        /**
+        * Updates the status of SetUpCall command in SatEventDownload instance.
+        * @since Series 60 Series60_2.6
+        * @param aStatus
+        * @return none
+        */
+        void SetSetUpCallStatus( const TBool aStatus );
+
+        /**
+        * Set CSatCC internal flag according to EF-SimServiceTable.
+        * The flag tells whether Ussd TLV is supported in Call Control by SIM.
+        * @since Series 60 Series60_2.6
+        * @param aStatus
+        * @return none
+        */
+        void SetStatusOfUssdSupport( const TBool aStatus );
+
+        /**
+        * Set CSatCC internal Ton and Npi
+        * @since Series 60 Series60_2.6
+        * @param aTonNpi
+        * @return none
+        */
+        void SetTonNpi( const TUint8 aTonNpi );
+
+        /**
+        * Requests the storing of SMS message from CommonTSY
+        * @since NCP 5.0
+        * @param aSmsEntry SMS entry to be stored
+        * @return ErrorCode returned by CommonTSY
+        */
+        TInt StoreSmsL( RMobileSmsStore::TMobileGsmSmsEntryV1& aSmsEntry );
+
+#if ( NCP_COMMON_S60_VERSION_SUPPORT >= S60_VERSION_50 )
+        /**
+        * Returns pointer to message router instance
+        * @return pointer to message router
+        */
+        CMmMessageRouter* GetMessageRouter();
+#endif
+
+    private: // New methods
+
+        /**
+        * Handles extended ETel SAT client requests, received from ExtFunc
+        * @since Series 60 Series60_2.6
+        * @param aTsyReqHandle TsyReqHandle
+        * @param aIpc command identifier
+        * @param aPackage Data pointer
+        * @return status
+        */
+        TInt DoExtFuncL( const TTsyReqHandle aTsyReqHandle, const TInt aIpc,
+            const TDataPackage& aPackage );
+
+        /**
+        * The (U)SAT client calls this method to inform the TSY that it has
+        * posted all the relevant (U)SAT notifications and is ready to receive
+        * the (U)SAT Commands.
+        * @since PP5.2
+        * @param TTsyReqHandle aTsyReqHandle
+        * @return none
+        */
+        void UsatClientReadyIndication( TTsyReqHandle aTsyReqHandle );
+
+    private:  // Data
+
+        // Proactive command class instances
+        // created when this class is created, all classes
+        // need pointers to this class and to satmesshandler
+        // class
+        CSatNotifyDisplayText*          iNotifyDisplayText;
+        CSatNotifyGetInkey*             iNotifyGetInkey;
+        CSatNotifyGetInput*             iNotifyGetInput;
+        CSatNotifyPlayTone*             iNotifyPlayTone;
+        CSatNotifySetUpMenu*            iNotifySetUpMenu;
+        CSatNotifySelectItem*           iNotifySelectItem;
+        CSatNotifySendSm*               iNotifySendSm;
+        CSatNotifySendSs*               iNotifySendSs;
+        CSatNotifySendUssd*             iNotifySendUssd;
+        CSatNotifySetUpCall*            iNotifySetUpCall;
+        CSatNotifyRefresh*              iNotifyRefresh;
+        CSatNotifySimSessionEnd*        iNotifySimSessionEnd;
+        CSatNotifySetUpIdleModeText*    iNotifySetUpIdleModeText;
+        CSatNotifyLaunchBrowser*        iNotifyLaunchBrowser;
+        CSatNotifyCallControlRequest*   iNotifyCallControlRequest;
+        CSatNotifyPollInterval*         iNotifyPollInterval;
+        CSatNotifySendDtmf*             iNotifySendDtmf;
+        CSatNotifySetUpEventList*       iNotifySetUpEventList;
+        CSatNotifyPollingOff*           iNotifyPollingOff;
+        CSatNotifyLocalInfo*            iNotifyLocalInfo;
+        CSatNotifyTimerMgmt*            iNotifyTimerMgmt;
+        CSatNotifyMoreTime*             iNotifyMoreTime;
+        CSatNotifyLanguageNotification* iNotifyLanguageNotification;
+        CSatNotifyOpenChannel*          iNotifyOpenChannel;
+        CSatNotifyGetChannelStatus*     iNotifyGetChannelStatus;
+        CSatNotifyCloseChannel*         iNotifyCloseChannel;
+        CSatNotifyReceiveData*          iNotifyReceiveData;
+        CSatNotifySendData*             iNotifySendData;
+        CSatNotifyMoSmControlRequest*   iNotifyMoSmControlRequest;
+
+        // Implemented in by cpp/h files in SimAtkTsy:
+        CSatEventDownload*              iEventDownload;
+        CSatTimer*                      iSatTimer;
+        CSatCC*                         iSatCC;
+        CSatDataDownload*               iSatDataDownload;
+        CSatIcon*                       iSatIcon;
+        CSatMoSmsCtrl*                  iSatMoSmsCtrl;
+        TTransIdMessage*                iTransIdMsg;
+        CSatFlightModeStatus*           iSatFlightModeStatus;
+
+        // Satmesshandler class, responsible for
+        // sending ISI messages to via NokiaTSY CMmPhonetSender and receiving
+        // ISI messages via Nokia TSY CMmPhonetReceiver.
+        CSatMessHandler*    iSatMessHandler;
+
+        // Pointer to main PhoneTsy class of CommonTSY component
+        CMmPhoneTsy*        iMmPhone;
+
+        // Pointer to ISI message sending class of NokiaTSY component
+        CMmPhoNetSender*    iPnSend;
+
+        // Pointer to ISI message receiving class of NokiaTSY component
+        CMmPhoNetReceiver*  iPnReceive;
+
+        // Fixed sat application name
+        TName               iSatAppName;
+
+        // Request handle for SAT SMS sending to MMSMS of CommonTSY component
+        TTsyReqHandle       iSendSmsTsyReqHandle;
+
+        // Message router
+        CMmMessageRouter*   iRouter;
+
+    };
+
+#endif  // SATMESSAGING_H
+
+// End of File