adaptationlayer/tsy/simatktsy_dll/inc/satmessaging.h
changeset 0 63b37f68c1ce
child 8 6295dc2169f3
equal deleted inserted replaced
-1:000000000000 0:63b37f68c1ce
       
     1 /*
       
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef SATMESSAGING_H
       
    21 #define SATMESSAGING_H
       
    22 
       
    23 //  INCLUDES
       
    24 #include "cmmmessagerouter.h"
       
    25 #include <ctsy/serviceapi/ctsysatmessagingbase.h>           // base class ctsysatmessagingbase
       
    26 
       
    27 #include "tsylogger.h"                      // tsy logger
       
    28 #include <etelsat.h>                        // etel sat api
       
    29 #include <etelmm.h>                         // etel multimode api
       
    30 #include <product_profile_definitions.h>    // product profile definitions
       
    31 
       
    32 // CONSTANTS
       
    33 const TInt      KZero               = 0;
       
    34 const TUint8    KPadding            = 0;
       
    35 
       
    36 // MACROS
       
    37     //None
       
    38 
       
    39 // DATA TYPES
       
    40     //None
       
    41 
       
    42 // FUNCTION PROTOTYPES
       
    43     //None
       
    44 
       
    45 // FORWARD DECLARATIONS
       
    46 
       
    47 // External
       
    48 class CMmPhoneTsy;
       
    49 class CMmPhoNetSender;
       
    50 class CMmPhoNetReceiver;
       
    51 class CMmSmsTsy;
       
    52 class CMmMessageRouterBase;
       
    53 class TIsiReceiveC;
       
    54 
       
    55 // Internal
       
    56 class CSatMessHandler;
       
    57 class CSatCC;
       
    58 class CSatTimer;
       
    59 class CSatEventDownload;
       
    60 class CSatDataDownload;
       
    61 class CSatIcon;
       
    62 class CSatMoSmsCtrl;
       
    63 class TTransIdMessage;
       
    64 class CSatFlightModeStatus;
       
    65 class TTlv;
       
    66 
       
    67 // Notifications
       
    68 class CSatNotifyDisplayText;
       
    69 class CSatNotifyGetInkey;
       
    70 class CSatNotifyGetInput;
       
    71 class CSatNotifyPlayTone;
       
    72 class CSatNotifySetUpMenu;
       
    73 class CSatNotifySelectItem;
       
    74 class CSatNotifySendSm;
       
    75 class CSatNotifySendSs;
       
    76 class CSatNotifySendUssd;
       
    77 class CSatNotifySetUpCall;
       
    78 class CSatNotifyRefresh;
       
    79 class CSatNotifySimSessionEnd;
       
    80 class CSatNotifySetUpIdleModeText;
       
    81 class CSatNotifyLaunchBrowser;
       
    82 class CSatNotifyCallControlRequest;
       
    83 class CSatNotifyPollInterval;
       
    84 class CSatNotifySendDtmf;
       
    85 class CSatNotifySetUpEventList;
       
    86 class CSatNotifyPollingOff;
       
    87 class CSatNotifyLocalInfo;
       
    88 class CSatNotifyTimerMgmt;
       
    89 class CSatNotifyMoreTime;
       
    90 class CSatNotifyLanguageNotification;
       
    91 class CSatNotifyOpenChannel;
       
    92 class CSatNotifyGetChannelStatus;
       
    93 class CSatNotifyCloseChannel;
       
    94 class CSatNotifyReceiveData;
       
    95 class CSatNotifySendData;
       
    96 class CSatNotifyMoSmControlRequest;
       
    97 
       
    98 // CLASS DECLARATION
       
    99 /**
       
   100 *  Sat notifications base class.
       
   101 *  Sat Messaging class.
       
   102 *  Each SAT proactive command has its own class, which holds the information
       
   103 *  relevant to the command in question. All proactive command classes are
       
   104 *  created when CTsySatMessaging object is created. This way each proactive
       
   105 *  command is handled by its own notify class. The proactive commands are
       
   106 *  encapsulated to individual classes in order to simplify the design and
       
   107 *  updating.
       
   108 *  This class also handles SAT originated SMS message sending and menu
       
   109 *  selection in SAT. All not supported functions are completed here.
       
   110 *
       
   111 *  @lib SIMATKTSY.LIB
       
   112 *  @since Series 60 Series60_2.6
       
   113 */
       
   114 class CTsySatMessaging : public CTsySatMessagingBase
       
   115     {
       
   116     public:  // Constructors and destructor
       
   117 
       
   118         /**
       
   119         * Two-phased constructor.
       
   120         * @param aMmPhone pointer to mmphone class
       
   121         * @param aSatMessHandler pointer to satmessagehandler class
       
   122         * @param aName Sat application fixed name
       
   123         */
       
   124         IMPORT_C static CTsySatMessaging* NewL(
       
   125             #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
       
   126             CMmPhoneTsy* aMmPhone, CMmMessageRouterBase* aRouter, TName aName );
       
   127             #else
       
   128             CMmMessageRouter* aRouter );
       
   129             #endif //NCP_COMMON_S60_VERSION_SUPPORT
       
   130 
       
   131         /**
       
   132         * Destructor.
       
   133         */
       
   134         virtual ~CTsySatMessaging();
       
   135 
       
   136 
       
   137     private: // Constructors
       
   138 
       
   139         /**
       
   140         * C++ default constructor.
       
   141         * @since Series 60 Series60_2.6
       
   142         * @param aMmPhone pointer to mmphone class
       
   143         * @param aSatMessHandler pointer to satmessagehandler class
       
   144         * @param aName Sat application fixed name
       
   145         */
       
   146         CTsySatMessaging(
       
   147             #if (NCP_COMMON_S60_VERSION_SUPPORT==S60_VERSION_32)
       
   148             CMmPhoneTsy* aMmPhone, CMmPhoNetSender* aPnSend, CMmPhoNetReceiver* aPnReceive, TName aName );
       
   149             #else
       
   150             CMmPhoNetSender* aPnSend, CMmPhoNetReceiver* aPnReceive, CMmMessageRouter* aRouter );
       
   151             #endif //NCP_COMMON_S60_VERSION_SUPPORT
       
   152 
       
   153 
       
   154         /**
       
   155         * By default Symbian 2nd phase constructor is private.
       
   156         */
       
   157         void ConstructL();
       
   158 
       
   159         /**
       
   160         * Copy constructor, usage not allowed
       
   161         * @since Series 60 Series60_2.6
       
   162         * @param Satmesshandler reference
       
   163         */
       
   164         CTsySatMessaging( const CTsySatMessaging& aRhs );
       
   165 
       
   166         /**
       
   167         * Assignment operator, usage not allowed
       
   168         * @since Series 60 Series60_2.6
       
   169         * @param Satmesshandler reference
       
   170         * @return SatMessHandler reference
       
   171         */
       
   172         CTsySatMessaging& operator = ( const CTsySatMessaging& aRhs );
       
   173 
       
   174 
       
   175     public: // Functions from base classes
       
   176 
       
   177         /**
       
   178         * Opens a new object identified by a name.
       
   179         * @since Series 60 Series60_2.6
       
   180         * @param aName Name to open
       
   181         * @return TelObject pointer to a telephony object
       
   182         */
       
   183         CTelObject* OpenNewObjectByNameL( const TDesC& aName );
       
   184 
       
   185         /**
       
   186         * Opens a new object identified by new name. Can leave.
       
   187         * Not in use.
       
   188         * @since Series 60 Series60_2.6
       
   189         * @param aNewName Name to open
       
   190         * @return TelObject pointer to a telephony object
       
   191         */
       
   192         CTelObject* OpenNewObjectL( TDes& aNewName );
       
   193 
       
   194         /**
       
   195         * Command handler for ETel server messages. The IPC identifies
       
   196         * the command to be executed if supported.
       
   197         * @since Series 60 Series60_2.6
       
   198         * @param aTsyReqHandle TsyReqHandle
       
   199         * @param aIpc command identifier
       
   200         * @param aPackage Data pointer
       
   201         * @return status
       
   202         */
       
   203         TInt ExtFunc( const TTsyReqHandle aTsyReqHandle,
       
   204             const TInt aIpc, const TDataPackage& aPackage );
       
   205 
       
   206         /**
       
   207         * ReqMode method for checking what modes this component supports
       
   208         * @since Series 60 Series60_2.6
       
   209         * @param aIpc command identifier
       
   210         * @return reqmode
       
   211         */
       
   212         CTelObject::TReqMode ReqModeL( const TInt aIPC );
       
   213 
       
   214         /**
       
   215         * Cancels the ongoing service
       
   216         * @since Series 60 Series60_2.6
       
   217         * @param aIpc command identifier
       
   218         * @param aTsyReqHandle TsyReqHandle
       
   219         * @return status
       
   220         */
       
   221         TInt CancelService( const TInt aIpc,
       
   222             const TTsyReqHandle aTsyReqHandle );
       
   223 
       
   224         /**
       
   225         * Initializer method that is called by ETel Server
       
   226         * @since Series 60 Series60_2.6
       
   227         * @param none
       
   228         * @return none
       
   229         */
       
   230         void Init();
       
   231 
       
   232         /**
       
   233         * Register given command, checks if the given command is supported
       
   234         * @since Series 60 Series60_2.6
       
   235         * @param aIpc command identifier
       
   236         * @return TInt status
       
   237         */
       
   238         TInt RegisterNotification( const TInt aIpc );
       
   239 
       
   240         /**
       
   241         * DeRegister given command, checks if the given command is supported
       
   242         * @since Series 60 Series60_2.6
       
   243         * @param aIpc command identifier
       
   244         * @return TInt status
       
   245         */
       
   246         TInt DeregisterNotification( const TInt aIpc );
       
   247 
       
   248         /**
       
   249         * Returns number of slots to be used for given IPC
       
   250         * @since Series 60 Series60_2.6
       
   251         * @param aIpc command identifier
       
   252         * @return TInt status
       
   253         */
       
   254         TInt NumberOfSlotsL( const TInt aIpc );
       
   255 
       
   256 
       
   257     public: // New methods
       
   258 
       
   259         /**
       
   260         * Handles an incoming proactive command from ISA CellMo SIM server
       
   261         * Called by CSatMessHandler when it receives proactive command ISI msg
       
   262         * originated by ISA CellMo SIM server.
       
   263         * @since NCP 5.0
       
   264         * @param aIsiMessage received proactive command ISI msg
       
   265         * @return none
       
   266         */
       
   267         void PCmdReceivedL( const TIsiReceiveC& aIsiMessage );
       
   268 
       
   269         /**
       
   270         * Notifies client about end of session
       
   271         * @since NCP 5.0
       
   272         * @param aIsiMsg
       
   273         * @return none
       
   274         */
       
   275         void SessionEnd( const TIsiReceiveC& /*aIsiMessage*/ );
       
   276 
       
   277         /**
       
   278         * Notifies Etel SAT client about call control event
       
   279         * This method is actually used only when an alpha id is present.
       
   280         * This is a design desicion, though it could be possible to notify ETel
       
   281         * SAT client everytime there is a call control result.
       
   282         * @since Series 60 Series60_2.6
       
   283         * @param aAlphaId alpha identifier
       
   284         * @param TControlResult result
       
   285         * @return none
       
   286         */
       
   287         void NotifyClientAboutCallControlEvent( TDesC& aAlphaId,
       
   288             RSat::TControlResult aResult );
       
   289 
       
   290         /**
       
   291         * Notifies Etel SAT client about call control event
       
   292         * @param aCcResult CC result from SIM application mapped to ISA value
       
   293         * @param aEnvelopeResponse response from SIM application
       
   294         * @return none
       
   295         */
       
   296         void NotifyClientAboutCallControlEventL( const TUint8 aCcResult,
       
   297             TPtrC8 aEnvelopeResponse );
       
   298 
       
   299         /**
       
   300         * Notifies Etel SAT client about GPRS call control event
       
   301         * This method is actually used only when an alpha id is present.
       
   302         * This is a design desicion, though it could be possible to notify ETel
       
   303         * SAT client everytime there is a call control result.
       
   304         * @param aAlphaId alpha identifier
       
   305         * @param TControlResult result
       
   306         * @return none
       
   307         */
       
   308         void NotifyClientAboutGprsCallControlEvent(
       
   309             const TDesC& aAlphaId,
       
   310             const RSat::TControlResult aResult );
       
   311 
       
   312         /**
       
   313         * Notifies client about Mo-Sms control event
       
   314         * This method is actually used only when an alpha id is present.
       
   315         * This is a design desicion, though it could be possible to notify ETel
       
   316         * SAT client everytime there is a MoSm control result.
       
   317         * @since Series 60 Series60_2.6
       
   318         * @param aAlphaId alpha identifier
       
   319         * * !!! RSat::TAlphaIdBuf& would have been better...
       
   320         * @param TControlResult result
       
   321         * @return none
       
   322         */
       
   323         void NotifyClientAboutMoSmControlEvent( TDesC& aAlphaId,
       
   324             RSat::TControlResult aResult );
       
   325 
       
   326         /**
       
   327         * Processes ISI messages that are relevant for event download
       
   328         * Called by CSatMessHandler when it receives an ISI msg
       
   329         * @since Series 60 Series60_3.0
       
   330         * @param aIsiMessage Pointer to an ISI msg
       
   331         * @return none
       
   332         */
       
   333         void EventDownloadReceived( const TIsiReceiveC& aIsiMessage );
       
   334 
       
   335         /**
       
   336         * Processes ISI messages that are relevant for call control
       
   337         * Called by CSatMessHandler when it receives ISI msg
       
   338         * @since NCP 3.1
       
   339         * @param aIsiMessage received ISI message
       
   340         * @return none
       
   341         */
       
   342         void CallControlReceivedL( const TIsiReceiveC& aIsiMessage );
       
   343 
       
   344         /**
       
   345         * Processes ISI messages that are relevant for data download
       
   346         * Called by CSatMessHandler when it receives an ISI msg
       
   347         * @since NCP 5.0
       
   348         * @param aIsiMessage received ISI message
       
   349         * @return none
       
   350         */
       
   351         void DataDownloadReceivedL( const TIsiReceiveC& aIsiMessage );
       
   352 
       
   353         /**
       
   354         * Processes ISI messages that are relevant for Mo-Sms Ctrl
       
   355         * Called by CSatMessHandler when it receives an ISI msg
       
   356         * @since NCP 5.0
       
   357         * @param aIsiMessage received ISI message
       
   358         * @return none
       
   359         */
       
   360         void MoSmsControlReceived( const TIsiReceiveC& aIsiMessage );
       
   361 
       
   362         /**
       
   363         * This methods returns ETrue if MoSmControl
       
   364         * is activated. Otherwise, it returns EFalse
       
   365         * @since Series 60 Series60_2.6
       
   366         * @param None
       
   367         * @return TBool, is MoSmControl activated or not
       
   368         */
       
   369         TBool IsMoSmControlBySimActivated();
       
   370 
       
   371         /**
       
   372         * Set up requested events that have to be reported to the SIM
       
   373         * @since Series 60 Series60_2.6
       
   374         * @param  aEvents bit mask
       
   375         * @return none
       
   376         */
       
   377         void SetUpEventList( TUint32 aEvents );
       
   378 
       
   379         /**
       
   380         * Terminal response command handler from ETel SAT client application.
       
   381         * @since Series 60 Series60_2.6
       
   382         * @param aPCmd proactive command Id
       
   383         * @param sRsp response structure
       
   384         * @param aTsyReqHandle TsyReqHandle
       
   385         * @return status
       
   386         */
       
   387         TInt TerminalResponse( RSat::TPCmd* aPCmd, TDes8* aRsp,
       
   388             TTsyReqHandle aTsyReqHandle );
       
   389 
       
   390         /**
       
   391         * Menu selection command handler from ETel SAT client application.
       
   392         * @since Series 60 Series60_2.6
       
   393         * @param aSelection command structure
       
   394         * @param aTsyReqHandle TsyReqHandle
       
   395         * @return status
       
   396         */
       
   397         TInt MenuSelection( TDes8* aSelection, TTsyReqHandle aTsyReqHandle );
       
   398 
       
   399         /**
       
   400         * Cell broadcast data download from ETel SAT client application
       
   401         * Not in use. CellBroadcast DDL is handled in CSatDataDownload class.
       
   402         * @since Series 60 Series60_2.6
       
   403         * @param aPackage containing the Pdu of the messsage
       
   404         * @param aTsyReqHandle Telephony service request handle
       
   405         * @return status
       
   406         */
       
   407         TInt NotifyCbDownload( TDes8* aPackage, TTsyReqHandle aTsyReqHandle );
       
   408 
       
   409         /**
       
   410         * Sms-Pp data download from ETel SAT client application
       
   411         * Not in use. Sms-Pp DDL is handled in CSatDataDownload class.
       
   412         * @since Series 60 Series60_2.6
       
   413         * @param aPackage containing the addresses and the Sms Tpdu
       
   414         * @param aTsyReqHandle Telephony service request handle
       
   415         * @return status
       
   416         */
       
   417         TInt NotifySmsPpDownload( TDes8* aPackage,
       
   418             TTsyReqHandle aTsyReqHandle );
       
   419 
       
   420         /**
       
   421         * Send SMS No Logging command handler from client application.
       
   422         * @since Series 60 Series60_2.6
       
   423         * @param aMsg Pointer to descriptor containing a command structure.
       
   424         * @param aMsgRef Pointer to descriptor containing a command structure.
       
   425         * @param aTsyReqHandle TsyReqHandle
       
   426         * @return status
       
   427         */
       
   428         TInt SendMessageNoLoggingL( TDes8* aMsg, TUint16* aMsgRef,
       
   429             TTsyReqHandle aTsyReqHandle );
       
   430 
       
   431         /**
       
   432         * Completes a SAT Originated SMS sending request to Etel SAT client
       
   433         * with the corresponding outcome.
       
   434         * @since Series 60 Series60_2.6
       
   435         * @param status was sending successfull/unsuccessfull
       
   436         * @return status
       
   437         */
       
   438         TInt CompleteSendSmsMessage( TInt aStatus );
       
   439 
       
   440         /**
       
   441         * Returns pointer to the SatMessHandler instance
       
   442         * @since Series 60 Series60_2.6
       
   443         * @return SatMessHandler*: SAT message handler pointer
       
   444         */
       
   445         CSatMessHandler* GetSatMessHandler();
       
   446 
       
   447         /**
       
   448         * Returns pointer to the CSatFlightModeStatus instance
       
   449         * @return CSatFlightModeStatus* Pointer to CSatFlightModeStatus
       
   450         */
       
   451         CSatFlightModeStatus* GetSatFlightModeStatus();
       
   452 
       
   453         /**
       
   454         * Timer Expiration handler
       
   455         * @since Series 60 Series60_2.6
       
   456         * @param TInt aTimerId: timer identification
       
   457         * @param TUint32 aTimerValue: timer value
       
   458         * @return status
       
   459         */
       
   460         TInt TimerExpiration( TInt aTimerId, TUint32 aTimerValue );
       
   461 
       
   462         /**
       
   463         * Returns pointer to the SatTimer instance
       
   464         * @since Series 60 Series60_2.6
       
   465         * @return CSatTimer*
       
   466         */
       
   467         CSatTimer* GetSatTimer();
       
   468 
       
   469         /**
       
   470         * Returns pointer to the CSatNotifyRefresh instance
       
   471         * @since Series 60 Series60_2.6
       
   472         * @return CSatNotifyRefresh*
       
   473         */
       
   474         CSatNotifyRefresh* GetNotifyRefresh();
       
   475 
       
   476         /**
       
   477         * Returns pointer to the CSatDataDownload instance
       
   478         * @since Series 60 Series60_2.6
       
   479         * @return CSatDataDownload*
       
   480         */
       
   481         CSatDataDownload* GetDataDownload();
       
   482 
       
   483         /**
       
   484         * Returns pointer to the NotifyLocalInfo instance
       
   485         * @since Series 60 Series60_2.6
       
   486         * @return CSatNotifyLocalInfo*
       
   487         */
       
   488         CSatNotifyLocalInfo* GetNotifyLocalInfo();
       
   489 
       
   490         /**
       
   491         * Returns pointer to the NotifyPollInterval instance
       
   492         * @since Series 60 Series60_2.6
       
   493         * @return CSatNotifyPollInterval*
       
   494         */
       
   495         CSatNotifyPollInterval* GetNotifyPollInterval();
       
   496 
       
   497         /**
       
   498         * Returns pointer to the NotifyPollingOff instance
       
   499         * @since Series 60 Series60_2.6
       
   500         * @return CSatNotifyPollingOff*
       
   501         */
       
   502         CSatNotifyPollingOff* GetNotifyPollingOff();
       
   503 
       
   504         /**
       
   505         * Returns pointer to the CSatMoSmsCtrl instance
       
   506         * @since Series 60 Series60_2.6
       
   507         * @return CSatMoSmsCtrl*
       
   508         */
       
   509         CSatMoSmsCtrl* GetMoSmsCtrl();
       
   510 
       
   511         /**
       
   512         * Returns pointer to the CSatEventDownload instance
       
   513         * @since Series 60 Series60_3.0
       
   514         * @return CSatEventDownload*
       
   515         */
       
   516         CSatEventDownload* GetEventDownload();
       
   517 
       
   518         /**
       
   519         * Get new transaction id
       
   520         * @since Series 60 Series60_2.6
       
   521         * @return  new transaction id
       
   522         */
       
   523         TUint8 GetTransactionId();
       
   524 
       
   525         /**
       
   526         * Sat ready indication
       
   527         * This method is used to retrieve a proactive command ISI message
       
   528         * which was received by the Nokia TSY CPhonetReceiver before the
       
   529         * creation of CSatMessaging and CSatMessHandler instances.
       
   530         * @since Series 60 Series60_2.6
       
   531         * @param TUint8: Message to be retrieved.
       
   532         * @return TInt: success/failure if msg was found
       
   533         */
       
   534         TInt SatReady( TUint8 aMsg );
       
   535 
       
   536          /**
       
   537         * Clears the array containing call control event data, due to
       
   538         * a refresh PCmd.
       
   539         * @since Series 60 Series60_2.6
       
   540         * @return none
       
   541         */
       
   542         void ClearCCArrays();
       
   543 
       
   544         /**
       
   545         * Returns pointer to the SatIcon instance
       
   546         * @since Series 60 Series60_2.6
       
   547         * @return CSatIcon*
       
   548         */
       
   549         CSatIcon* GetSatIcon();
       
   550 
       
   551         /**
       
   552         * Cache call connected envelope
       
   553         * @since Series 60 Series60_2.6
       
   554         * @param aEnvelope reference to descriptor containing
       
   555         * envelope data.
       
   556         * @return none
       
   557         */
       
   558         void StoreCallConnectedEvent( const TDesC8& aEnvelope );
       
   559 
       
   560         /**
       
   561         * Updates the status of SetUpCall command in SatEventDownload instance.
       
   562         * @since Series 60 Series60_2.6
       
   563         * @param aStatus
       
   564         * @return none
       
   565         */
       
   566         void SetSetUpCallStatus( const TBool aStatus );
       
   567 
       
   568         /**
       
   569         * Set CSatCC internal flag according to EF-SimServiceTable.
       
   570         * The flag tells whether Ussd TLV is supported in Call Control by SIM.
       
   571         * @since Series 60 Series60_2.6
       
   572         * @param aStatus
       
   573         * @return none
       
   574         */
       
   575         void SetStatusOfUssdSupport( const TBool aStatus );
       
   576 
       
   577         /**
       
   578         * Set CSatCC internal Ton and Npi
       
   579         * @since Series 60 Series60_2.6
       
   580         * @param aTonNpi
       
   581         * @return none
       
   582         */
       
   583         void SetTonNpi( const TUint8 aTonNpi );
       
   584 
       
   585         /**
       
   586         * Requests the storing of SMS message from CommonTSY
       
   587         * @since NCP 5.0
       
   588         * @param aSmsEntry SMS entry to be stored
       
   589         * @return ErrorCode returned by CommonTSY
       
   590         */
       
   591         TInt StoreSmsL( RMobileSmsStore::TMobileGsmSmsEntryV1& aSmsEntry );
       
   592 
       
   593 #if ( NCP_COMMON_S60_VERSION_SUPPORT >= S60_VERSION_50 )
       
   594         /**
       
   595         * Returns pointer to message router instance
       
   596         * @return pointer to message router
       
   597         */
       
   598         CMmMessageRouter* GetMessageRouter();
       
   599 #endif
       
   600 
       
   601     private: // New methods
       
   602 
       
   603         /**
       
   604         * Handles extended ETel SAT client requests, received from ExtFunc
       
   605         * @since Series 60 Series60_2.6
       
   606         * @param aTsyReqHandle TsyReqHandle
       
   607         * @param aIpc command identifier
       
   608         * @param aPackage Data pointer
       
   609         * @return status
       
   610         */
       
   611         TInt DoExtFuncL( const TTsyReqHandle aTsyReqHandle, const TInt aIpc,
       
   612             const TDataPackage& aPackage );
       
   613 
       
   614         /**
       
   615         * The (U)SAT client calls this method to inform the TSY that it has
       
   616         * posted all the relevant (U)SAT notifications and is ready to receive
       
   617         * the (U)SAT Commands.
       
   618         * @since PP5.2
       
   619         * @param TTsyReqHandle aTsyReqHandle
       
   620         * @return none
       
   621         */
       
   622         void UsatClientReadyIndication( TTsyReqHandle aTsyReqHandle );
       
   623 
       
   624     private:  // Data
       
   625 
       
   626         // Proactive command class instances
       
   627         // created when this class is created, all classes
       
   628         // need pointers to this class and to satmesshandler
       
   629         // class
       
   630         CSatNotifyDisplayText*          iNotifyDisplayText;
       
   631         CSatNotifyGetInkey*             iNotifyGetInkey;
       
   632         CSatNotifyGetInput*             iNotifyGetInput;
       
   633         CSatNotifyPlayTone*             iNotifyPlayTone;
       
   634         CSatNotifySetUpMenu*            iNotifySetUpMenu;
       
   635         CSatNotifySelectItem*           iNotifySelectItem;
       
   636         CSatNotifySendSm*               iNotifySendSm;
       
   637         CSatNotifySendSs*               iNotifySendSs;
       
   638         CSatNotifySendUssd*             iNotifySendUssd;
       
   639         CSatNotifySetUpCall*            iNotifySetUpCall;
       
   640         CSatNotifyRefresh*              iNotifyRefresh;
       
   641         CSatNotifySimSessionEnd*        iNotifySimSessionEnd;
       
   642         CSatNotifySetUpIdleModeText*    iNotifySetUpIdleModeText;
       
   643         CSatNotifyLaunchBrowser*        iNotifyLaunchBrowser;
       
   644         CSatNotifyCallControlRequest*   iNotifyCallControlRequest;
       
   645         CSatNotifyPollInterval*         iNotifyPollInterval;
       
   646         CSatNotifySendDtmf*             iNotifySendDtmf;
       
   647         CSatNotifySetUpEventList*       iNotifySetUpEventList;
       
   648         CSatNotifyPollingOff*           iNotifyPollingOff;
       
   649         CSatNotifyLocalInfo*            iNotifyLocalInfo;
       
   650         CSatNotifyTimerMgmt*            iNotifyTimerMgmt;
       
   651         CSatNotifyMoreTime*             iNotifyMoreTime;
       
   652         CSatNotifyLanguageNotification* iNotifyLanguageNotification;
       
   653         CSatNotifyOpenChannel*          iNotifyOpenChannel;
       
   654         CSatNotifyGetChannelStatus*     iNotifyGetChannelStatus;
       
   655         CSatNotifyCloseChannel*         iNotifyCloseChannel;
       
   656         CSatNotifyReceiveData*          iNotifyReceiveData;
       
   657         CSatNotifySendData*             iNotifySendData;
       
   658         CSatNotifyMoSmControlRequest*   iNotifyMoSmControlRequest;
       
   659 
       
   660         // Implemented in by cpp/h files in SimAtkTsy:
       
   661         CSatEventDownload*              iEventDownload;
       
   662         CSatTimer*                      iSatTimer;
       
   663         CSatCC*                         iSatCC;
       
   664         CSatDataDownload*               iSatDataDownload;
       
   665         CSatIcon*                       iSatIcon;
       
   666         CSatMoSmsCtrl*                  iSatMoSmsCtrl;
       
   667         TTransIdMessage*                iTransIdMsg;
       
   668         CSatFlightModeStatus*           iSatFlightModeStatus;
       
   669 
       
   670         // Satmesshandler class, responsible for
       
   671         // sending ISI messages to via NokiaTSY CMmPhonetSender and receiving
       
   672         // ISI messages via Nokia TSY CMmPhonetReceiver.
       
   673         CSatMessHandler*    iSatMessHandler;
       
   674 
       
   675         // Pointer to main PhoneTsy class of CommonTSY component
       
   676         CMmPhoneTsy*        iMmPhone;
       
   677 
       
   678         // Pointer to ISI message sending class of NokiaTSY component
       
   679         CMmPhoNetSender*    iPnSend;
       
   680 
       
   681         // Pointer to ISI message receiving class of NokiaTSY component
       
   682         CMmPhoNetReceiver*  iPnReceive;
       
   683 
       
   684         // Fixed sat application name
       
   685         TName               iSatAppName;
       
   686 
       
   687         // Request handle for SAT SMS sending to MMSMS of CommonTSY component
       
   688         TTsyReqHandle       iSendSmsTsyReqHandle;
       
   689 
       
   690         // Message router
       
   691         CMmMessageRouter*   iRouter;
       
   692 
       
   693     };
       
   694 
       
   695 #endif  // SATMESSAGING_H
       
   696 
       
   697 // End of File