adaptationlayer/tsy/simatktsy_dll/inc/satmesshandler.h
changeset 0 63b37f68c1ce
child 5 8ccc39f9d787
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 SATMESSHANDLER_H
       
    21 #define SATMESSHANDLER_H
       
    22 
       
    23 
       
    24 // INCLUDES
       
    25 #include "cmmphonetreceiver.h"              // mmmmessagereceiver interface
       
    26 #include <etelsat.h>                        // etel sat api
       
    27 #include <product_profile_definitions.h>    // product profile definitions
       
    28 
       
    29 
       
    30 // CONSTANTS
       
    31 // UICC file path max length
       
    32 const TUint8 KUiccFilePathLength( 8 );
       
    33 // UICC file path length when reading service table
       
    34 const TUint8 KUiccFilePathLengthServiceTable( 6 );
       
    35 
       
    36 // Call Server's maximum address length. Use only with Call Server messages.
       
    37 const TUint8 KCallServerMaxAddressLenght( 123 );
       
    38 const TInt KAtkPdpCcRespMaxSize( 690 );
       
    39 
       
    40 // Bitmask for status bit of call control in USIM
       
    41 const TUint8 KCallControlBitMaskUsim( 0x20 );
       
    42 // Bitmask for status bit of call control in SIM
       
    43 const TUint8 KCallControlBitMaskSim( 0x08 );
       
    44 // Bitmask for status bit of SMS PP DD in USIM
       
    45 const TUint8 KSmsPpDdBitMaskUsim( 0x08 );
       
    46 // Bitmask for status bit of SMS PP DD in SIM
       
    47 const TUint8 KSmsPpDdBitMaskSim( 0x02 );
       
    48 // Bitmask for status bit of MO SMS control in USIM
       
    49 const TUint8 KMoSmsControlBitMaskUsim( 0x40 );
       
    50 // Bitmask for status bit of MO SMS control in SIM
       
    51 const TUint8 KMoSmsControlBitMaskSim( 0x10 );
       
    52 // Bitmask for status bit of USSD CC  in SIM
       
    53 const TUint8 KMoUssdCallControlBitMaskSim( 0x01 );
       
    54 // Unique transaction IDs for UICC messages
       
    55 const TUint8 KUiccTrIdCommon( 0xFA );
       
    56 const TUint8 KUiccTrIdReadSatIcon( 0xFB );
       
    57 const TUint8 KUiccTrIdReadIconClut( 0xF8 );
       
    58 const TUint8 KUiccTrIdReadIconInstancePhase1( 0xF7 );
       
    59 const TUint8 KUiccTrIdReadIconInstancePhase2( 0xF6 );
       
    60 const TUint8 KUiccTrIdServiceTableByte4( 0xFC );
       
    61 const TUint8 KUiccTrIdServiceTableByte5( 0xF9 );
       
    62 const TUint8 KUiccTrIdServiceTableByte7( 0xFD );
       
    63 const TUint8 KUiccTrIdServiceTableByte6( 0xFF );
       
    64 
       
    65 // PollInterval, PollingOff
       
    66 const TUint8 KDefaultPollInterval( 0x00 );
       
    67 const TUint8 KMinPollInterval( 0x05 );
       
    68 const TUint8 KMaxPollInterval( 0xFF );
       
    69 
       
    70 const TUint8 KBlackAndWhite( 0x11 ); // Image Coding Scheme
       
    71 
       
    72 
       
    73 
       
    74 // FORWARD DECLARATIONS
       
    75 class CMmPhoNetSender;
       
    76 class CTsySatMessaging;
       
    77 class CBerTlv;
       
    78 
       
    79 // CLASS DECLARATION
       
    80 
       
    81 /**
       
    82 *  SAT message handler class.
       
    83 *  Handles message sending and receiving to and from phonet.
       
    84 *
       
    85 *  @lib simatktsy.lib
       
    86 *  @since Series60_ver 2.6
       
    87 */
       
    88 class CSatMessHandler : public CBase, public MMmMessageReceiver
       
    89     {
       
    90     public: // Data types
       
    91 
       
    92         //Type of SIM card
       
    93         enum TIccType
       
    94             {
       
    95             EIccTypeSim2GGsm,
       
    96             EIccTypeSim3G,
       
    97             EIccTypeSimUnknown
       
    98             };
       
    99 
       
   100         //Ss and Ussd status
       
   101         enum TSsStatus
       
   102             {
       
   103             ENotBusy,
       
   104             ESsBusy,
       
   105             EUssdBusy
       
   106             };
       
   107 
       
   108         // Location information
       
   109         struct TLocationInfo
       
   110             {
       
   111             TInt            iRegStatus; // Registration status
       
   112             TBuf8<2>        iLac;       // Location Area Code
       
   113             TBuf8<4>        iCellId;
       
   114             TBuf8<3>        iOperatorCode;
       
   115             };
       
   116 
       
   117 
       
   118     public:     // Constructors and destructor
       
   119 
       
   120         /**
       
   121         * Two-phased constructor.
       
   122         * @param aTsySatMessaging pointer to TsySatMessaging class
       
   123         * @param aPnSend Phonetsender for passing messages to phonet
       
   124         */
       
   125         static CSatMessHandler* NewL( CTsySatMessaging* aTsySatMessaging,
       
   126             CMmPhoNetSender* aPnSend );
       
   127 
       
   128         /**
       
   129         * Destructor.
       
   130         */
       
   131         virtual ~CSatMessHandler();
       
   132 
       
   133 
       
   134     private:    // Constructors
       
   135 
       
   136         /**
       
   137         * C++ default constructor.
       
   138         * @param aTsySatMessaging pointer to TsySatMessaging class
       
   139         * @param aPnSend Phonetsender for passing messages to phonet
       
   140         */
       
   141         CSatMessHandler( CTsySatMessaging* aTsySatMessaging,
       
   142             CMmPhoNetSender* aPnSend );
       
   143 
       
   144 
       
   145     public:     // New methods
       
   146 
       
   147         /**
       
   148         * Display text response method.
       
   149         * @since Series60_ver 2.6
       
   150         * @param aTransId Unique transaction ID
       
   151         * @param aCommandDetails command details tlv
       
   152         * @param aGeneralResult result of the proactive command display text
       
   153         * @param aAdditionalInfo Additional info response might give
       
   154         * @return phonet sender status
       
   155         */
       
   156         TInt DisplayTextTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   157             TUint8 aGeneralResult, TUint8 aAdditionalInfo );
       
   158 
       
   159         /**
       
   160         * Get Inkey response method.
       
   161         * @since NCP 3.1
       
   162         * @param aTransId Unique transaction ID
       
   163         * @param aCommandDetails command details tlv
       
   164         * @param aRsp Response packet from Etel
       
   165         * @return phonet sender status
       
   166         */
       
   167         TInt GetInkeyTerminalResp( const TUint8 aTransId,
       
   168             const TDes8& aCommandDetails, const RSat::TGetInkeyRspV2& aRsp );
       
   169 
       
   170         /**
       
   171         * Get Input response method.
       
   172         * @since Series60_ver 2.6
       
   173         * @param aTransId Unique transaction ID
       
   174         * @param aCommandDetails Command details tlv
       
   175         * @param aGeneralResult result of the proactive command Get Input
       
   176         * @param aAdditionalInfo Additional info response might give
       
   177         * @param aTextString text string provided by the user
       
   178         * @param aDataCodingScheme data coding scheme for text string
       
   179         * @return phonet sender status
       
   180         */
       
   181         TInt GetInputTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   182             TUint8 aGeneralResult, TUint8 aAdditionalInfo,
       
   183             TDesC16& aTextString, TUint8 aDataCodingScheme );
       
   184 
       
   185         /**
       
   186         * Play Tone response method.
       
   187         * @since Series60_ver 2.6
       
   188         * @param Unique transaction ID
       
   189         * @param aCommandDetails
       
   190         * @param aGeneralResult result of the proactive command
       
   191         * @param aAdditionalInfo Additional info given in some cases
       
   192         * @return phonet sender status
       
   193         */
       
   194         TInt PlayToneTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   195             TUint8 aGeneralResult, TUint8 aAdditionalInfo );
       
   196 
       
   197         /**
       
   198         * Setup Menu response method.
       
   199         * @since Series60_ver 2.6
       
   200         * @param aTransId Unique transaction ID
       
   201         * @param aCommandDetails command details tlv
       
   202         * @param aGeneralResult result of the proactice command Setup Menu
       
   203         * @param aAdditionalInfo Additional info response might give
       
   204         * @return phonet sender status
       
   205         */
       
   206         TInt SetUpMenuTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   207             TUint8 aGeneralResult, TUint8 aAdditionalInfo );
       
   208 
       
   209         /**
       
   210         * Select Item response method.
       
   211         * @since Series60_ver 2.6
       
   212         * @param aTransId Unique transaction ID
       
   213         * @param aCommandDetails command details tlv
       
   214         * @param aGeneralResult result of the proactice command Select Item
       
   215         * @param aAdditionalInfo Additional info response might give
       
   216         * @return phonet sender status
       
   217         */
       
   218         TInt SelectItemTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   219             TUint8 aGeneralResult, TUint8 aAdditionalInfo );
       
   220 
       
   221         /**
       
   222         * Send SM response method.
       
   223         * @since Series60_ver 2.6
       
   224         * @param aPCmdNumber Unique transaction ID
       
   225         * @param aCommandDetails command details tlv
       
   226         * @param aGeneralResult result of the proactice command Send SM
       
   227         * @param aAdditionalInfo Additional info response might give
       
   228         * @return phonet sender status
       
   229         */
       
   230         TInt SendSmTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   231             TUint8 aGeneralResult, TUint8 aAdditionalInfo );
       
   232 
       
   233         /**
       
   234         * Send SS response method.
       
   235         * @since Series60_ver 2.6
       
   236         * @param aTransId Unique transaction ID
       
   237         * @param aCommandDetails Command details TLV
       
   238         * @param aGeneralResult result of the proactive command Send SS
       
   239         * @param aAdditionalInfo Additional info response might give
       
   240         * @return phonet sender status
       
   241         */
       
   242         TInt SendSsTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   243             TUint8 aGeneralResult, TDesC8& aAdditionalInfo );
       
   244 
       
   245         /**
       
   246         * Send DTMF response method.
       
   247         * @since Series60_ver 2.6
       
   248         * @param aTransId Unique transaction ID
       
   249         * @param aPCmdNumber Command number
       
   250         * @param aGeneralResult result of the proactice command Send SS
       
   251         * @param aAdditionalInfo Additional info response might give
       
   252         * @return phonet sender status
       
   253         */
       
   254         TInt SendDtmfTerminalResp( TUint8 aTransId,  TDes8& aCommandDetails,
       
   255             TUint8 aGeneralResult, TUint8 aAdditionalInfo );
       
   256 
       
   257         /**
       
   258         * Send USSD response method.
       
   259         * @since Series60_ver 2.6
       
   260         * @param aTransId Unique transaction ID
       
   261         * @param aCommandDetails command details of the PCmd
       
   262         * @param aGeneralResult result of the proactive command Send USSD
       
   263         * @param aAdditionalInfo Additional info the response might give
       
   264         * @param aUssdData Ussd text string, without the DCS byte
       
   265         * @param aUssdCbsDataCodingScheme, DCS byte of the USSD data
       
   266         * @return phonet sender status
       
   267         */
       
   268         TInt SendUssdTerminalResp( TUint8 aTransId,  TDes8& aCommandDetails,
       
   269             TUint8  aGeneralResult, TUint8 aAdditionalInfo,
       
   270             TDes& aUssdData, TUint8 aUssdCbsDataCodingScheme );
       
   271 
       
   272         /**
       
   273         * Polling Interval response method
       
   274         * @since Series60_ver 2.8
       
   275         * @param aPCmdNumber Unique transaction ID
       
   276         * @param aCommandDetails command details tlv
       
   277         * @param aGeneralResult result of the proactive command
       
   278         * @param aAdditionalInfo Additional info response might give
       
   279         * @param aNumOfUnits time interval
       
   280         * @return phonet sender status
       
   281         */
       
   282         TInt PollIntervalTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   283             TUint8 aGeneralResult, TUint8 aAdditionalInfo,
       
   284             TUint8 aNumOfUnits );
       
   285 
       
   286         /**
       
   287         * Setup Call response method.
       
   288         * @since Series60_ver 2.6
       
   289         * @param aTransId Unique transaction ID
       
   290         * @param aCommandDetails Command details TLV
       
   291         * @param aGeneralResult result of the proactive command Setup Call
       
   292         * @param aAdditionalInfo Additional info response might give
       
   293         * @return phonet sender status
       
   294         */
       
   295         TInt SetUpCallTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   296             TUint8 aGeneralResult, TUint8 aAdditionalInfo );
       
   297 
       
   298         /**
       
   299         * Refresh response method.
       
   300         * @since Series60_ver 2.6
       
   301         * @param aPCmdNumber Unique transaction ID
       
   302         * @param aGeneralResult result of the proactice command Refresh
       
   303         * @param aAdditionalInfo Additional info response might give
       
   304         * @return phonet sender status
       
   305         */
       
   306         TInt RefreshTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   307             TUint8 aGeneralResult, TUint8 aAdditionalInfo );
       
   308 
       
   309         /**
       
   310         * Menu Selection method.
       
   311         * @since Series60_ver 2.6
       
   312         * @param aTransId Unique transaction ID
       
   313         * @param aItemIdentifier identifier of the selected menu item
       
   314         * @param aHelp help requested by the user indicator
       
   315         * @return phonet sender status
       
   316         */
       
   317         void MenuSelectionInd( TUint8 aTransId, TUint8 aItemIdentifier,
       
   318             TUint8 aHelp );
       
   319 
       
   320         /**
       
   321         * Launch Browser terminal response method
       
   322         * @since Series60_ver 2.6
       
   323         * @param aTransId transaction id
       
   324         * @param aPCmdNumber command number
       
   325         * @param aGeneralResult
       
   326         * @param aAdditionalInfo
       
   327         * @param aCmdQualifier
       
   328         * @return phonet sender status
       
   329         */
       
   330         TInt LaunchBrowserTerminalResp( TUint8 aTransId,
       
   331             TDes8& aCommandDetails, TUint8 aGeneralResult,
       
   332             TUint8 aAdditionalInfo );
       
   333 
       
   334         /**
       
   335         * Test if a command was performed successfully
       
   336         * @since Series60_ver 2.6
       
   337         * @param aGeneralResult
       
   338         * @return ETrue if command performed successfully, else EFalse
       
   339         */
       
   340         TBool CommandPerformedSuccessfully( TUint8 aGeneralResult );
       
   341 
       
   342         /**
       
   343         * SetupIdleModeText Terminal Response
       
   344         * @since Series60_ver 2.6
       
   345         * @param aTransId Unique transaction ID
       
   346         * @param aCommandDetails command details tlv
       
   347         * @param aGeneralResult result of the proactive command display text
       
   348         * @param aAdditionalInfo Additional info response might give
       
   349         * @return phonet sender status
       
   350         */
       
   351         TInt SetUpIdleModeTextTerminalResp( TUint8 aTransId,
       
   352             TDes8& aCommandDetails, TUint8 aGeneralResult,
       
   353             TUint8 aAdditionalInfo );
       
   354 
       
   355         /**
       
   356         * SetUpEventList response method.
       
   357         * @since Series60_ver 2.6
       
   358         * @param aTransId Unique transaction ID
       
   359         * @param aCommandDetails command details tlv
       
   360         * @param aGeneralResult result of the proactive command display text
       
   361         * @param aAdditionalInfo Additional info response might give
       
   362         * @return phonet sender status
       
   363         */
       
   364 
       
   365         TInt SetUpEventListTerminalResp( TUint8 aTransId,
       
   366             TDes8& aCommandDetails, TUint8 aGeneralResult,
       
   367             TUint8 aAdditionalInfo );
       
   368 
       
   369         /**
       
   370         * PollingOff response method.
       
   371         * @since Series60_ver 2.6
       
   372         * @param aPCmdNumber Unique transaction ID
       
   373         * @param aCommandDetails command details tlv
       
   374         * @param aAdditionalInfo Additional info response might give
       
   375         * @return phonet sender status
       
   376         */
       
   377         TInt PollingOffTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   378             TUint8 aGeneralResult, TUint8 aAdditionalInfo );
       
   379 
       
   380         /**
       
   381         * LocalInfo response method.
       
   382         * @since Series60_ver 2.6
       
   383         * @param aTransId Unique transaction ID
       
   384         * @param aCommandDetails Command details TLV
       
   385         * @param aGeneralResult result of the proactice command
       
   386         * @param aAdditionalInfo Additional info response might give
       
   387         * @return phonet sender status
       
   388         */
       
   389         TInt LocalInfoTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   390             TUint8 aGeneralResult, TDes& aAdditionalInfo );
       
   391 
       
   392        /**
       
   393         * Timer management response method.
       
   394         * @since Series60_ver 2.6
       
   395         * @param aTransId Unique transaction ID
       
   396         * @param aCommandDetails Command details TLV
       
   397         * @param aGeneralResult result of the proactive command
       
   398         * @param aTimerValue[3]: timer value in hours, minutes and seconds
       
   399         * @param aTimerId: timer identifier
       
   400         * @param aAdditionalInfo Additional info response might give
       
   401         * @return phonet sender status
       
   402         */
       
   403         TInt TimerMgmtTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   404             TUint8 aGeneralResult, TUint8 aTimerValue[3], TUint8 aTimerId,
       
   405             TUint8 aAdditionalInfo );
       
   406 
       
   407         /**
       
   408         * Timer expiration indication
       
   409         * @since Series60_ver 2.6
       
   410         * @param TUint8 aTransId: Unique transaction ID
       
   411         * @param TUint8 aTimerId: timer identification
       
   412         * @param TUint8 aTimerValue: timer value
       
   413         * @return TInt:
       
   414         */
       
   415         TInt TimerExpirationInd ( TUint8 aTransId, TUint8 aTimerId,
       
   416             TUint8 aTimerValue[3] );
       
   417 
       
   418         /**
       
   419         * More time response
       
   420         * @since Series60_ver 2.6
       
   421         * @param aTransId Unique transaction ID
       
   422         * @param aCommandDetails Command details TLV
       
   423         * @param aGeneralResult result of the proactive command
       
   424         * @return phonet sender status
       
   425         */
       
   426         TInt MoreTimeTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   427             TUint8 aGeneralResult );
       
   428 
       
   429         /**
       
   430         * Open Channel response method
       
   431         * @since Series60_ver 3.0
       
   432         * @param aTransId Unique transaction ID
       
   433         * @param aCommandDetails Command details TLV
       
   434         * @param aGeneralResult result of the proactive command
       
   435         * @param aAdditionalInfo Additional info response might give
       
   436         * @param aBearerType
       
   437         * @param aBearer
       
   438         * @param aBufferSize
       
   439         * @return phonet sender status
       
   440         */
       
   441         TInt OpenChannelTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   442             TUint8 aGeneralResult, TDes8& aAdditionalInfo, TUint8 aBearerType,
       
   443             TDesC8& aBearer, TUint16 aBufferSize );
       
   444 
       
   445         /**
       
   446         * Get Channel Status response method.
       
   447         * @since Series60_ver 3.0
       
   448         * @param aTransId Unique transaction ID
       
   449         * @param aCommandDetails Command details TLV
       
   450         * @param aGeneralResult result of the proactice command
       
   451         * @param aAdditionalInfo Additional info response might give
       
   452         * @return phonet sender status
       
   453         */
       
   454         TInt GetChannelStatusTerminalResp( TUint8 aTransId,
       
   455             TDes8& aCommandDetails, TUint8 aGeneralResult,
       
   456             const TDes8& aAdditionalInfo );
       
   457 
       
   458         /**
       
   459         * Close Channel response method.
       
   460         * @since Series60_ver 3.0
       
   461         * @param aTransId Unique transaction ID
       
   462         * @param aCommandDetails Command details TLV
       
   463         * @param aGeneralResult result of the proactice command
       
   464         * @param aAdditionalInfo Additional info response might give
       
   465         * @return phonet sender status
       
   466         */
       
   467         TInt CloseChannelTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   468             TUint8 aGeneralResult, const TDes8& aAdditionalInfo );
       
   469 
       
   470         /**
       
   471         * Receive Data response method.
       
   472         * @since Series60_ver 3.0
       
   473         * @param aTransId Unique transaction ID
       
   474         * @param aCommandDetails Command details TLV
       
   475         * @param aGeneralResult result of the proactice command
       
   476         * @param aAdditionalInfo Additional info response might give
       
   477         * @param aChannelDataLength
       
   478         * @return phonet sender status
       
   479         */
       
   480         TInt ReceiveDataTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   481             TUint8 aGeneralResult, const TDes8& aAdditionalInfo,
       
   482             TUint8 aChannelDataLength );
       
   483 
       
   484         /**
       
   485         * Send Data response method.
       
   486         * @since Series60_ver 3.0
       
   487         * @param aTransId Unique transaction ID
       
   488         * @param aCommandDetails Command details TLV
       
   489         * @param aGeneralResult result of the proactice command
       
   490         * @param aAdditionalInfo Additional info response might give
       
   491         * @param aChannelDataLength
       
   492         * @return phonet sender status
       
   493         */
       
   494         TInt SendDataTerminalResp( TUint8 aTransId, TDes8& aCommandDetails,
       
   495             TUint8 aGeneralResult, const TDes8& aAdditionalInfo,
       
   496             TUint8 aChannelDataLength );
       
   497 
       
   498         /**
       
   499         * SendTerminalResponse
       
   500         * @since Series60_ver 2.6
       
   501         * @param aCommandDetails Command details TLV
       
   502         * @param aBerTlvSpecificData data to be sent
       
   503         * @return phonet sender status
       
   504         */
       
   505         TInt SendTerminalResponse( const TDes8& aCommandDetails,
       
   506             const TDesC8& aBerTlvSpecificData,
       
   507             const TUint8 aTransId = 0 );
       
   508 
       
   509         /**
       
   510         * Sends an empty terminal response to the SIMSON
       
   511         * @param aTransId transaction id / should be same as in REQ
       
   512         * @return phonet sender status
       
   513         */
       
   514         TInt SendEmptyTerminalRsp( const TInt aTransId  );
       
   515 
       
   516         /**
       
   517         * send UICC_CAT_REQ
       
   518         * @since Series60_ver 3.0
       
   519         * @param aTransId Transaction id of envelope
       
   520         * @param aBerTlv TLV data of the envelope command
       
   521         * @param aStore Decides wether the provided envelope
       
   522         *  is stored for resending or not.
       
   523         * @return phonet sender status
       
   524         */
       
   525         TInt UiccCatReqEnvelope( TUint8 aTransId, const TDesC8& aBerTlv,
       
   526             TBool aStore = ETrue );
       
   527 
       
   528         /**
       
   529         * Send a Sms-Pp report to SMS server, with subblocks
       
   530         * @since Series60_ver 2.6
       
   531         * @param aTransId Unique transaction Id
       
   532         * @param aData data to be appended to the request
       
   533         * @return None
       
   534         */
       
   535         void SendSmsReportReq( TUint8 aTransId, TDesC8& aData );
       
   536 
       
   537         /**
       
   538         * Send a request to SMS server
       
   539         * @since Series60_ver 2.6
       
   540         * @param aTransId Unique transaction Id
       
   541         * @param aMsgId Message identifier of the request
       
   542         * @param aData data to be appended to the request
       
   543         * @return None
       
   544         */
       
   545         void SmsResoureConfReq( TUint8 aTransId, TUint8 aMsgId, TDesC8& aData );
       
   546 
       
   547         /**
       
   548         * Breaks a INFO_SERIAL_NUMBER_READ_RESP ISI-message
       
   549         * @since Series60_ver 3.0
       
   550         * @param TIsiReceiveC& aIsiMessage response to envelope
       
   551         * @return none
       
   552         */
       
   553         void InfoSerialNumberReadResp( const TIsiReceiveC& aIsiMessage );
       
   554 
       
   555         /**
       
   556         * Send NET_NEIGHBOUR_CELLS_REQ message to Phonet.
       
   557         * @since Series60_ver 2.6
       
   558         * @param aTransId a unique transaction id
       
   559         * @param aCellInfoType NET_NEIGHBOUR_CELL_INFO_TYPE
       
   560         * @return TInt: Phonet sender status
       
   561         */
       
   562         TInt NetNeighbourCellsReq( TUint8 aTransId, TUint8 aCellInfoType );
       
   563 
       
   564         /**
       
   565         * Breaks a NET_NEIGHBOUR_CELLS_RESP ISI-message
       
   566         * @since Series60_ver 3.0
       
   567         * @param aIsiMessage response to envelope
       
   568         * @return none
       
   569         */
       
   570         void NetNeighbourCellResp( const TIsiReceiveC& aIsiMessage );
       
   571 
       
   572         /**
       
   573         * Sends a CALL_MODEM_RESOURCE_REQ ISI-message to modem Call server.
       
   574         * @param sTransId Unique transaction id
       
   575         * @param aMsg ISI message data to be sent
       
   576         * @return TInt: Phonet sender status
       
   577         */
       
   578         TInt CallModemResourceReq( TUint8 aTransId, const TDesC8& aMsg );
       
   579 
       
   580         /**
       
   581         * Sends a CALL_MODEM_RESOURCE_CONF_REQ ISI-message to modem Call server
       
   582         * @param aResourceId resource to be controlled
       
   583         * @param aResourceIdMask mask for resource to be controlled
       
   584         * @return TInt: Phonet sender status
       
   585         */
       
   586         TInt CallModemResourceConfReq( TUint16 aResourceId, TUint16 aResourceIdMask );
       
   587 
       
   588         /**
       
   589         * Sends a SS_RESOURCE_CONF_REQ ISI-message to modem SS server.
       
   590         * @return TInt: Phonet sender status
       
   591         */
       
   592         TInt SsResourceConfReq();
       
   593 
       
   594         /**
       
   595         * Sends a SS_RESOURCE_CONTROL_REQ ISI-message to modem SS server.
       
   596         * @param aTransId Unique transaction id
       
   597         * @param aMsg ISI message data to be sent
       
   598         * @return TInt: Phonet sender status
       
   599         */
       
   600         TInt SsResourceControlReq(
       
   601             TUint8 aTransId,
       
   602             const TDesC8& aMsg
       
   603             );
       
   604 
       
   605         /**
       
   606         * Sends a GPDS_RESOURCE_CONF_REQ ISI-message to modem SS server.
       
   607         * @return TInt: Phonet sender status
       
   608         */
       
   609         TInt GpdsResourceConfReq();
       
   610 
       
   611         /**
       
   612         * Sends a GPDS_RESOURCE_CONTROL_REQ ISI-message to modem SS server.
       
   613         * @param aTransId Unique transaction id
       
   614         * @param aMsg ISI message data to be sent
       
   615         * @return TInt: Phonet sender status
       
   616         */
       
   617         TInt GpdsResourceControlReq(
       
   618             TUint8 aTransId,
       
   619             const TDesC8& aMsg
       
   620             );
       
   621 
       
   622         /**
       
   623         * Set Polling Interval, sending a request to sim server
       
   624         * @since Series60_ver 2.6
       
   625         * @param aTraId Transaction Id
       
   626         * @param aValue in seconds
       
   627         * @return none
       
   628         */
       
   629         void SetPollingInterval( TUint8 aTraId, TUint8 aValue );
       
   630 
       
   631         /**
       
   632         * Method to check SIM server response to a refresh request
       
   633         * @since Series60_ver 2.6
       
   634         * @param aStatus SIM server status
       
   635         * @return none
       
   636         */
       
   637         void RefreshResult( TUint8 aStatus );
       
   638 
       
   639         /**
       
   640         * Method to check SIM server response to a set polling request
       
   641         * Called by SimAtkRespL
       
   642         * @since Series60_ver 2.6
       
   643         * @param aStatus SIM server status
       
   644         * @param aTransId Transaction Id
       
   645         * @param aInterval obtained from the ISI message of the response
       
   646         * @param None
       
   647         */
       
   648         void SetPollingResult( TUint8 aStatus, TUint8 aTransId,
       
   649             TUint8 aInterval );
       
   650 
       
   651         /**
       
   652         * Method to check that proactive command is in correct format.
       
   653         * @since NCP 5.0
       
   654         * @param aIsiMessage
       
   655         * @return KErrNone or KErrCorrupt
       
   656         */
       
   657         TInt CheckProactiveCommand( const TIsiReceiveC& aIsiMessage );
       
   658 
       
   659         /**
       
   660         * Send a SMS_CB_ROUTING_REQ ISI-message
       
   661         * @since Series60_ver 2.6
       
   662         * @param aTransId
       
   663         * @param aRoutingCommand
       
   664         * Return value: phonet sender return value
       
   665         */
       
   666         TInt SmsCbRoutingReq( TUint8 aTransId, TUint8 aRoutingCommand );
       
   667 
       
   668         /**
       
   669         * Breaks a SMS_CB_ROUTING_RESP ISI-message
       
   670         * @since NCP 3.1
       
   671         * @param aIsiMessage Message from SMS server
       
   672         * Return value: none
       
   673         */
       
   674         void SmsCbRoutingResp( const TIsiReceiveC& aIsiMessage );
       
   675 
       
   676         /**
       
   677         * Breaks a SMS_RESOURCE_CONF_IND ISI-message
       
   678         * @since NCP 3.1
       
   679         * @param aIsiMessage Message from SMS server
       
   680         * Return value: none
       
   681         */
       
   682         void SmsResourceConfInd( const TIsiReceiveC& aIsiMessage );
       
   683 
       
   684         /**
       
   685         * Creates InfoSerialNumberReadReq ISI message and sends it to Phonet
       
   686         * @since Series60_ver 3.0
       
   687         * @param aTransId: unique transaction id
       
   688         * @param aTarget: requested data
       
   689         * return value TInt : success/failure value
       
   690         */
       
   691         TInt InfoSerialNumberReadReq( TUint8 aTransId, TUint8 aTarget );
       
   692 
       
   693         /**
       
   694         * Creates NET_CELL_INFO_GET_REQ ISI message and sends it to Phonet
       
   695         * @param aTransId: unique transaction id
       
   696         * return value TInt: success/failure value
       
   697         */
       
   698         TInt NetCellInfoGetReq( TUint8 aTransId );
       
   699 
       
   700         /**
       
   701         * Breaks a NET_CELL_INFO_GET_RESP ISI-message
       
   702         * @param aIsiMessage Net cell info get resp ISI message
       
   703         * Return value: none
       
   704         */
       
   705         void NetCellInfoGetResp( const TIsiReceiveC& aIsiMessage );
       
   706 
       
   707         /**
       
   708         * Sends a GSS_CS_SERVICE_REQ isi-message to phonet
       
   709         * @since Series60_ver 2.6
       
   710         * @param aTransId Transaction ID
       
   711         * @param TUint8 aOperation: Gss operation
       
   712         * @retrun TInt: Phonet sender status
       
   713         */
       
   714         TInt GssCsServiceReq( TUint8 aTransId, TUint8 aOperation );
       
   715 
       
   716         /**
       
   717         * Breaks a GSS_CS_SERVICE_RESP ISI-message
       
   718         * @since Series60_ver 3.0
       
   719         * @param aIsiMessage ISI message from GSS server
       
   720         * Return value: none
       
   721         */
       
   722         void GssCsServiceResp( const TIsiReceiveC& aIsiMessage );
       
   723 
       
   724         /**
       
   725         * Breaks a GSS_CS_SERVICE_FAIL_RESP ISI-message
       
   726         * @since Series60_ver 3.0
       
   727         * @param aIsiMessage ISI message from GSS server
       
   728         * Return value: none
       
   729         */
       
   730         void GssCsServiceFailResp( const TIsiReceiveC& aIsiMessage );
       
   731 
       
   732         /**
       
   733         * Language Notification response
       
   734         * @since Series60_ver 2.6
       
   735         * @param aTransId Unique transaction ID
       
   736         * @param aCommandDetails Command details TLV
       
   737         * @param aGeneralResult result of the proactive command
       
   738         * @param aLanguage
       
   739         * @return phonet sender status
       
   740         */
       
   741         TInt LanguageNotificationTerminalResp( TUint8 aTransId,
       
   742             TDes8& aCommandDetails, TUint8 aGeneralResult,
       
   743             TUint8 aAdditionalInfo );
       
   744 
       
   745         /**
       
   746         * Breaks a NET_TIME_IND isi-message
       
   747         * @since Series60_ver 3.0
       
   748         * @param aIsiMessage received indication
       
   749         * @return none
       
   750         */
       
   751         void NetTimeInd( const TIsiReceiveC& aIsiMessage );
       
   752 
       
   753 
       
   754         /**
       
   755         * Sends a NET_RAT_REQ isi-message to phonet
       
   756         * @since Series60_ver 2.6
       
   757         * @param aTransId Transaction ID
       
   758         * @retrun TInt: Phonet sender status
       
   759         */
       
   760         TInt NetRatReq( TUint8 aTransId );
       
   761 
       
   762         /*
       
   763         * Breaks a NET_RAT_RESP ISI-message
       
   764         * @since Series60_ver 3.0
       
   765         * @param aIsiMessage Net rat resp ISI message
       
   766         * Return value: none
       
   767         */
       
   768         void NetRatResp( const TIsiReceiveC& aIsiMessage );
       
   769 
       
   770         /**
       
   771         * Send a response to SMS server after a SMS resource Indication received from
       
   772         * SMS sever.
       
   773         * This response tells whether the SMS can be sent or not.
       
   774         * @since Series60_ver 2.6
       
   775         * @param aTransId Transaction id, same as in the request
       
   776         * @param aData Data to be sent
       
   777         * @return none
       
   778         */
       
   779         TInt SendSmsResourceReq( TUint8 aTransId, TDesC8& aData,
       
   780             TUint8 aReceiverObject );
       
   781 
       
   782         /**
       
   783         * Breaks a SS_STATUS_IND isi-message
       
   784         * @since Series60_ver 3.0
       
   785         * @param TIsiReceiveC& aIsiMessage received indication
       
   786         * @return none
       
   787         */
       
   788         void SsStatusInd( const TIsiReceiveC& aIsiMessage );
       
   789 
       
   790         /**
       
   791         * Helper method to find out does the given result require an additional
       
   792         * info byte(s) in terminal response
       
   793         * @param aGeneralResult
       
   794         * @return ETrue if result needs an additional info byte(s), else EFalse
       
   795         */
       
   796         TBool AdditionalInfoNeeded( const TUint8 aGeneralResult );
       
   797 
       
   798         /**
       
   799         * Breaks a NET_RAT_IND isi-message
       
   800         * @since Series60_ver 3.0
       
   801         * @param aIsiMessage received indication
       
   802         * @return none
       
   803         */
       
   804         void NetRatInd( const TIsiReceiveC& aIsiMessage );
       
   805 
       
   806         /**
       
   807         * Stores Network service status to an internal structure
       
   808         * @param aIsiMessage NetCellInfoInd or NetCellInfoGetResp
       
   809         * @return none
       
   810         */
       
   811         void StoreNetServiceStatus( const TIsiReceiveC& aIsiMessage );
       
   812 
       
   813         /**
       
   814         * Getter for location information
       
   815         * @since NCP 5.0
       
   816         * @return Location Information structure
       
   817         */
       
   818         const TLocationInfo& LocationInfo();
       
   819 
       
   820         /**
       
   821         * Sends a INFO_PP_READ_REQ isi-message to phonet
       
   822         * @since NCP 5.0
       
   823         * @param aReqType Product profile feature being requested
       
   824         * @retrun TInt: Phonet sender status
       
   825         */
       
   826         TInt InfoPpReadReq( const TUint8 aReqType );
       
   827 
       
   828         /**
       
   829         * Breaks a INFO_PP_READ_RESP isi-message
       
   830         * @since Series60_ver 5.0
       
   831         * @param aIsiMessage received indication
       
   832         * @return none
       
   833         */
       
   834         void InfoPpReadResp( const TIsiReceiveC& aIsiMessage );
       
   835 
       
   836         /**
       
   837         * Validates lengths of simple tlv objects inside BER TLV
       
   838         * object
       
   839         * @param berTlv BER TLV object
       
   840         * @retrun TInt: Validation status
       
   841         */
       
   842         TInt CheckTlvObjects( CBerTlv& berTlv );
       
   843 
       
   844         /**
       
   845         * Activate or DeActivate MO SMS Control on SMS Server according to SIM
       
   846         * Server Response
       
   847         * @param MO SM control status in SIM card
       
   848         * @return none
       
   849         */
       
   850         void SimMoSmsControlAvail( TUint8 aStatus );
       
   851 
       
   852         /**
       
   853         * Send UICC_CAT_REQ(UICC_SB_TERMINAL_PROFILE) ISI message
       
   854         * @return none
       
   855         */
       
   856         void UiccTerminalProfileReq();
       
   857 
       
   858         /**
       
   859         * Send UICC_APPL_CMD_REQ ISI message for reading data
       
   860         * from service table of UICC
       
   861         * @param aTrId Transaction ID
       
   862         * @param aFileOffset Offset of service table to be read
       
   863         * @return Error code
       
   864         */
       
   865         TInt UiccReadServiceTableReq( TUint8 aTrId, TUint16 aFileOffset );
       
   866 
       
   867         /**
       
   868         * Send UICC_APPL_CMD_REQ ISI message for reading data
       
   869         * from EF img
       
   870         * @param aRecordNumber Record number
       
   871         * @param aFileOffset File Offset
       
   872         * @param aDataAmount Data amount
       
   873         * @param aTrId Transaction ID
       
   874         * @return Error code
       
   875         */
       
   876         TInt UiccReadSatIconReq(
       
   877             TUint8 aRecordNumber,
       
   878             TUint8 aFileOffset,
       
   879             TUint8 aDataAmount,
       
   880             TUint8 aTrId );
       
   881 
       
   882         /**
       
   883         * Send UICC_APPL_CMD_REQ ISI message for reading image instance
       
   884         * @param aFileId File ID
       
   885         * @return Error code
       
   886         */
       
   887         TInt UiccReadSatIconInstanceReq( TUint16 aFileId );
       
   888 
       
   889         /**
       
   890         * Send UICC_CAT_REQ ISI message
       
   891         * @param aCommand Command
       
   892         * @return Error code
       
   893         */
       
   894         TInt UiccCatReq( TUint8 aCommand );
       
   895 
       
   896         /**
       
   897         * Send UICC_CAT_REQ ISI message for refresh command
       
   898         * @param aTransId Transaction ID
       
   899         * @param aServiceType Service type
       
   900         * @param aFileList File list
       
   901         * @param aAid Application ID
       
   902         * @return Error code
       
   903         */
       
   904         TInt UiccCatReqRefresh(
       
   905             const TUint8 aTransId,
       
   906             const TUint8 aServiceType,
       
   907             TDes8& aFileList,
       
   908             const TDesC8& aAid );
       
   909 
       
   910         /**
       
   911         * Send UICC_CAT_REQ ISI message for terminal response
       
   912         * @param aCommandDetails Command details
       
   913         * @param aBerTlvSpecificData BER-TLV data
       
   914         * @param aTransId Transaction ID
       
   915         * @return Error code
       
   916         */
       
   917         TInt UiccCatReqTerminalResponse(
       
   918             const TDes8& aCommandDetails,
       
   919             const TDesC8& aBerTlvSpecificData,
       
   920             const TUint8 aTransId = 0 );
       
   921 
       
   922         /**
       
   923         * Handle UICC_CAT_RESP ISI message for envelope response
       
   924         * @param aIsiMessage Received ISI message
       
   925         * @return Information about handling of the message
       
   926         */
       
   927         TBool UiccCatRespEnvelope( const TIsiReceiveC& aIsiMessage );
       
   928 
       
   929         /**
       
   930         * Handle UICC_CAT_RESP ISI message for terminal response
       
   931         * @param aIsiMessage Received ISI message
       
   932         * @return Information about handling of the message
       
   933         */
       
   934         TBool UiccCatRespTerminalResponse( const TIsiReceiveC& aIsiMessage );
       
   935 
       
   936         /**
       
   937         * Get application file ID
       
   938         * @return Application file ID
       
   939         */
       
   940         const TDesC8& GetApplicationFileId();
       
   941 
       
   942         /**
       
   943         * Set status of iSatReady flag
       
   944         * @param aSatReadyStatus SAT status
       
   945         * @return None
       
   946         */
       
   947         void SetSatReadyStatus( TBool aSatReadyStatus );
       
   948 
       
   949         /**
       
   950         * Get status of iSatReady flag
       
   951         * @return SAT status
       
   952         */
       
   953         TBool GetSatReadyStatus();
       
   954 
       
   955         /**
       
   956         * Get status of iTerminalProfileSent flag
       
   957         * @return Terminal profile status
       
   958         */
       
   959         TBool GetTerminalProfileStatus();
       
   960 
       
   961         /**
       
   962         * Get clut data
       
   963         * @return Clut data
       
   964         */
       
   965         const TDesC8& GetClut();
       
   966 
       
   967     public: // Inline functions
       
   968 
       
   969         /**
       
   970         * Returns time zone information received from network.
       
   971         * @since NCP 5.0
       
   972         * @param none
       
   973         * @return TUint8 Time zone
       
   974         */
       
   975         inline TUint8 TimeZone() const;
       
   976 
       
   977         /**
       
   978         * Method to check if IMEI is successfully received
       
   979         * @since NCP 5.0
       
   980         * @return ETrue if IMEI is known, otherwise EFalse
       
   981         * @param None
       
   982         */
       
   983         inline TBool ImeiAvailable() const;
       
   984 
       
   985         /**
       
   986         * Method to check Location information status
       
   987         * @since NCP 5.0
       
   988         * @return ETrue or EFalse
       
   989         * @param None
       
   990         */
       
   991         inline TBool ServiceAvailable() const;
       
   992 
       
   993         /**
       
   994         * Get Polling off status
       
   995         * @since NCP 5.0
       
   996         * @return Return ETrue if Polling is set off,
       
   997         * and false after a polling interval pcmd
       
   998         */
       
   999         inline TBool PollingOff() const;
       
  1000 
       
  1001         /**
       
  1002         * Set Polling off status
       
  1003         * @since NCP 5.0
       
  1004         * @param aPollingOff true after a Polling Off,
       
  1005         * and false after a polling interval pcmd
       
  1006         * @return none
       
  1007         */
       
  1008         inline void SetPollingOff( const TBool aPollingOff );
       
  1009 
       
  1010         /**
       
  1011         * Get Ss status
       
  1012         * @since NCP 5.0
       
  1013         * @return status indicating if Ss or Ussd transaction ongoing
       
  1014         */
       
  1015         inline TSsStatus SsStatus() const;
       
  1016 
       
  1017         /**
       
  1018         * Get current access technology
       
  1019         * @since NCP 5.1
       
  1020         * @return current access technology
       
  1021         */
       
  1022         inline TUint8 CurrentAccessTechnology() const;
       
  1023 
       
  1024 #ifdef INFO_PP_ENHANCED_NETWORK_SELECTION
       
  1025         /**
       
  1026         * Get current status of INFO_PP_ENHANCED_NETWORK_SELECTION PP flag
       
  1027         * @return current status of INFO_PP_ENHANCED_NETWORK_SELECTION PP flag
       
  1028         */
       
  1029         inline TBool EnsSupported() const;
       
  1030 #endif
       
  1031 
       
  1032         /**
       
  1033         * Get Old Polling interval status
       
  1034         * @return Return ETrue if Old Polling is set on,
       
  1035         * and EFalse otherwise
       
  1036         */
       
  1037         inline TBool OldPollInterval() const;
       
  1038 
       
  1039     public: // Functions from MMmMessageReceiver-interface
       
  1040 
       
  1041         /**
       
  1042         * Called by phonet receiver when an ISI message has
       
  1043         * been received
       
  1044         * @since Series60_ver 3.0
       
  1045         * @param aIsiMessage The received ISI message
       
  1046         * @return none
       
  1047         */
       
  1048         virtual void ReceiveMessageL( const TIsiReceiveC& aIsiMessage );
       
  1049 
       
  1050         /**
       
  1051         * Handles errors which comes come from PhoNetReceiver RunError
       
  1052         * @param aIsiMessage The received ISI message
       
  1053         * @param aError Error code
       
  1054         * @return none
       
  1055         */
       
  1056         virtual void HandleError( const TIsiReceiveC& /*aIsiMessage*/,
       
  1057             TInt /*aErrorCode*/ );
       
  1058 
       
  1059 
       
  1060     private:    // Constructors
       
  1061 
       
  1062         /**
       
  1063         * Copy constructor, usage not allowed
       
  1064         * @param Satmesshandler reference
       
  1065         */
       
  1066         CSatMessHandler( const CSatMessHandler& aRhs );
       
  1067 
       
  1068         /**
       
  1069         * Assignment operator, usage not allowed
       
  1070         * @param Satmesshandler reference
       
  1071         * @return aRhs SatMessHandler reference
       
  1072         */
       
  1073         CSatMessHandler& operator = ( const CSatMessHandler& aRhs );
       
  1074 
       
  1075         /**
       
  1076         * Constructor method for sat message handler.
       
  1077         */
       
  1078         void ConstructL();
       
  1079 
       
  1080 
       
  1081     private:    // New methods
       
  1082 
       
  1083         /**
       
  1084         * Handles the Net server related messages
       
  1085         * @since Series60_ver 3.0
       
  1086         * @param aIsiMessage Isi message from net server
       
  1087         * @return none
       
  1088         */
       
  1089         void NetServerMessageReceived( const TIsiReceiveC& aIsiMessage );
       
  1090 
       
  1091         /**
       
  1092         * Handles the Phone Info server related messages
       
  1093         * @since Series60_ver 3.0
       
  1094         * @param aIsiMsg proactive command
       
  1095         * @return none
       
  1096         */
       
  1097         void PhoneInfoMessageReceived( const TIsiReceiveC& aIsiMessage );
       
  1098 
       
  1099         /**
       
  1100         * Handles the UICC server related messages
       
  1101         * @param aIsiMessage received ISI message
       
  1102         * @return Information about handling of response
       
  1103         */
       
  1104         TBool UiccServerMessageReceived( const TIsiReceiveC& aIsiMessage );
       
  1105 
       
  1106         /**
       
  1107         * Handles the Sms server related messages
       
  1108         * @since NCP 3.1
       
  1109         * @param aIsiMessage Message from SMS server
       
  1110         * @return none
       
  1111         */
       
  1112         void SmsServerMessageReceived( const TIsiReceiveC& aIsiMessage );
       
  1113 
       
  1114         /**
       
  1115         * Handles the Ss server related messages
       
  1116         * @since Series60_ver 3.0
       
  1117         * @param aIsiMsg proactive command
       
  1118         * @return none
       
  1119         */
       
  1120         void SsServerMessageReceived( const TIsiReceiveC& aIsiMessage );
       
  1121 
       
  1122         /**
       
  1123         * Handles the GSM Stack server related messages
       
  1124         * @since Series60_ver 3.0
       
  1125         * @param aIsiMessage ISI message from GSS server
       
  1126         * @return none
       
  1127         */
       
  1128         void GsmStackServerMessageReceived( const TIsiReceiveC& aIsiMessage );
       
  1129 
       
  1130         /**
       
  1131         * Handles proactive procedures, i.e Call Control, Data Download,
       
  1132         * Event Download and MO-SMS Control related messages
       
  1133         * @since NCP 3.1
       
  1134         * @param aIsiMessage received ISI message
       
  1135         * @return none
       
  1136         */
       
  1137         void ProactiveProcedureMessageReceivedL(
       
  1138             const TIsiReceiveC& aIsiMessage );
       
  1139 
       
  1140         /**
       
  1141         * Sends a PN_ATK message with the data given as parameter
       
  1142         * @since NCP 5.1
       
  1143         * @param aReceiverObject: Receiver object ID
       
  1144         * @param aTransactionId: Message Transaction ID
       
  1145         * @param aMessageId: Message identifier
       
  1146         * @param aData: Message data to be sent
       
  1147         * @return Error/Success value from sending the message
       
  1148         */
       
  1149         TInt CSatMessHandler::SendPnAtkMessage( const TUint8 aReceiverObject,
       
  1150             const TUint8 aTransactionId, const TInt aMessageId,
       
  1151             const TDesC8& aData );
       
  1152 
       
  1153         /**
       
  1154         * Breaks UICC_APPL_CMD_RESP ISI message
       
  1155         * @param aReceiverObject: Receiver object ID
       
  1156         * @return None
       
  1157         */
       
  1158         void UiccApplCmdResp( const TIsiReceiveC& aIsiMessage );
       
  1159 
       
  1160         /**
       
  1161         * Breaks a UICC_CAT_IND ISI-message
       
  1162         * @param aIsiMessage Received ISI message
       
  1163         * @return None
       
  1164         */
       
  1165         void UiccCatInd( const TIsiReceiveC& aIsiMessage );
       
  1166 
       
  1167     private: // Data
       
  1168 
       
  1169         // Pointer to SAT messaging object
       
  1170         CTsySatMessaging*   iTsySatMessaging;
       
  1171 
       
  1172         // Pointer to Phonet Sender
       
  1173         CMmPhoNetSender*    iPnSend;
       
  1174 
       
  1175         // Storage for terminal resp transaction id.
       
  1176         TInt                iTerminalRespTraId;
       
  1177 
       
  1178         // Save the SimReadField transaction id used by GetIcon.
       
  1179         TInt                iGetIconSimReadFieldTraId;
       
  1180 
       
  1181         // Save the SimReadField transaction id used by DataDownload.
       
  1182         TInt                iDataDownloadSimReadFieldTraId;
       
  1183 
       
  1184         // Variable for storing card id
       
  1185         TUint8              iCardId;
       
  1186 
       
  1187         // For storing IMEI code.
       
  1188         TBuf8<16>           iIMEI;
       
  1189 
       
  1190         // For storing NMR
       
  1191         TBuf8<16>           iNMR;
       
  1192 
       
  1193         // For storing BCCH channel list
       
  1194         TBuf<32>            iBCCHChannelList;
       
  1195 
       
  1196         // For checking if IMEI code has been received
       
  1197         TBool               iSerialNumberReadReceived;
       
  1198 
       
  1199         // Stores the state of SMS CB routing request
       
  1200         TBool               iSmsCbRoutingComplete;
       
  1201 
       
  1202         // Refresh proactive command is currently active flag.
       
  1203         TBool               iRefreshRequestIsOn;
       
  1204 
       
  1205         // Variable for storing Timing Advance
       
  1206         TUint8              iTimingAdvance;
       
  1207 
       
  1208         // Variable for storing Timing advance Status
       
  1209         TUint8              iTaStatus;
       
  1210 
       
  1211         // Time zone information from Network. 0xFF if not received.
       
  1212         TUint8              iTimeZone;
       
  1213 
       
  1214         // SIM Server's object Id
       
  1215         TUint8              iSimServerObjectId;
       
  1216 
       
  1217         // Variable for storing Current Access Technology
       
  1218         TUint8              iCurrentAccTech;
       
  1219 
       
  1220         // Flag is true after a Polling Off, and false after a polling
       
  1221         // interval pcmd
       
  1222         TBool               iPollingOff;
       
  1223 
       
  1224         // status indicating if Ss or Ussd transaction ongoing
       
  1225         TSsStatus           iSsStatus;
       
  1226 
       
  1227         // Flag is set true if requested Poll Interval
       
  1228         // is longer than KMaxLegacyPollInterval
       
  1229         TBool               iLongPollIntervalReq;
       
  1230 
       
  1231         // Location Information
       
  1232         TLocationInfo       iLocInfo;
       
  1233 
       
  1234         // UTRAN Measurement results
       
  1235         TPtrC8              iUtranNMR;
       
  1236 
       
  1237 #ifdef INFO_PP_ATK_MO_SM_CONTROL
       
  1238         // Boolean to check if MO SMS control is supported in product profile
       
  1239         TBool               iMoSmsSupportedInPp;
       
  1240 #endif // INFO_PP_ATK_MO_SM_CONTROL
       
  1241 
       
  1242         // For storing transaction id in product profile queries. Used only
       
  1243         // with INFO_PP_ATK_MO_SM_CONTROL, but there can be several
       
  1244         // simultaneous PP queries ongoing
       
  1245         TUint8              iInfoPpMoSmsTraId;
       
  1246 
       
  1247 #ifdef INFO_PP_ENHANCED_NETWORK_SELECTION
       
  1248         // Boolean to hold status of INFO_PP_ENHANCED_NETWORK_SELECTION in
       
  1249         // product profile
       
  1250         TBool               iEnsSupportedInPp;
       
  1251 
       
  1252         // Boolean to check if TR for SET UP EVENT LIST has been sent
       
  1253         TBool               iSetUpEventListTrSent;
       
  1254 #endif // INFO_PP_ENHANCED_NETWORK_SELECTION
       
  1255 
       
  1256         // Previous registration status
       
  1257         TUint8              iPreviousRegistrationStatus;
       
  1258 
       
  1259         // Boolean to check if  OLD_POLL_INTERVAL control is supported in product profile
       
  1260         TBool               iOldPollIntervalSupportedInPp;
       
  1261 
       
  1262         // To store Subscription no
       
  1263         TUint8              iSmsCbSubscriptionNo;
       
  1264 
       
  1265         // To store SAT server status
       
  1266         TBool               iSatReady;
       
  1267 
       
  1268         // To store status of terminal profile
       
  1269         TBool               iTerminalProfileSent;
       
  1270 
       
  1271         // To store card type
       
  1272         TUint8              iCardType;
       
  1273 
       
  1274         // To store application ID
       
  1275         TUint8              iApplicationId;
       
  1276 
       
  1277         // Application file ID
       
  1278         TBuf8<2>            iApplFileId;
       
  1279 
       
  1280         // To store UICC client ID
       
  1281         TUint8              iUiccClientId;
       
  1282 
       
  1283         // Polling interval
       
  1284         TUint8              iPollingInterval;
       
  1285 
       
  1286         // Image coding scheme
       
  1287         TUint8              iImageCodingScheme;
       
  1288 
       
  1289         // Number of clut in image instance data
       
  1290         TInt                iNumberOfClut;
       
  1291 
       
  1292         // Clut data
       
  1293         TPtrC8              iClutData;
       
  1294 
       
  1295     };
       
  1296 #include "satmesshandler.inl"
       
  1297 
       
  1298 #endif    // SATMESSHANDLER_H
       
  1299 
       
  1300 // End of File