adaptationlayer/tsy/simatktsy_dll/src/satnotifications.cpp
changeset 9 8486d82aef45
parent 8 6295dc2169f3
equal deleted inserted replaced
8:6295dc2169f3 9:8486d82aef45
    27 #include "satutil.h"            // sat utility class
    27 #include "satutil.h"            // sat utility class
    28 
    28 
    29 #include <tisi.h>               // isi message
    29 #include <tisi.h>               // isi message
    30 #include <net_modemisi.h>       // net server
    30 #include <net_modemisi.h>       // net server
    31 #include <gssisi.h>             // gss server
    31 #include <gssisi.h>             // gss server
    32 #include <atkisi.h>             // atk server
       
    33 #include <uiccisi.h>            // uicc server
    32 #include <uiccisi.h>            // uicc server
    34 #include <satcs.h>
    33 #include <satcs.h>
    35 #include "OstTraceDefinitions.h"
    34 #include "OstTraceDefinitions.h"
    36 #ifdef OST_TRACE_COMPILER_IN_USE
    35 #ifdef OST_TRACE_COMPILER_IN_USE
    37 #include "satnotificationsTraces.h"
    36 #include "satnotificationsTraces.h"
   135 const TUint8 KLinkEstablishmentMask                 = 0x01;
   134 const TUint8 KLinkEstablishmentMask                 = 0x01;
   136 
   135 
   137 // Reconnection mode
   136 // Reconnection mode
   138 const TUint8 KReconnectionModeMask                  = 0x02;
   137 const TUint8 KReconnectionModeMask                  = 0x02;
   139 
   138 
       
   139 const TInt KECircularRepeatIndicator                = 0x01;
       
   140 const TInt KESequentalRepeatIndicator               = 0x03;
       
   141 
   140 
   142 
   141 // LOCAL FUNCTION PROTOTYPES
   143 // LOCAL FUNCTION PROTOTYPES
   142 
   144 
   143 // Declaration needed here for ARMV5 because method is used in Notifications
   145 // Declaration needed here for ARMV5 because method is used in Notifications
   144 // base, but method implementation is bit later.
   146 // base, but method implementation is bit later.
   162         iSatMessHandler( aSatMessHandler ),
   164         iSatMessHandler( aSatMessHandler ),
   163         iSatMessaging( aSatMessaging ),
   165         iSatMessaging( aSatMessaging ),
   164         iTransId( KZero ),
   166         iTransId( KZero ),
   165         iReqHandle( NULL )
   167         iReqHandle( NULL )
   166     {
   168     {
   167     OstTrace0( TRACE_NORMAL, CSATNOTIFICATIONSBASE_CSATNOTIFICATIONSBASE, "CSatNotificationsBase::CSatNotificationsBase" );
   169     OstTrace0( TRACE_NORMAL,  CSATNOTIFICATIONSBASE_CSATNOTIFICATIONSBASE_TD, "CSatNotificationsBase::CSatNotificationsBase" );
   168     iCommandDetails.Zero();
   170     iCommandDetails.Zero();
   169 
   171 
   170     // Following results are accepted by all commands
   172     // Following results are accepted by all commands
   171     iAllowedResults = RSat::KSuccess + RSat::KPartialComprehension
   173     iAllowedResults = RSat::KSuccess + RSat::KPartialComprehension
   172         + RSat::KMissingInformation + RSat::KMeUnableToProcessCmd
   174         + RSat::KMissingInformation + RSat::KMeUnableToProcessCmd
   179 // Destructor
   181 // Destructor
   180 // -----------------------------------------------------------------------------
   182 // -----------------------------------------------------------------------------
   181 //
   183 //
   182 CSatNotificationsBase::~CSatNotificationsBase()
   184 CSatNotificationsBase::~CSatNotificationsBase()
   183     {
   185     {
   184     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFICATIONSBASE_CSATNOTIFICATIONSBASE, "CSatNotificationsBase::~CSatNotificationsBase" );
   186     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFICATIONSBASE_CSATNOTIFICATIONSBASE_TD, "CSatNotificationsBase::~CSatNotificationsBase" );
   185     // None
   187     // None
   186     }
   188     }
   187 
   189 
   188 // -----------------------------------------------------------------------------
   190 // -----------------------------------------------------------------------------
   189 // CSatNotificationsBase::CancelNotification
   191 // CSatNotificationsBase::CancelNotification
   194 TInt CSatNotificationsBase::CancelNotification
   196 TInt CSatNotificationsBase::CancelNotification
   195         (
   197         (
   196         const TTsyReqHandle aReqHandle  // Request handle
   198         const TTsyReqHandle aReqHandle  // Request handle
   197         )
   199         )
   198     {
   200     {
   199     OstTrace0( TRACE_NORMAL, CSATNOTIFICATIONSBASE_CANCELNOTIFICATION, "CSatNotificationsBase::CancelNotification" );
   201     OstTrace0( TRACE_NORMAL,  CSATNOTIFICATIONSBASE_CANCELNOTIFICATION_TD, "CSatNotificationsBase::CancelNotification" );
   200     TFLOGSTRING("TSY: CSatNotificationsBase::CancelNotification");
   202     TFLOGSTRING("TSY: CSatNotificationsBase::CancelNotification");
   201 
   203 
   202     // Check that the handle is valid
   204     // Check that the handle is valid
   203     if ( aReqHandle == iReqHandle )
   205     if ( aReqHandle == iReqHandle )
   204         {
   206         {
   224 TInt CSatNotificationsBase::TerminalResponse
   226 TInt CSatNotificationsBase::TerminalResponse
   225         (
   227         (
   226         TDes8* /* aRsp */   // Response
   228         TDes8* /* aRsp */   // Response
   227         )
   229         )
   228     {
   230     {
   229     OstTrace0( TRACE_NORMAL, CSATNOTIFICATIONSBASE_TERMINALRESPONSE, "CSatNotificationsBase::TerminalResponse" );
   231     OstTrace0( TRACE_NORMAL,  CSATNOTIFICATIONSBASE_TERMINALRESPONSE_TD, "CSatNotificationsBase::TerminalResponse" );
   230     // Base class does not do anything
   232     // Base class does not do anything
   231     return KErrNone;
   233     return KErrNone;
   232     }
   234     }
   233 
   235 
   234 // -----------------------------------------------------------------------------
   236 // -----------------------------------------------------------------------------
   237 // (other items were commented in a header).
   239 // (other items were commented in a header).
   238 // -----------------------------------------------------------------------------
   240 // -----------------------------------------------------------------------------
   239 //
   241 //
   240 TDes8& CSatNotificationsBase::GetCmdDetails()
   242 TDes8& CSatNotificationsBase::GetCmdDetails()
   241     {
   243     {
   242     OstTrace0( TRACE_NORMAL, CSATNOTIFICATIONSBASE_GETCMDDETAILS, "CSatNotificationsBase::GetCmdDetails" );
   244     OstTrace0( TRACE_NORMAL,  CSATNOTIFICATIONSBASE_GETCMDDETAILS_TD, "CSatNotificationsBase::GetCmdDetails" );
   243     return iCommandDetails;
   245     return iCommandDetails;
   244     }
   246     }
   245 
   247 
   246 // -----------------------------------------------------------------------------
   248 // -----------------------------------------------------------------------------
   247 // CSatNotificationsBase::GetTransactionId
   249 // CSatNotificationsBase::GetTransactionId
   250 // (other items were commented in a header).
   252 // (other items were commented in a header).
   251 // -----------------------------------------------------------------------------
   253 // -----------------------------------------------------------------------------
   252 //
   254 //
   253 TUint8 CSatNotificationsBase::GetTransactionId()
   255 TUint8 CSatNotificationsBase::GetTransactionId()
   254     {
   256     {
   255     OstTrace0( TRACE_NORMAL, CSATNOTIFICATIONSBASE_GETTRANSACTIONID, "CSatNotificationsBase::GetTransactionId" );
   257     OstTrace0( TRACE_NORMAL,  CSATNOTIFICATIONSBASE_GETTRANSACTIONID_TD, "CSatNotificationsBase::GetTransactionId" );
   256     return iTransId;
   258     return iTransId;
   257     }
   259     }
   258 
   260 
   259 // -----------------------------------------------------------------------------
   261 // -----------------------------------------------------------------------------
   260 // CSatNotificationsBase::TsyReqHandle
   262 // CSatNotificationsBase::TsyReqHandle
   262 // (other items were commented in a header).
   264 // (other items were commented in a header).
   263 // -----------------------------------------------------------------------------
   265 // -----------------------------------------------------------------------------
   264 //
   266 //
   265 TTsyReqHandle CSatNotificationsBase::TsyReqHandle()
   267 TTsyReqHandle CSatNotificationsBase::TsyReqHandle()
   266     {
   268     {
   267     OstTrace0( TRACE_NORMAL, CSATNOTIFICATIONSBASE_TSYREQHANDLE, "CSatNotificationsBase::TsyReqHandle" );
   269     OstTrace0( TRACE_NORMAL,  CSATNOTIFICATIONSBASE_TSYREQHANDLE_TD, "CSatNotificationsBase::TsyReqHandle" );
   268     return iReqHandle;
   270     return iReqHandle;
   269     }
   271     }
   270 
   272 
   271 // -----------------------------------------------------------------------------
   273 // -----------------------------------------------------------------------------
   272 // CSatNotificationsBase::CompleteRequest
   274 // CSatNotificationsBase::CompleteRequest
   277 void CSatNotificationsBase::CompleteRequest
   279 void CSatNotificationsBase::CompleteRequest
   278         (
   280         (
   279         const TInt aError   // Possible error
   281         const TInt aError   // Possible error
   280         )
   282         )
   281     {
   283     {
   282     OstTraceExt2( TRACE_NORMAL, CSATNOTIFICATIONSBASE_COMPLETEREQUEST, "CSatNotificationsBase::CompleteRequest, Handle: %d, Error: %d", (TInt)iReqHandle, aError );
   284     OstTraceExt2( TRACE_NORMAL,  CSATNOTIFICATIONSBASE_COMPLETEREQUEST_TD, "CSatNotificationsBase::CompleteRequest, Handle: %d, Error: %d", (TInt)iReqHandle, aError );
   283     TFLOGSTRING3("CSatNotificationsBase::CompleteRequest. \n\t\t\t Handle:%d\n\t\t\t Error:%d",
   285     TFLOGSTRING3("CSatNotificationsBase::CompleteRequest. \n\t\t\t Handle:%d\n\t\t\t Error:%d",
   284                iReqHandle,
   286                iReqHandle,
   285                aError);
   287                aError);
   286     TTsyReqHandle tempReqHandle = iReqHandle;
   288     TTsyReqHandle tempReqHandle = iReqHandle;
   287     iReqHandle = NULL;
   289     iReqHandle = NULL;
   288     iSatMessaging->ReqCompleted( tempReqHandle, aError );
   290     iSatMessaging->ReqCompleted( tempReqHandle, aError );
   289     TFLOGSTRING("CSatNotificationsBase::CompleteRequest. Request is now completed");
   291     TFLOGSTRING("CSatNotificationsBase::CompleteRequest. Request is now completed");
   290     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFICATIONSBASE_COMPLETEREQUEST, "CSatNotificationsBase::CompleteRequest. Request is now completed" );
   292     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFICATIONSBASE_COMPLETEREQUEST_TD, "CSatNotificationsBase::CompleteRequest. Request is now completed" );
   291     }
   293     }
   292 
   294 
   293 // -----------------------------------------------------------------------------
   295 // -----------------------------------------------------------------------------
   294 // CSatNotificationsBase::TAllowedResults::TAllowedResults
   296 // CSatNotificationsBase::TAllowedResults::TAllowedResults
   295 // C++ default constructor of the nested class.
   297 // C++ default constructor of the nested class.
   475         )
   477         )
   476         :
   478         :
   477         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
   479         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
   478         iDisplayTextV2Pckg( NULL )
   480         iDisplayTextV2Pckg( NULL )
   479     {
   481     {
   480     OstTrace0( TRACE_NORMAL, CSATNOTIFYDISPLAYTEXT_CSATNOTIFYDISPLAYTEXT, "CSatNotifyDisplayText::CSatNotifyDisplayText" );
   482     OstTrace0( TRACE_NORMAL,  CSATNOTIFYDISPLAYTEXT_CSATNOTIFYDISPLAYTEXT_TD, "CSatNotifyDisplayText::CSatNotifyDisplayText" );
   481     // Following results are also allowed for this command:
   483     // Following results are also allowed for this command:
   482     // (in addition to result declared in base class constructor)
   484     // (in addition to result declared in base class constructor)
   483     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
   485     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
   484         + RSat::KPSessionTerminatedByUser + RSat::KBackwardModeRequestedByUser
   486         + RSat::KPSessionTerminatedByUser + RSat::KBackwardModeRequestedByUser
   485         + RSat::KNoResponseFromUser + RSat::KErrorRequiredValuesMissing;
   487         + RSat::KNoResponseFromUser + RSat::KErrorRequiredValuesMissing;
   490 // Destructor
   492 // Destructor
   491 // -----------------------------------------------------------------------------
   493 // -----------------------------------------------------------------------------
   492 //
   494 //
   493 CSatNotifyDisplayText::~CSatNotifyDisplayText()
   495 CSatNotifyDisplayText::~CSatNotifyDisplayText()
   494     {
   496     {
   495     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYDISPLAYTEXT_CSATNOTIFYDISPLAYTEXT, "CSatNotifyDisplayText::~CSatNotifyDisplayText" );
   497     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYDISPLAYTEXT_CSATNOTIFYDISPLAYTEXT_TD, "CSatNotifyDisplayText::~CSatNotifyDisplayText" );
   496     // None
   498     // None
   497     }
   499     }
   498 
   500 
   499 // -----------------------------------------------------------------------------
   501 // -----------------------------------------------------------------------------
   500 // CSatNotifyDisplayText::MessageReceived
   502 // CSatNotifyDisplayText::MessageReceived
   503 // (other items were commented in a header).
   505 // (other items were commented in a header).
   504 // -----------------------------------------------------------------------------
   506 // -----------------------------------------------------------------------------
   505 //
   507 //
   506 void CSatNotifyDisplayText::MessageReceived( const TIsiReceiveC& aIsiMessage )
   508 void CSatNotifyDisplayText::MessageReceived( const TIsiReceiveC& aIsiMessage )
   507     {
   509     {
   508     OstTrace0( TRACE_NORMAL, CSATNOTIFYDISPLAYTEXT_MESSAGERECEIVED, "CSatNotifyDisplayText::MessageReceived" );
   510     OstTrace0( TRACE_NORMAL,  CSATNOTIFYDISPLAYTEXT_MESSAGERECEIVED_TD, "CSatNotifyDisplayText::MessageReceived" );
   509     TFLOGSTRING("TSY: CSatNotifyDisplayText::MessageReceived");
   511     TFLOGSTRING("TSY: CSatNotifyDisplayText::MessageReceived");
   510     // Completion return value
   512     // Completion return value
   511     TInt ret( KErrNone );
   513     TInt ret( KErrNone );
   512     // Get ber tlv
   514     // Get ber tlv
   513     CBerTlv berTlv;
   515     CBerTlv berTlv;
   524     iTransId = aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID );
   526     iTransId = aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID );
   525     // Test if pending request
   527     // Test if pending request
   526     if ( !iReqHandle )
   528     if ( !iReqHandle )
   527         {
   529         {
   528         TFLOGSTRING("TSY: CSatNotifyDisplayText::MessageReceived - Request Off");
   530         TFLOGSTRING("TSY: CSatNotifyDisplayText::MessageReceived - Request Off");
   529         OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYDISPLAYTEXT_MESSAGERECEIVED, "CSatNotifyDisplayText::MessageReceived - Request Off" );
   531         OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYDISPLAYTEXT_MESSAGERECEIVED_TD, "CSatNotifyDisplayText::MessageReceived - Request Off" );
   530 
   532 
   531         // Request not on, returning response immediately
   533         // Request not on, returning response immediately
   532         iSatMessHandler->DisplayTextTerminalResp(
   534         iSatMessHandler->DisplayTextTerminalResp(
   533             iTransId,                       // Transaction id
   535             iTransId,                       // Transaction id
   534             iCommandDetails,                // Command details tlv
   536             iCommandDetails,                // Command details tlv
   640         (
   642         (
   641         const TTsyReqHandle aReqHandle, // Request handle
   643         const TTsyReqHandle aReqHandle, // Request handle
   642         TDes8*              aDataPtr    // Pointer to data
   644         TDes8*              aDataPtr    // Pointer to data
   643         )
   645         )
   644     {
   646     {
   645     OstTrace1( TRACE_NORMAL, CSATNOTIFYDISPLAYTEXT_NOTIFY, "CSatNotifyDisplayText::Notify Handle: %u", aReqHandle );
   647     OstTrace1( TRACE_NORMAL,  CSATNOTIFYDISPLAYTEXT_NOTIFY_TD, "CSatNotifyDisplayText::Notify Handle: %u", aReqHandle );
   646     TFLOGSTRING2("CSatNotifyDisplayText::Notify. \n\t\t\t Handle:%d\n\t\t\t",
   648     TFLOGSTRING2("CSatNotifyDisplayText::Notify. \n\t\t\t Handle:%d\n\t\t\t",
   647                aReqHandle );
   649                aReqHandle );
   648     iReqHandle = aReqHandle;
   650     iReqHandle = aReqHandle;
   649     iDisplayTextV2Pckg = static_cast< RSat::TDisplayTextV2Pckg* >( aDataPtr );
   651     iDisplayTextV2Pckg = static_cast< RSat::TDisplayTextV2Pckg* >( aDataPtr );
   650     iSatMessaging->SatReady( KDisplayText );
   652     iSatMessaging->SatReady( KDisplayText );
   660 TInt CSatNotifyDisplayText::TerminalResponse
   662 TInt CSatNotifyDisplayText::TerminalResponse
   661         (
   663         (
   662         TDes8* aRsp     // Response
   664         TDes8* aRsp     // Response
   663         )
   665         )
   664     {
   666     {
   665     OstTrace0( TRACE_NORMAL, CSATNOTIFYDISPLAYTEXT_TERMINALRESPONSE, "CSatNotifyDisplayText::TerminalResponse" );
   667     OstTrace0( TRACE_NORMAL,  CSATNOTIFYDISPLAYTEXT_TERMINALRESPONSE_TD, "CSatNotifyDisplayText::TerminalResponse" );
   666     TFLOGSTRING("CSatNotifyDisplayText::TerminalResponse");
   668     TFLOGSTRING("CSatNotifyDisplayText::TerminalResponse");
   667     // Completion return value
   669     // Completion return value
   668     TInt   ret( KErrNone );
   670     TInt   ret( KErrNone );
   669     // Additional info
   671     // Additional info
   670     TUint8 additionalInfo( 0 );
   672     TUint8 additionalInfo( 0 );
   719         )
   721         )
   720         :
   722         :
   721         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
   723         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
   722         iGetInkeyV2Pckg( NULL )
   724         iGetInkeyV2Pckg( NULL )
   723     {
   725     {
   724     OstTrace0( TRACE_NORMAL, CSATNOTIFYGETINKEY_CSATNOTIFYGETINKEY, "CSatNotifyGetInkey::CSatNotifyGetInkey" );
   726     OstTrace0( TRACE_NORMAL,  CSATNOTIFYGETINKEY_CSATNOTIFYGETINKEY_TD, "CSatNotifyGetInkey::CSatNotifyGetInkey" );
   725     // Following results are also allowed for this command:
   727     // Following results are also allowed for this command:
   726     // (in addition to result declared in base class constructor)
   728     // (in addition to result declared in base class constructor)
   727     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
   729     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
   728         + RSat::KPSessionTerminatedByUser + RSat::KBackwardModeRequestedByUser
   730         + RSat::KPSessionTerminatedByUser + RSat::KBackwardModeRequestedByUser
   729         + RSat::KNoResponseFromUser + RSat::KHelpRequestedByUser
   731         + RSat::KNoResponseFromUser + RSat::KHelpRequestedByUser
   735 // Destructor
   737 // Destructor
   736 // -----------------------------------------------------------------------------
   738 // -----------------------------------------------------------------------------
   737 //
   739 //
   738 CSatNotifyGetInkey::~CSatNotifyGetInkey()
   740 CSatNotifyGetInkey::~CSatNotifyGetInkey()
   739     {
   741     {
   740     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYGETINKEY_CSATNOTIFYGETINKEY, "CSatNotifyGetInkey::~CSatNotifyGetInkey" );
   742     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYGETINKEY_CSATNOTIFYGETINKEY_TD, "CSatNotifyGetInkey::~CSatNotifyGetInkey" );
   741     // None
   743     // None
   742     }
   744     }
   743 
   745 
   744 // -----------------------------------------------------------------------------
   746 // -----------------------------------------------------------------------------
   745 // CSatNotifyGetInkey::MessageReceived
   747 // CSatNotifyGetInkey::MessageReceived
   751 void CSatNotifyGetInkey::MessageReceived
   753 void CSatNotifyGetInkey::MessageReceived
   752         (
   754         (
   753         const TIsiReceiveC& aIsiMessage // ISI message
   755         const TIsiReceiveC& aIsiMessage // ISI message
   754         )
   756         )
   755     {
   757     {
   756     OstTrace0( TRACE_NORMAL, CSATNOTIFYGETINKEY_MESSAGERECEIVED, "CSatNotifyGetInkey::MessageReceived" );
   758     OstTrace0( TRACE_NORMAL,  CSATNOTIFYGETINKEY_MESSAGERECEIVED_TD, "CSatNotifyGetInkey::MessageReceived" );
   757     TFLOGSTRING( "TSY: CSatNotifyGetInkey::MessageReceived" );
   759     TFLOGSTRING( "TSY: CSatNotifyGetInkey::MessageReceived" );
   758 
   760 
   759     // Completion return value
   761     // Completion return value
   760     TInt ret( KErrNone );
   762     TInt ret( KErrNone );
   761 
   763 
   890         (
   892         (
   891         const TTsyReqHandle aReqHandle, // Request handle
   893         const TTsyReqHandle aReqHandle, // Request handle
   892         TDes8*              aDataPtr    // Pointer to data
   894         TDes8*              aDataPtr    // Pointer to data
   893         )
   895         )
   894     {
   896     {
   895     OstTrace1( TRACE_NORMAL, CSATNOTIFYGETINKEY_NOTIFY, "CSatNotifyGetInkey::Notify Handle: %u", aReqHandle );
   897     OstTrace1( TRACE_NORMAL,  CSATNOTIFYGETINKEY_NOTIFY_TD, "CSatNotifyGetInkey::Notify Handle: %u", aReqHandle );
   896     TFLOGSTRING2( "TSY: CSatNotifyGetInkey::Notify. Handle: %d", aReqHandle );
   898     TFLOGSTRING2( "TSY: CSatNotifyGetInkey::Notify. Handle: %d", aReqHandle );
   897 
   899 
   898     iReqHandle = aReqHandle;
   900     iReqHandle = aReqHandle;
   899     iGetInkeyV2Pckg = static_cast< RSat::TGetInkeyV2Pckg* >( aDataPtr );
   901     iGetInkeyV2Pckg = static_cast< RSat::TGetInkeyV2Pckg* >( aDataPtr );
   900     iSatMessaging->SatReady( KGetInkey );
   902     iSatMessaging->SatReady( KGetInkey );
   911 TInt CSatNotifyGetInkey::TerminalResponse
   913 TInt CSatNotifyGetInkey::TerminalResponse
   912         (
   914         (
   913         TDes8* aRsp // Response packet from ETel
   915         TDes8* aRsp // Response packet from ETel
   914         )
   916         )
   915     {
   917     {
   916     OstTrace0( TRACE_NORMAL, CSATNOTIFYGETINKEY_TERMINALRESPONSE, "CSatNotifyGetInkey::TerminalResponse" );
   918     OstTrace0( TRACE_NORMAL,  CSATNOTIFYGETINKEY_TERMINALRESPONSE_TD, "CSatNotifyGetInkey::TerminalResponse" );
   917     TFLOGSTRING("TSY: CSatNotifyGetInkey::TerminalResponse" );
   919     TFLOGSTRING("TSY: CSatNotifyGetInkey::TerminalResponse" );
   918 
   920 
   919     TInt ret( KErrNone );
   921     TInt ret( KErrNone );
   920 
   922 
   921     RSat::TGetInkeyRspV2Pckg& aRspPckg =
   923     RSat::TGetInkeyRspV2Pckg& aRspPckg =
  1006         )
  1008         )
  1007         :
  1009         :
  1008         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  1010         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  1009         iGetInputV1Pckg( NULL )
  1011         iGetInputV1Pckg( NULL )
  1010     {
  1012     {
  1011     OstTrace0( TRACE_NORMAL, CSATNOTIFYGETINPUT_CSATNOTIFYGETINPUT, "CSatNotifyGetInput::CSatNotifyGetInput" );
  1013     OstTrace0( TRACE_NORMAL,  CSATNOTIFYGETINPUT_CSATNOTIFYGETINPUT_TD, "CSatNotifyGetInput::CSatNotifyGetInput" );
  1012     // Following results are also allowed for this command:
  1014     // Following results are also allowed for this command:
  1013     // (in addition to result declared in base class constructor)
  1015     // (in addition to result declared in base class constructor)
  1014     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  1016     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  1015         + RSat::KPSessionTerminatedByUser + RSat::KBackwardModeRequestedByUser
  1017         + RSat::KPSessionTerminatedByUser + RSat::KBackwardModeRequestedByUser
  1016         + RSat::KNoResponseFromUser + RSat::KHelpRequestedByUser
  1018         + RSat::KNoResponseFromUser + RSat::KHelpRequestedByUser
  1022 // Destructor
  1024 // Destructor
  1023 // -----------------------------------------------------------------------------
  1025 // -----------------------------------------------------------------------------
  1024 //
  1026 //
  1025 CSatNotifyGetInput::~CSatNotifyGetInput()
  1027 CSatNotifyGetInput::~CSatNotifyGetInput()
  1026     {
  1028     {
  1027     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYGETINPUT_CSATNOTIFYGETINPUT, "CSatNotifyGetInput::~CSatNotifyGetInput" );
  1029     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYGETINPUT_CSATNOTIFYGETINPUT_TD, "CSatNotifyGetInput::~CSatNotifyGetInput" );
  1028     // None
  1030     // None
  1029     }
  1031     }
  1030 
  1032 
  1031 // -----------------------------------------------------------------------------
  1033 // -----------------------------------------------------------------------------
  1032 // CSatNotifyGetInput::MessageReceived
  1034 // CSatNotifyGetInput::MessageReceived
  1038 void CSatNotifyGetInput::MessageReceived
  1040 void CSatNotifyGetInput::MessageReceived
  1039         (
  1041         (
  1040         const TIsiReceiveC& aIsiMessage // ISI message
  1042         const TIsiReceiveC& aIsiMessage // ISI message
  1041         )
  1043         )
  1042     {
  1044     {
  1043     OstTrace0( TRACE_NORMAL, CSATNOTIFYGETINPUT_MESSAGERECEIVED, "CSatNotifyGetInput::MessageReceived" );
  1045     OstTrace0( TRACE_NORMAL,  CSATNOTIFYGETINPUT_MESSAGERECEIVED_TD, "CSatNotifyGetInput::MessageReceived" );
  1044     TFLOGSTRING("CSatNotifyGetInput::MessageReceived");
  1046     TFLOGSTRING("CSatNotifyGetInput::MessageReceived");
  1045     TInt ret( KErrNone );
  1047     TInt ret( KErrNone );
  1046     // Get ber tlv
  1048     // Get ber tlv
  1047     CBerTlv berTlv;
  1049     CBerTlv berTlv;
  1048     berTlv.BerTlv( aIsiMessage );
  1050     berTlv.BerTlv( aIsiMessage );
  1149                 RSat::ESmsDefaultAlphabetUnpacked );// Data coding scheme
  1151                 RSat::ESmsDefaultAlphabetUnpacked );// Data coding scheme
  1150 
  1152 
  1151             ret = KErrCorrupt;
  1153             ret = KErrCorrupt;
  1152             }
  1154             }
  1153         TFLOGSTRING2("TSY: GetInput, text: %S", &getInputV1.iText );
  1155         TFLOGSTRING2("TSY: GetInput, text: %S", &getInputV1.iText );
  1154         OstTraceExt1( TRACE_NORMAL, DUP1_CSATNOTIFYGETINPUT_MESSAGERECEIVED, "CSatNotifyGetInput::MessageReceived GetInput, text: %S", getInputV1.iText );
  1156         OstTraceExt1( TRACE_NORMAL,  DUP1_CSATNOTIFYGETINPUT_MESSAGERECEIVED_TD, "CSatNotifyGetInput::MessageReceived GetInput, text: %S", getInputV1.iText );
  1155 
  1157 
  1156         // Response length expected
  1158         // Response length expected
  1157         CTlv responseLength;
  1159         CTlv responseLength;
  1158         returnValue = berTlv.TlvByTagValue( &responseLength,
  1160         returnValue = berTlv.TlvByTagValue( &responseLength,
  1159                                             KTlvResponseLengthTag );
  1161                                             KTlvResponseLengthTag );
  1220         (
  1222         (
  1221         const TTsyReqHandle aReqHandle, // Request handle
  1223         const TTsyReqHandle aReqHandle, // Request handle
  1222         TDes8*              aDataPtr    // Pointer to data
  1224         TDes8*              aDataPtr    // Pointer to data
  1223         )
  1225         )
  1224     {
  1226     {
  1225     OstTrace1( TRACE_NORMAL, CSATNOTIFYGETINPUT_NOTIFY, "CSatNotifyGetInput::Notify Handle: %u", aReqHandle );
  1227     OstTrace1( TRACE_NORMAL,  CSATNOTIFYGETINPUT_NOTIFY_TD, "CSatNotifyGetInput::Notify Handle: %u", aReqHandle );
  1226     TFLOGSTRING2("CSatNotifyGetInput::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  1228     TFLOGSTRING2("CSatNotifyGetInput::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  1227                aReqHandle );
  1229                aReqHandle );
  1228     iReqHandle = aReqHandle;
  1230     iReqHandle = aReqHandle;
  1229     iGetInputV1Pckg = static_cast< RSat::TGetInputV1Pckg* >( aDataPtr );
  1231     iGetInputV1Pckg = static_cast< RSat::TGetInputV1Pckg* >( aDataPtr );
  1230     iSatMessaging->SatReady( KGetInput );
  1232     iSatMessaging->SatReady( KGetInput );
  1240 TInt CSatNotifyGetInput::TerminalResponse
  1242 TInt CSatNotifyGetInput::TerminalResponse
  1241         (
  1243         (
  1242         TDes8* aRsp // Response
  1244         TDes8* aRsp // Response
  1243         )
  1245         )
  1244     {
  1246     {
  1245     OstTrace0( TRACE_NORMAL, CSATNOTIFYGETINPUT_TERMINALRESPONSE, "CSatNotifyGetInput::TerminalResponse" );
  1247     OstTrace0( TRACE_NORMAL,  CSATNOTIFYGETINPUT_TERMINALRESPONSE_TD, "CSatNotifyGetInput::TerminalResponse" );
  1246     TFLOGSTRING("CSatNotifyGetInput::TerminalResponse");
  1248     TFLOGSTRING("CSatNotifyGetInput::TerminalResponse");
  1247     TInt ret( KErrNone );
  1249     TInt ret( KErrNone );
  1248     TUint8 additionalInfo( 0 );
  1250     TUint8 additionalInfo( 0 );
  1249 
  1251 
  1250     RSat::TGetInputRspV1Pckg* aRspPckg =
  1252     RSat::TGetInputRspV1Pckg* aRspPckg =
  1315         )
  1317         )
  1316         :
  1318         :
  1317         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  1319         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  1318         iPlayToneV2Pckg( NULL )
  1320         iPlayToneV2Pckg( NULL )
  1319     {
  1321     {
  1320     OstTrace0( TRACE_NORMAL, CSATNOTIFYPLAYTONE_CSATNOTIFYPLAYTONE, "CSatNotifyPlayTone::CSatNotifyPlayTone" );
  1322     OstTrace0( TRACE_NORMAL,  CSATNOTIFYPLAYTONE_CSATNOTIFYPLAYTONE_TD, "CSatNotifyPlayTone::CSatNotifyPlayTone" );
  1321     // Following results are also allowed for this command:
  1323     // Following results are also allowed for this command:
  1322     // (in addition to result declared in base class constructor)
  1324     // (in addition to result declared in base class constructor)
  1323     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  1325     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  1324         + RSat::KPSessionTerminatedByUser + RSat::KErrorRequiredValuesMissing;
  1326         + RSat::KPSessionTerminatedByUser + RSat::KErrorRequiredValuesMissing;
  1325     }
  1327     }
  1329 // Destructor
  1331 // Destructor
  1330 // -----------------------------------------------------------------------------
  1332 // -----------------------------------------------------------------------------
  1331 //
  1333 //
  1332 CSatNotifyPlayTone::~CSatNotifyPlayTone()
  1334 CSatNotifyPlayTone::~CSatNotifyPlayTone()
  1333     {
  1335     {
  1334     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYPLAYTONE_CSATNOTIFYPLAYTONE, "CSatNotifyPlayTone::~CSatNotifyPlayTone" );
  1336     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYPLAYTONE_CSATNOTIFYPLAYTONE_TD, "CSatNotifyPlayTone::~CSatNotifyPlayTone" );
  1335     // None
  1337     // None
  1336     }
  1338     }
  1337 
  1339 
  1338 // -----------------------------------------------------------------------------
  1340 // -----------------------------------------------------------------------------
  1339 // CSatNotifyPlayTone::MessageReceived
  1341 // CSatNotifyPlayTone::MessageReceived
  1345 void CSatNotifyPlayTone::MessageReceived
  1347 void CSatNotifyPlayTone::MessageReceived
  1346         (
  1348         (
  1347         const TIsiReceiveC& aIsiMessage // ISI message
  1349         const TIsiReceiveC& aIsiMessage // ISI message
  1348         )
  1350         )
  1349     {
  1351     {
  1350     OstTrace0( TRACE_NORMAL, CSATNOTIFYPLAYTONE_MESSAGERECEIVED, "CSatNotifyPlayTone::MessageReceived" );
  1352     OstTrace0( TRACE_NORMAL,  CSATNOTIFYPLAYTONE_MESSAGERECEIVED_TD, "CSatNotifyPlayTone::MessageReceived" );
  1351     TFLOGSTRING("CSatNotifyPlayTone::MessageReceived");
  1353     TFLOGSTRING("CSatNotifyPlayTone::MessageReceived");
  1352     //get ber tlv
  1354     //get ber tlv
  1353     CBerTlv berTlv;
  1355     CBerTlv berTlv;
  1354     TInt returnValue( KErrNone );
  1356     TInt returnValue( KErrNone );
  1355     returnValue = berTlv.BerTlv( aIsiMessage );
  1357     returnValue = berTlv.BerTlv( aIsiMessage );
  1437         (
  1439         (
  1438         const TTsyReqHandle aReqHandle, // Request handle
  1440         const TTsyReqHandle aReqHandle, // Request handle
  1439         TDes8*              aDataPtr    // Pointer to data
  1441         TDes8*              aDataPtr    // Pointer to data
  1440         )
  1442         )
  1441     {
  1443     {
  1442     OstTrace1( TRACE_NORMAL, CSATNOTIFYPLAYTONE_NOTIFY, "CSatNotifyPlayTone::Notify Handle: %u", aReqHandle );
  1444     OstTrace1( TRACE_NORMAL,  CSATNOTIFYPLAYTONE_NOTIFY_TD, "CSatNotifyPlayTone::Notify Handle: %u", aReqHandle );
  1443 
  1445 
  1444     TFLOGSTRING2("CSatNotifyPlayTone::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  1446     TFLOGSTRING2("CSatNotifyPlayTone::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  1445                aReqHandle );
  1447                aReqHandle );
  1446     iReqHandle = aReqHandle;
  1448     iReqHandle = aReqHandle;
  1447     iPlayToneV2Pckg = static_cast< RSat::TPlayToneV2Pckg* >( aDataPtr );
  1449     iPlayToneV2Pckg = static_cast< RSat::TPlayToneV2Pckg* >( aDataPtr );
  1458 TInt CSatNotifyPlayTone::TerminalResponse
  1460 TInt CSatNotifyPlayTone::TerminalResponse
  1459         (
  1461         (
  1460         TDes8* aRsp     // Response
  1462         TDes8* aRsp     // Response
  1461         )
  1463         )
  1462     {
  1464     {
  1463     OstTrace0( TRACE_NORMAL, CSATNOTIFYPLAYTONE_TERMINALRESPONSE, "CSatNotifyPlayTone::TerminalResponse" );
  1465     OstTrace0( TRACE_NORMAL,  CSATNOTIFYPLAYTONE_TERMINALRESPONSE_TD, "CSatNotifyPlayTone::TerminalResponse" );
  1464     TFLOGSTRING("CSatNotifyPlayTone::TerminalResponse");
  1466     TFLOGSTRING("CSatNotifyPlayTone::TerminalResponse");
  1465     TInt ret( KErrNone );
  1467     TInt ret( KErrNone );
  1466     TUint8 additionalInfo( 0 );
  1468     TUint8 additionalInfo( 0 );
  1467     RSat::TPlayToneRspV1Pckg* aRspPckg =
  1469     RSat::TPlayToneRspV1Pckg* aRspPckg =
  1468             reinterpret_cast< RSat::TPlayToneRspV1Pckg* >( aRsp );
  1470             reinterpret_cast< RSat::TPlayToneRspV1Pckg* >( aRsp );
  1511         CTsySatMessaging*   aSatMessaging    //Pointer to satmessaging class
  1513         CTsySatMessaging*   aSatMessaging    //Pointer to satmessaging class
  1512         )
  1514         )
  1513         :
  1515         :
  1514         CSatNotificationsBase( aSatMessHandler, aSatMessaging )
  1516         CSatNotificationsBase( aSatMessHandler, aSatMessaging )
  1515     {
  1517     {
  1516     OstTrace0( TRACE_NORMAL, CSATNOTIFYPOLLINTERVAL_CSATNOTIFYPOLLINTERVAL, "CSatNotifyPollInterval::CSatNotifyPollInterval" );
  1518     OstTrace0( TRACE_NORMAL,  CSATNOTIFYPOLLINTERVAL_CSATNOTIFYPOLLINTERVAL_TD, "CSatNotifyPollInterval::CSatNotifyPollInterval" );
  1517     // Following results are also allowed for this command:
  1519     // Following results are also allowed for this command:
  1518     // (in addition to result declared in base class constructor)
  1520     // (in addition to result declared in base class constructor)
  1519     iAllowedResults += RSat::KErrorRequiredValuesMissing;
  1521     iAllowedResults += RSat::KErrorRequiredValuesMissing;
  1520     }
  1522     }
  1521 
  1523 
  1524 // Destructor
  1526 // Destructor
  1525 // -----------------------------------------------------------------------------
  1527 // -----------------------------------------------------------------------------
  1526 //
  1528 //
  1527 CSatNotifyPollInterval::~CSatNotifyPollInterval()
  1529 CSatNotifyPollInterval::~CSatNotifyPollInterval()
  1528     {
  1530     {
  1529     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYPOLLINTERVAL_CSATNOTIFYPOLLINTERVAL, "CSatNotifyPollInterval::~CSatNotifyPollInterval" );
  1531     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYPOLLINTERVAL_CSATNOTIFYPOLLINTERVAL_TD, "CSatNotifyPollInterval::~CSatNotifyPollInterval" );
  1530     // None
  1532     // None
  1531     }
  1533     }
  1532 
  1534 
  1533 // -----------------------------------------------------------------------------
  1535 // -----------------------------------------------------------------------------
  1534 // CSatNotifyPollInterval::MessageReceived
  1536 // CSatNotifyPollInterval::MessageReceived
  1540 void CSatNotifyPollInterval::MessageReceived
  1542 void CSatNotifyPollInterval::MessageReceived
  1541         (
  1543         (
  1542         const TIsiReceiveC& aIsiMessage // ISI message
  1544         const TIsiReceiveC& aIsiMessage // ISI message
  1543         )
  1545         )
  1544     {
  1546     {
  1545     OstTrace0( TRACE_NORMAL, CSATNOTIFYPOLLINTERVAL_MESSAGERECEIVED, "CSatNotifyPollInterval::MessageReceived" );
  1547     OstTrace0( TRACE_NORMAL,  CSATNOTIFYPOLLINTERVAL_MESSAGERECEIVED_TD, "CSatNotifyPollInterval::MessageReceived" );
  1546     TFLOGSTRING("CSatNotifyPollInterval::MessageReceived");
  1548     TFLOGSTRING("CSatNotifyPollInterval::MessageReceived");
  1547     //get ber tlv
  1549     //get ber tlv
  1548     CBerTlv berTlv;
  1550     CBerTlv berTlv;
  1549     TInt returnValue( KErrNone );
  1551     TInt returnValue( KErrNone );
  1550     berTlv.BerTlv( aIsiMessage );
  1552     berTlv.BerTlv( aIsiMessage );
  1601                     }
  1603                     }
  1602                 default:
  1604                 default:
  1603                     {
  1605                     {
  1604                     returnValue = KErrNotFound;
  1606                     returnValue = KErrNotFound;
  1605                     TFLOGSTRING("TSY: CSatNotifyPollInterval::MessageReceived, Time unit did not match.");
  1607                     TFLOGSTRING("TSY: CSatNotifyPollInterval::MessageReceived, Time unit did not match.");
  1606                     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYPOLLINTERVAL_MESSAGERECEIVED, "CSatNotifyPollInterval::MessageReceived, Time unit did not match." );
  1608                     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYPOLLINTERVAL_MESSAGERECEIVED_TD, "CSatNotifyPollInterval::MessageReceived, Time unit did not match." );
  1607                     // Command data not understood
  1609                     // Command data not understood
  1608                     iSatMessHandler->PollIntervalTerminalResp( iTransId, iCommandDetails,
  1610                     iSatMessHandler->PollIntervalTerminalResp( iTransId, iCommandDetails,
  1609                     RSat::KCmdDataNotUnderstood, RSat::KNoSpecificMeProblem, 0);
  1611                     RSat::KCmdDataNotUnderstood, RSat::KNoSpecificMeProblem, 0);
  1610                     break;
  1612                     break;
  1611                     }
  1613                     }
  1619             else if ( KMaxPollInterval < anIntervalInSeconds )
  1621             else if ( KMaxPollInterval < anIntervalInSeconds )
  1620                 {
  1622                 {
  1621                 if ( iSatMessHandler->OldPollInterval() )
  1623                 if ( iSatMessHandler->OldPollInterval() )
  1622                     {
  1624                     {
  1623                     TFLOGSTRING("TSY: CSatNotifyPollInterval::MessageReceived MaxPolInterval");
  1625                     TFLOGSTRING("TSY: CSatNotifyPollInterval::MessageReceived MaxPolInterval");
  1624                     OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYPOLLINTERVAL_MESSAGERECEIVED, "CSatNotifyPollInterval::MessageReceived MaxPolInterval" );
  1626                     OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYPOLLINTERVAL_MESSAGERECEIVED_TD, "CSatNotifyPollInterval::MessageReceived MaxPolInterval" );
  1625                     anIntervalInSeconds = KMaxPollInterval;
  1627                     anIntervalInSeconds = KMaxPollInterval;
  1626                     }
  1628                     }
  1627                 else
  1629                 else
  1628                     {
  1630                     {
  1629                     TFLOGSTRING("TSY: CSatNotifyPollInterval::MessageReceived, DefaultPollInterval");
  1631                     TFLOGSTRING("TSY: CSatNotifyPollInterval::MessageReceived, DefaultPollInterval");
  1630                     OstTrace0( TRACE_NORMAL, DUP3_CSATNOTIFYPOLLINTERVAL_MESSAGERECEIVED, "CSatNotifyPollInterval::MessageReceived, DefaultPollInterval" );
  1632                     OstTrace0( TRACE_NORMAL,  DUP3_CSATNOTIFYPOLLINTERVAL_MESSAGERECEIVED_TD, "CSatNotifyPollInterval::MessageReceived, DefaultPollInterval" );
  1631                     // Use SIM server's default value (0)
  1633                     // Use SIM server's default value (0)
  1632                     anIntervalInSeconds = KDefaultPollInterval;
  1634                     anIntervalInSeconds = KDefaultPollInterval;
  1633                     }
  1635                     }
  1634                 }
  1636                 }
  1635             }
  1637             }
  1664         (
  1666         (
  1665         const TTsyReqHandle /*aReqHandle*/, // Request handle
  1667         const TTsyReqHandle /*aReqHandle*/, // Request handle
  1666         TDes8*              /*aDataPtr*/    // Pointer to data
  1668         TDes8*              /*aDataPtr*/    // Pointer to data
  1667         )
  1669         )
  1668     {
  1670     {
  1669     OstTrace0( TRACE_NORMAL, CSATNOTIFYPOLLINTERVAL_NOTIFY, "CSatNotifyPollInterval::Notify" );
  1671     OstTrace0( TRACE_NORMAL,  CSATNOTIFYPOLLINTERVAL_NOTIFY_TD, "CSatNotifyPollInterval::Notify" );
  1670     // PollInterval is completely implemented by SimAtkTsy. Client
  1672     // PollInterval is completely implemented by SimAtkTsy. Client
  1671     // insn't notified about the command.
  1673     // insn't notified about the command.
  1672     }
  1674     }
  1673 
  1675 
  1674 
  1676 
  1687         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  1689         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  1688         iSetUpMenuV2Pckg( NULL ),
  1690         iSetUpMenuV2Pckg( NULL ),
  1689         iSatIsiMsg( NULL ),
  1691         iSatIsiMsg( NULL ),
  1690         iItemsNextIndicatorRemoved( EFalse )
  1692         iItemsNextIndicatorRemoved( EFalse )
  1691     {
  1693     {
  1692     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPMENU_CSATNOTIFYSETUPMENU, "CSatNotifySetUpMenu::CSatNotifySetUpMenu" );
  1694     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPMENU_CSATNOTIFYSETUPMENU_TD, "CSatNotifySetUpMenu::CSatNotifySetUpMenu" );
  1693     TFLOGSTRING("CSatNotifySetUpMenu::CSatNotifySetUpMenu");
  1695     TFLOGSTRING("CSatNotifySetUpMenu::CSatNotifySetUpMenu");
  1694     iToolKitName.Zero();
  1696     iToolKitName.Zero();
  1695 
  1697 
  1696     // Following results are also allowed for this command:
  1698     // Following results are also allowed for this command:
  1697     // (in addition to result declared in base class constructor)
  1699     // (in addition to result declared in base class constructor)
  1704 // Destructor
  1706 // Destructor
  1705 // -----------------------------------------------------------------------------
  1707 // -----------------------------------------------------------------------------
  1706 //
  1708 //
  1707 CSatNotifySetUpMenu::~CSatNotifySetUpMenu()
  1709 CSatNotifySetUpMenu::~CSatNotifySetUpMenu()
  1708     {
  1710     {
  1709     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSETUPMENU_CSATNOTIFYSETUPMENU, "CSatNotifySetUpMenu::~CSatNotifySetUpMenu" );
  1711     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSETUPMENU_CSATNOTIFYSETUPMENU_TD, "CSatNotifySetUpMenu::~CSatNotifySetUpMenu" );
  1710     TFLOGSTRING("CSatNotifySetUpMenu::~CSatNotifySetUpMenu");
  1712     TFLOGSTRING("CSatNotifySetUpMenu::~CSatNotifySetUpMenu");
  1711     if ( iSatIsiMsg )
  1713     if ( iSatIsiMsg )
  1712         {
  1714         {
  1713         delete iSatIsiMsg;
  1715         delete iSatIsiMsg;
  1714         }
  1716         }
  1724 void CSatNotifySetUpMenu::MessageReceived
  1726 void CSatNotifySetUpMenu::MessageReceived
  1725         (
  1727         (
  1726         const TIsiReceiveC& aIsiMessage // ISI message
  1728         const TIsiReceiveC& aIsiMessage // ISI message
  1727         )
  1729         )
  1728     {
  1730     {
  1729     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPMENU_MESSAGERECEIVED, "CSatNotifySetUpMenu::MessageReceived" );
  1731     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPMENU_MESSAGERECEIVED_TD, "CSatNotifySetUpMenu::MessageReceived" );
  1730     TFLOGSTRING("TSY:CSatNotifySetUpMenu::MessageReceived");
  1732     TFLOGSTRING("TSY:CSatNotifySetUpMenu::MessageReceived");
  1731     TInt ret( KErrNone );
  1733     TInt ret( KErrNone );
  1732     TInt returnValue( KErrNone );
  1734     TInt returnValue( KErrNone );
  1733     // get ber tlv
  1735     // get ber tlv
  1734     CBerTlv berTlv;
  1736     CBerTlv berTlv;
  1754         iSatIsiMsg = aIsiMessage.GetBuffer().Alloc();
  1756         iSatIsiMsg = aIsiMessage.GetBuffer().Alloc();
  1755 
  1757 
  1756         if ( iSatIsiMsg )
  1758         if ( iSatIsiMsg )
  1757             {
  1759             {
  1758             TFLOGSTRING("TSY:CSatNotifySetUpMenu::MessageReceived, pcmd saved");
  1760             TFLOGSTRING("TSY:CSatNotifySetUpMenu::MessageReceived, pcmd saved");
  1759             OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSETUPMENU_MESSAGERECEIVED, "CSatNotifySetUpMenu::MessageReceived, pcmd saved" );
  1761             OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSETUPMENU_MESSAGERECEIVED_TD, "CSatNotifySetUpMenu::MessageReceived, pcmd saved" );
  1760             }
  1762             }
  1761         else
  1763         else
  1762             {
  1764             {
  1763             TFLOGSTRING("TSY:CSatNotifySetUpMenu::MessageReceived, \
  1765             TFLOGSTRING("TSY:CSatNotifySetUpMenu::MessageReceived, \
  1764                 out of memory unable to buffer received cmd");
  1766                 out of memory unable to buffer received cmd");
  1765             OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYSETUPMENU_MESSAGERECEIVED, "CSatNotifySetUpMenu::MessageReceived, out of memory unable to buffer received cmd" );
  1767             OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYSETUPMENU_MESSAGERECEIVED_TD, "CSatNotifySetUpMenu::MessageReceived, out of memory unable to buffer received cmd" );
  1766             iSatMessHandler->SetUpMenuTerminalResp( iTransId,
  1768             iSatMessHandler->SetUpMenuTerminalResp( iTransId,
  1767                                                 iCommandDetails,
  1769                                                 iCommandDetails,
  1768                                                 RSat::KMeUnableToProcessCmd,
  1770                                                 RSat::KMeUnableToProcessCmd,
  1769                                                 NULL );
  1771                                                 NULL );
  1770             ret = KErrCorrupt;
  1772             ret = KErrCorrupt;
  1802         }
  1804         }
  1803     else
  1805     else
  1804         {
  1806         {
  1805         TUint16 alphaIdLength = alphaIdentifier.GetLength();
  1807         TUint16 alphaIdLength = alphaIdentifier.GetLength();
  1806         TFLOGSTRING2("TSY: Alpha ID length:%d", alphaIdLength );
  1808         TFLOGSTRING2("TSY: Alpha ID length:%d", alphaIdLength );
  1807         OstTraceExt1( TRACE_NORMAL, DUP3_CSATNOTIFYSETUPMENU_MESSAGERECEIVED, "CSatNotifySetUpMenu::MessageReceived Alpha ID: %hu", alphaIdLength );
  1809         OstTraceExt1( TRACE_NORMAL,  DUP3_CSATNOTIFYSETUPMENU_MESSAGERECEIVED_TD, "CSatNotifySetUpMenu::MessageReceived Alpha ID: %hu", alphaIdLength );
  1808         if ( alphaIdLength > RSat::KAlphaIdMaxSize )
  1810         if ( alphaIdLength > RSat::KAlphaIdMaxSize )
  1809             {
  1811             {
  1810             // String too long
  1812             // String too long
  1811             ret = KErrCorrupt;
  1813             ret = KErrCorrupt;
  1812             }
  1814             }
  1819             TSatUtility::SetAlphaId( temp , menu.iAlphaId.iAlphaId );
  1821             TSatUtility::SetAlphaId( temp , menu.iAlphaId.iAlphaId );
  1820             // Set SAT toolikit name, send SAT SMS logging purpose
  1822             // Set SAT toolikit name, send SAT SMS logging purpose
  1821             iToolKitName.Copy( menu.iAlphaId.iAlphaId );
  1823             iToolKitName.Copy( menu.iAlphaId.iAlphaId );
  1822             TFLOGSTRING2("TSY: SetUpMenu iToolKitName:%S",
  1824             TFLOGSTRING2("TSY: SetUpMenu iToolKitName:%S",
  1823                   &iToolKitName );
  1825                   &iToolKitName );
  1824             OstTraceExt1( TRACE_NORMAL, DUP4_CSATNOTIFYSETUPMENU_MESSAGERECEIVED, "CSatNotifySetUpMenu::MessageReceived SetUpMenu iToolKitName: %S", iToolKitName );
  1826             OstTraceExt1( TRACE_NORMAL,  DUP4_CSATNOTIFYSETUPMENU_MESSAGERECEIVED_TD, "CSatNotifySetUpMenu::MessageReceived SetUpMenu iToolKitName: %S", iToolKitName );
  1825             }
  1827             }
  1826         else
  1828         else
  1827             {
  1829             {
  1828             TFLOGSTRING("TSY: CSatNotifySetUpMenu::MessageReceived,\
  1830             TFLOGSTRING("TSY: CSatNotifySetUpMenu::MessageReceived,\
  1829                 Wrong length of alpha id.");
  1831                 Wrong length of alpha id.");
  1830             OstTrace0( TRACE_NORMAL, DUP5_CSATNOTIFYSETUPMENU_MESSAGERECEIVED, "CSatNotifySetUpMenu::MessageReceived, Wrong length of alpha id." );
  1832             OstTrace0( TRACE_NORMAL,  DUP5_CSATNOTIFYSETUPMENU_MESSAGERECEIVED_TD, "CSatNotifySetUpMenu::MessageReceived, Wrong length of alpha id." );
  1831             }
  1833             }
  1832         // Alpha Id status
  1834         // Alpha Id status
  1833         if ( menu.iAlphaId.iAlphaId.Length() )
  1835         if ( menu.iAlphaId.iAlphaId.Length() )
  1834             {
  1836             {
  1835             menu.iAlphaId.iStatus = RSat::EAlphaIdProvided;
  1837             menu.iAlphaId.iStatus = RSat::EAlphaIdProvided;
  1880             }
  1882             }
  1881         else
  1883         else
  1882             {
  1884             {
  1883             TFLOGSTRING("TSY: CSatNotifySetUpMenu::MessageReceived, \
  1885             TFLOGSTRING("TSY: CSatNotifySetUpMenu::MessageReceived, \
  1884                 Wrong return value of icon identifier list.");
  1886                 Wrong return value of icon identifier list.");
  1885             OstTrace0( TRACE_NORMAL, DUP6_CSATNOTIFYSETUPMENU_MESSAGERECEIVED, "CSatNotifySetUpMenu::MessageReceived, Wrong return value of icon identifier list." );
  1887             OstTrace0( TRACE_NORMAL,  DUP6_CSATNOTIFYSETUPMENU_MESSAGERECEIVED_TD, "CSatNotifySetUpMenu::MessageReceived, Wrong return value of icon identifier list." );
  1886             }
  1888             }
  1887 
  1889 
  1888         //Items Data
  1890         //Items Data
  1889         TInt itemNbr( 0 );
  1891         TInt itemNbr( 0 );
  1890         CTlv itemsData;
  1892         CTlv itemsData;
  1938                 // Filling up the menu items
  1940                 // Filling up the menu items
  1939                 RSat::TItem newItem;
  1941                 RSat::TItem newItem;
  1940                 // Suffle through all the menu items
  1942                 // Suffle through all the menu items
  1941                 stringLength = 0;
  1943                 stringLength = 0;
  1942                 TFLOGSTRING2("TSY: item number:%d", i );
  1944                 TFLOGSTRING2("TSY: item number:%d", i );
  1943                 OstTraceExt1( TRACE_NORMAL, DUP7_CSATNOTIFYSETUPMENU_MESSAGERECEIVED, "CSatNotifySetUpMenu::MessageReceived Item number: %hhd", i );
  1945                 OstTraceExt1( TRACE_NORMAL,  DUP7_CSATNOTIFYSETUPMENU_MESSAGERECEIVED_TD, "CSatNotifySetUpMenu::MessageReceived Item number: %hhd", i );
  1944                 // Fill the newitem
  1946                 // Fill the newitem
  1945                 newItem.iItemId = itemsData.GetShortInfo( ETLV_IdentifierOfItem );
  1947                 newItem.iItemId = itemsData.GetShortInfo( ETLV_IdentifierOfItem );
  1946                 stringLength = itemsData.GetLength();
  1948                 stringLength = itemsData.GetLength();
  1947                 stringLength--;
  1949                 stringLength--;
  1948                 TPtrC8 itemData = itemsData.GetData( ETLV_TextStringOfItem );
  1950                 TPtrC8 itemData = itemsData.GetData( ETLV_TextStringOfItem );
  1960                     TSatUtility::ConvertSms7ToUnicode16( newItem.iItemString,
  1962                     TSatUtility::ConvertSms7ToUnicode16( newItem.iItemString,
  1961                           itemData );
  1963                           itemData );
  1962                     }
  1964                     }
  1963                 TFLOGSTRING2("TSY: SetUpMenu newItem.iItemString:%S",
  1965                 TFLOGSTRING2("TSY: SetUpMenu newItem.iItemString:%S",
  1964                     &newItem.iItemString );
  1966                     &newItem.iItemString );
  1965                 OstTraceExt1( TRACE_NORMAL, DUP8_CSATNOTIFYSETUPMENU_MESSAGERECEIVED, "CSatNotifySetUpMenu::MessageReceived, newItem.iItemString: %S", newItem.iItemString );
  1967                 OstTraceExt1( TRACE_NORMAL,  DUP8_CSATNOTIFYSETUPMENU_MESSAGERECEIVED_TD, "CSatNotifySetUpMenu::MessageReceived, newItem.iItemString: %S", newItem.iItemString );
  1966                 // Adding the new menuitem
  1968                 // Adding the new menuitem
  1967                 if( NULL != iconIdList.Size()  && ( i < iconIdList.Length() ) )
  1969                 if( NULL != iconIdList.Size()  && ( i < iconIdList.Length() ) )
  1968                     {
  1970                     {
  1969                     if( ( NULL != itemNextIndicator.Size() )
  1971                     if( ( NULL != itemNextIndicator.Size() )
  1970                         && ( i < itemNextIndicator.Length() ) )
  1972                         && ( i < itemNextIndicator.Length() ) )
  2048         (
  2050         (
  2049         const TTsyReqHandle aReqHandle, // Request handle
  2051         const TTsyReqHandle aReqHandle, // Request handle
  2050         TDes8*              aDataPtr    // Pointer to data
  2052         TDes8*              aDataPtr    // Pointer to data
  2051         )
  2053         )
  2052     {
  2054     {
  2053     OstTrace1( TRACE_NORMAL, CSATNOTIFYSETUPMENU_NOTIFY, "CSatNotifySetUpMenu::Notify Handle: %u", aReqHandle );
  2055     OstTrace1( TRACE_NORMAL,  CSATNOTIFYSETUPMENU_NOTIFY_TD, "CSatNotifySetUpMenu::Notify Handle: %u", aReqHandle );
  2054     TFLOGSTRING2("CSatNotifySetUpMenu::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  2056     TFLOGSTRING2("CSatNotifySetUpMenu::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  2055                aReqHandle );
  2057                aReqHandle );
  2056     TInt ret( KErrNone );
  2058     TInt ret( KErrNone );
  2057     iReqHandle = aReqHandle;
  2059     iReqHandle = aReqHandle;
  2058     iSetUpMenuV2Pckg = static_cast< RSat::TSetUpMenuV2Pckg* >( aDataPtr );
  2060     iSetUpMenuV2Pckg = static_cast< RSat::TSetUpMenuV2Pckg* >( aDataPtr );
  2078 TInt CSatNotifySetUpMenu::TerminalResponse
  2080 TInt CSatNotifySetUpMenu::TerminalResponse
  2079         (
  2081         (
  2080         TDes8* aRsp // Response
  2082         TDes8* aRsp // Response
  2081         )
  2083         )
  2082     {
  2084     {
  2083     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPMENU_TERMINALRESPONSE, "CSatNotifySetUpMenu::TerminalResponse" );
  2085     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPMENU_TERMINALRESPONSE_TD, "CSatNotifySetUpMenu::TerminalResponse" );
  2084     TFLOGSTRING("CSatNotifySetUpMenu::TerminalResponse");
  2086     TFLOGSTRING("CSatNotifySetUpMenu::TerminalResponse");
  2085     TInt ret( KErrNone );
  2087     TInt ret( KErrNone );
  2086     TUint8 additionalInfo( 0 );
  2088     TUint8 additionalInfo( 0 );
  2087     RSat::TSetUpMenuRspV1Pckg* aRspPckg =
  2089     RSat::TSetUpMenuRspV1Pckg* aRspPckg =
  2088             reinterpret_cast<RSat::TSetUpMenuRspV1Pckg*>( aRsp );
  2090             reinterpret_cast<RSat::TSetUpMenuRspV1Pckg*>( aRsp );
  2110         }
  2112         }
  2111 
  2113 
  2112     if( RSat::KSuccess == rspV1.iGeneralResult && iItemsNextIndicatorRemoved )
  2114     if( RSat::KSuccess == rspV1.iGeneralResult && iItemsNextIndicatorRemoved )
  2113         {
  2115         {
  2114         TFLOGSTRING("CSatNotifySetUpMenu::TerminalResponseL, iItemsNextIndicatorRemoved");
  2116         TFLOGSTRING("CSatNotifySetUpMenu::TerminalResponseL, iItemsNextIndicatorRemoved");
  2115         OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSETUPMENU_TERMINALRESPONSE, "CSatNotifySetUpMenu::TerminalResponseL, iItemsNextIndicatorRemoved" );
  2117         OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSETUPMENU_TERMINALRESPONSE_TD, "CSatNotifySetUpMenu::TerminalResponseL, iItemsNextIndicatorRemoved" );
  2116         rspV1.iGeneralResult = RSat::KPartialComprehension;
  2118         rspV1.iGeneralResult = RSat::KPartialComprehension;
  2117         }
  2119         }
  2118     iItemsNextIndicatorRemoved = EFalse;
  2120     iItemsNextIndicatorRemoved = EFalse;
  2119 
  2121 
  2120     // Creating the info message
  2122     // Creating the info message
  2132 // (other items were commented in a header).
  2134 // (other items were commented in a header).
  2133 // -----------------------------------------------------------------------------
  2135 // -----------------------------------------------------------------------------
  2134 //
  2136 //
  2135 TDes16& CSatNotifySetUpMenu::SatApplicationName()
  2137 TDes16& CSatNotifySetUpMenu::SatApplicationName()
  2136     {
  2138     {
  2137     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPMENU_SATAPPLICATIONNAME, "CSatNotifySetUpMenu::SatApplicationName" );
  2139     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPMENU_SATAPPLICATIONNAME_TD, "CSatNotifySetUpMenu::SatApplicationName" );
  2138     if ( 0x0 == iToolKitName.Length() )
  2140     if ( 0x0 == iToolKitName.Length() )
  2139         {
  2141         {
  2140         // Default toolkit name
  2142         // Default toolkit name
  2141         iToolKitName.Copy( KSatToolkit );
  2143         iToolKitName.Copy( KSatToolkit );
  2142         }
  2144         }
  2158         :
  2160         :
  2159         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  2161         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  2160         iSelectItemV2Pckg( NULL ),
  2162         iSelectItemV2Pckg( NULL ),
  2161         iItemNextIndicatorRemoved( EFalse )
  2163         iItemNextIndicatorRemoved( EFalse )
  2162     {
  2164     {
  2163     OstTrace0( TRACE_NORMAL, CSATNOTIFYSELECTITEM_CSATNOTIFYSELECTITEM, "CSatNotifySelectItem::CSatNotifySelectItem" );
  2165     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSELECTITEM_CSATNOTIFYSELECTITEM_TD, "CSatNotifySelectItem::CSatNotifySelectItem" );
  2164     // Following results are also allowed for this command:
  2166     // Following results are also allowed for this command:
  2165     // (in addition to result declared in base class constructor)
  2167     // (in addition to result declared in base class constructor)
  2166     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  2168     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  2167         + RSat::KPSessionTerminatedByUser + RSat::KBackwardModeRequestedByUser
  2169         + RSat::KPSessionTerminatedByUser + RSat::KBackwardModeRequestedByUser
  2168         + RSat::KNoResponseFromUser + RSat::KHelpRequestedByUser
  2170         + RSat::KNoResponseFromUser + RSat::KHelpRequestedByUser
  2174 // Destructor
  2176 // Destructor
  2175 // -----------------------------------------------------------------------------
  2177 // -----------------------------------------------------------------------------
  2176 //
  2178 //
  2177 CSatNotifySelectItem::~CSatNotifySelectItem()
  2179 CSatNotifySelectItem::~CSatNotifySelectItem()
  2178     {
  2180     {
  2179     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSELECTITEM_CSATNOTIFYSELECTITEM, "CSatNotifySelectItem::~CSatNotifySelectItem" );
  2181     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSELECTITEM_CSATNOTIFYSELECTITEM_TD, "CSatNotifySelectItem::~CSatNotifySelectItem" );
  2180     // None
  2182     // None
  2181     }
  2183     }
  2182 
  2184 
  2183 // -----------------------------------------------------------------------------
  2185 // -----------------------------------------------------------------------------
  2184 // CSatNotifySelectItem::MessageReceived
  2186 // CSatNotifySelectItem::MessageReceived
  2190 void CSatNotifySelectItem::MessageReceived
  2192 void CSatNotifySelectItem::MessageReceived
  2191         (
  2193         (
  2192         const TIsiReceiveC& aIsiMessage // ISI message
  2194         const TIsiReceiveC& aIsiMessage // ISI message
  2193         )
  2195         )
  2194     {
  2196     {
  2195     OstTrace0( TRACE_NORMAL, CSATNOTIFYSELECTITEM_MESSAGERECEIVED, "CSatNotifySelectItem::MessageReceived" );
  2197     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSELECTITEM_MESSAGERECEIVED_TD, "CSatNotifySelectItem::MessageReceived" );
  2196     TFLOGSTRING("CSatNotifySelectItem::MessageReceived");
  2198     TFLOGSTRING("CSatNotifySelectItem::MessageReceived");
  2197     TInt ret( KErrNone );
  2199     TInt ret( KErrNone );
  2198     // Get ber tlv
  2200     // Get ber tlv
  2199     CBerTlv berTlv;
  2201     CBerTlv berTlv;
  2200     berTlv.BerTlv( aIsiMessage );
  2202     berTlv.BerTlv( aIsiMessage );
  2290             }
  2292             }
  2291         else
  2293         else
  2292             {
  2294             {
  2293             TFLOGSTRING("TSY: CSatNotifySelectItem::MessageReceived, \
  2295             TFLOGSTRING("TSY: CSatNotifySelectItem::MessageReceived, \
  2294             Presentation type was not set.");
  2296             Presentation type was not set.");
  2295             OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSELECTITEM_MESSAGERECEIVED, "CSatNotifySelectItem::MessageReceived, Presentation type was not set" );
  2297             OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSELECTITEM_MESSAGERECEIVED_TD, "CSatNotifySelectItem::MessageReceived, Presentation type was not set" );
  2296 
  2298 
  2297             selectItemV2.iPresentationType = RSat::ENotSpecified;
  2299             selectItemV2.iPresentationType = RSat::ENotSpecified;
  2298             }
  2300             }
  2299         // Selection preference
  2301         // Selection preference
  2300         if ( KSelectItemSelectUsingSoftKeyMask & cmdQualifier )
  2302         if ( KSelectItemSelectUsingSoftKeyMask & cmdQualifier )
  2357             }
  2359             }
  2358         else
  2360         else
  2359             {
  2361             {
  2360             TFLOGSTRING("TSY: CSatNotifySelectItem::MessageReceived, \
  2362             TFLOGSTRING("TSY: CSatNotifySelectItem::MessageReceived, \
  2361             Return value not valid.");
  2363             Return value not valid.");
  2362             OstTrace0( TRACE_NORMAL, DUP3_CSATNOTIFYSELECTITEM_MESSAGERECEIVED, "CSatNotifySelectItem::MessageReceived, Return value not valid." );
  2364             OstTrace0( TRACE_NORMAL,  DUP3_CSATNOTIFYSELECTITEM_MESSAGERECEIVED_TD, "CSatNotifySelectItem::MessageReceived, Return value not valid." );
  2363 
  2365 
  2364             }
  2366             }
  2365 
  2367 
  2366         CTlv item;
  2368         CTlv item;
  2367         // Get all items
  2369         // Get all items
  2511                     }
  2513                     }
  2512                 else
  2514                 else
  2513                     {
  2515                     {
  2514                     TFLOGSTRING("TSY: CSatNotifySelectItem::MessageReceived,\
  2516                     TFLOGSTRING("TSY: CSatNotifySelectItem::MessageReceived,\
  2515                     Item with icon not valid.");
  2517                     Item with icon not valid.");
  2516                     OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYSELECTITEM_MESSAGERECEIVED, "CSatNotifySelectItem::MessageReceived, Item with icon not valid." );
  2518                     OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYSELECTITEM_MESSAGERECEIVED_TD, "CSatNotifySelectItem::MessageReceived, Item with icon not valid." );
  2517                     }
  2519                     }
  2518                 }
  2520                 }
  2519             else
  2521             else
  2520                 {
  2522                 {
  2521                 if( ( NULL != itemNextIndicator.Size() )
  2523                 if( ( NULL != itemNextIndicator.Size() )
  2568         (
  2570         (
  2569         const TTsyReqHandle aReqHandle, // Request handle
  2571         const TTsyReqHandle aReqHandle, // Request handle
  2570         TDes8*              aDataPtr    // Pointer to data
  2572         TDes8*              aDataPtr    // Pointer to data
  2571         )
  2573         )
  2572     {
  2574     {
  2573     OstTrace1( TRACE_NORMAL, CSATNOTIFYSELECTITEM_NOTIFY, "CSatNotifySelectItem::Notify Handle: %u", aReqHandle );
  2575     OstTrace1( TRACE_NORMAL,  CSATNOTIFYSELECTITEM_NOTIFY_TD, "CSatNotifySelectItem::Notify Handle: %u", aReqHandle );
  2574     TFLOGSTRING2("CSatNotifySelectItem::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  2576     TFLOGSTRING2("CSatNotifySelectItem::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  2575                aReqHandle );
  2577                aReqHandle );
  2576     iReqHandle = aReqHandle;
  2578     iReqHandle = aReqHandle;
  2577     iSelectItemV2Pckg = static_cast< RSat::TSelectItemV2Pckg* >( aDataPtr );
  2579     iSelectItemV2Pckg = static_cast< RSat::TSelectItemV2Pckg* >( aDataPtr );
  2578     iSatMessaging->SatReady( KSelectItem );
  2580     iSatMessaging->SatReady( KSelectItem );
  2588 TInt CSatNotifySelectItem::TerminalResponse
  2590 TInt CSatNotifySelectItem::TerminalResponse
  2589         (
  2591         (
  2590         TDes8* aRsp // Response
  2592         TDes8* aRsp // Response
  2591         )
  2593         )
  2592     {
  2594     {
  2593     OstTrace0( TRACE_NORMAL, CSATNOTIFYSELECTITEM_TERMINALRESPONSE, "CSatNotifySelectItem::TerminalResponse" );
  2595     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSELECTITEM_TERMINALRESPONSE_TD, "CSatNotifySelectItem::TerminalResponse" );
  2594     TFLOGSTRING("CSatNotifySelectItem::TerminalResponse");
  2596     TFLOGSTRING("CSatNotifySelectItem::TerminalResponse");
  2595     TInt   ret( KErrNone );
  2597     TInt   ret( KErrNone );
  2596     TUint8 additionalInfo( 0 );
  2598     TUint8 additionalInfo( 0 );
  2597     RSat::TSelectItemRspV1Pckg* aRspPckg =
  2599     RSat::TSelectItemRspV1Pckg* aRspPckg =
  2598             reinterpret_cast<RSat::TSelectItemRspV1Pckg*>( aRsp );
  2600             reinterpret_cast<RSat::TSelectItemRspV1Pckg*>( aRsp );
  2625         }
  2627         }
  2626 
  2628 
  2627     if( RSat::KSuccess == rspV1.iGeneralResult && iItemNextIndicatorRemoved )
  2629     if( RSat::KSuccess == rspV1.iGeneralResult && iItemNextIndicatorRemoved )
  2628         {
  2630         {
  2629         TFLOGSTRING("CSatNotifySelectItem::TerminalResponseL, iItemNextIndicatorRemoved");
  2631         TFLOGSTRING("CSatNotifySelectItem::TerminalResponseL, iItemNextIndicatorRemoved");
  2630         OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSELECTITEM_TERMINALRESPONSE, "CSatNotifySelectItem::TerminalResponse, iItemNextIndicatorRemoved" );
  2632         OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSELECTITEM_TERMINALRESPONSE_TD, "CSatNotifySelectItem::TerminalResponse, iItemNextIndicatorRemoved" );
  2631 
  2633 
  2632         rspV1.iGeneralResult = RSat::KPartialComprehension;
  2634         rspV1.iGeneralResult = RSat::KPartialComprehension;
  2633         }
  2635         }
  2634     iItemNextIndicatorRemoved = EFalse;
  2636     iItemNextIndicatorRemoved = EFalse;
  2635 
  2637 
  2657         )
  2659         )
  2658         :
  2660         :
  2659         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  2661         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  2660         iSendSmV1Pckg( NULL )
  2662         iSendSmV1Pckg( NULL )
  2661     {
  2663     {
  2662     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSM_CSATNOTIFYSENDSM, "CSatNotifySendSm::CSatNotifySendSm" );
  2664     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSM_CSATNOTIFYSENDSM_TD, "CSatNotifySendSm::CSatNotifySendSm" );
  2663     // Following results are also allowed for this command:
  2665     // Following results are also allowed for this command:
  2664     // (in addition to result declared in base class constructor)
  2666     // (in addition to result declared in base class constructor)
  2665     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  2667     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  2666         + RSat::KNetworkUnableToProcessCmd + RSat::KSmsRpError
  2668         + RSat::KNetworkUnableToProcessCmd + RSat::KSmsRpError
  2667         + RSat::KErrorRequiredValuesMissing
  2669         + RSat::KErrorRequiredValuesMissing
  2673 // Destructor
  2675 // Destructor
  2674 // -----------------------------------------------------------------------------
  2676 // -----------------------------------------------------------------------------
  2675 //
  2677 //
  2676 CSatNotifySendSm::~CSatNotifySendSm()
  2678 CSatNotifySendSm::~CSatNotifySendSm()
  2677     {
  2679     {
  2678     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSENDSM_CSATNOTIFYSENDSM, "CSatNotifySendSm::~CSatNotifySendSm" );
  2680     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSENDSM_CSATNOTIFYSENDSM_TD, "CSatNotifySendSm::~CSatNotifySendSm" );
  2679     // None
  2681     // None
  2680     }
  2682     }
  2681 
  2683 
  2682 // -----------------------------------------------------------------------------
  2684 // -----------------------------------------------------------------------------
  2683 // CSatNotifySendSm::MessageReceived
  2685 // CSatNotifySendSm::MessageReceived
  2689 void CSatNotifySendSm::MessageReceived
  2691 void CSatNotifySendSm::MessageReceived
  2690         (
  2692         (
  2691         const TIsiReceiveC& aIsiMessage // ISI message
  2693         const TIsiReceiveC& aIsiMessage // ISI message
  2692         )
  2694         )
  2693     {
  2695     {
  2694     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSM_MESSAGERECEIVED, "CSatNotifySendSm::MessageReceived" );
  2696     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSM_MESSAGERECEIVED_TD, "CSatNotifySendSm::MessageReceived" );
  2695     TFLOGSTRING("CSatNotifySendSm::MessageReceived");
  2697     TFLOGSTRING("CSatNotifySendSm::MessageReceived");
  2696     TInt ret( KErrNone );
  2698     TInt ret( KErrNone );
  2697     // Get ber tlv
  2699     // Get ber tlv
  2698     CBerTlv berTlv;
  2700     CBerTlv berTlv;
  2699     berTlv.BerTlv( aIsiMessage );
  2701     berTlv.BerTlv( aIsiMessage );
  2850 
  2852 
  2851                         sendSmV1.iAddress.iTelNumber.Copy( tempScaNumber );
  2853                         sendSmV1.iAddress.iTelNumber.Copy( tempScaNumber );
  2852 
  2854 
  2853                         TFLOGSTRING2("TSY:SendSm, SCA number: %S",
  2855                         TFLOGSTRING2("TSY:SendSm, SCA number: %S",
  2854                         &sendSmV1.iAddress.iTelNumber );
  2856                         &sendSmV1.iAddress.iTelNumber );
  2855                         OstTraceExt1( TRACE_NORMAL, DUP1_CSATNOTIFYSENDSM_MESSAGERECEIVED, "CSatNotifySendSm::MessageReceived SCA number: %S", sendSmV1.iAddress.iTelNumber );
  2857                         OstTraceExt1( TRACE_NORMAL,  DUP1_CSATNOTIFYSENDSM_MESSAGERECEIVED_TD, "CSatNotifySendSm::MessageReceived SCA number: %S", sendSmV1.iAddress.iTelNumber );
  2856                         }
  2858                         }
  2857                     else
  2859                     else
  2858                         {
  2860                         {
  2859                         // Address TLV found, TON/NPI present, but number epmpty.
  2861                         // Address TLV found, TON/NPI present, but number epmpty.
  2860                         sendSmV1.iAddress.iTypeOfNumber = RSat::EUnknownNumber;
  2862                         sendSmV1.iAddress.iTypeOfNumber = RSat::EUnknownNumber;
  2892         (
  2894         (
  2893         const TTsyReqHandle aReqHandle, // Request handle
  2895         const TTsyReqHandle aReqHandle, // Request handle
  2894         TDes8*              aDataPtr    // Pointer to data
  2896         TDes8*              aDataPtr    // Pointer to data
  2895         )
  2897         )
  2896     {
  2898     {
  2897     OstTrace1( TRACE_NORMAL, CSATNOTIFYSENDSM_NOTIFY, "CSatNotifySendSm::Notify Handle: %u", aReqHandle );
  2899     OstTrace1( TRACE_NORMAL,  CSATNOTIFYSENDSM_NOTIFY_TD, "CSatNotifySendSm::Notify Handle: %u", aReqHandle );
  2898     TFLOGSTRING2("CSatNotifySendSm::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  2900     TFLOGSTRING2("CSatNotifySendSm::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  2899                 aReqHandle );
  2901                 aReqHandle );
  2900     iReqHandle = aReqHandle;
  2902     iReqHandle = aReqHandle;
  2901     iSendSmV1Pckg = static_cast< RSat::TSendSmV1Pckg* >( aDataPtr );
  2903     iSendSmV1Pckg = static_cast< RSat::TSendSmV1Pckg* >( aDataPtr );
  2902     iSatMessaging->SatReady( KSendShortMessage );
  2904     iSatMessaging->SatReady( KSendShortMessage );
  2912 TInt CSatNotifySendSm::TerminalResponse
  2914 TInt CSatNotifySendSm::TerminalResponse
  2913         (
  2915         (
  2914         TDes8* aRsp // Response
  2916         TDes8* aRsp // Response
  2915         )
  2917         )
  2916     {
  2918     {
  2917     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSM_TERMINALRESPONSE, "CSatNotifySendSm::TerminalResponse" );
  2919     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSM_TERMINALRESPONSE_TD, "CSatNotifySendSm::TerminalResponse" );
  2918     TFLOGSTRING("CSatNotifySendSm::TerminalResponse");
  2920     TFLOGSTRING("CSatNotifySendSm::TerminalResponse");
  2919     TInt ret( KErrNone );
  2921     TInt ret( KErrNone );
  2920     TUint8 additionalInfo( 0 );
  2922     TUint8 additionalInfo( 0 );
  2921     RSat::TSendSmRspV1Pckg* aRspPckg =
  2923     RSat::TSendSmRspV1Pckg* aRspPckg =
  2922             reinterpret_cast< RSat::TSendSmRspV1Pckg* >( aRsp );
  2924             reinterpret_cast< RSat::TSendSmRspV1Pckg* >( aRsp );
  2964 TUint8 CSatNotifySendSm::GetTpUdlIndex
  2966 TUint8 CSatNotifySendSm::GetTpUdlIndex
  2965     (
  2967     (
  2966     TPtrC8 aTpdu // Tpdu where to read TP-UDL or TP-CDL
  2968     TPtrC8 aTpdu // Tpdu where to read TP-UDL or TP-CDL
  2967     )
  2969     )
  2968     {
  2970     {
  2969     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSM_GETTPUDLINDEX, "CSatNotifySendSm::GetTpUdlIndex" );
  2971     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSM_GETTPUDLINDEX_TD, "CSatNotifySendSm::GetTpUdlIndex" );
  2970     TFLOGSTRING("CSatNotifySendSm::GetTpUdlIndex");
  2972     TFLOGSTRING("CSatNotifySendSm::GetTpUdlIndex");
  2971 
  2973 
  2972     // Position on TP-UDL/TP-CDL field in SMS TPDU
  2974     // Position on TP-UDL/TP-CDL field in SMS TPDU
  2973     TUint8 tpDlIndex( 0 );
  2975     TUint8 tpDlIndex( 0 );
  2974 
  2976 
  3046 TUint8 CSatNotifySendSm::GetTpDcsIndex
  3048 TUint8 CSatNotifySendSm::GetTpDcsIndex
  3047         (
  3049         (
  3048         TPtrC8 aTpdu // Tpdu
  3050         TPtrC8 aTpdu // Tpdu
  3049         )
  3051         )
  3050     {
  3052     {
  3051     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSM_GETTPDCSINDEX, "CSatNotifySendSm::GetTpDcsIndex" );
  3053     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSM_GETTPDCSINDEX_TD, "CSatNotifySendSm::GetTpDcsIndex" );
  3052     TFLOGSTRING("CSatNotifySendSm::GetTpDcsIndex");
  3054     TFLOGSTRING("CSatNotifySendSm::GetTpDcsIndex");
  3053 
  3055 
  3054     // Position of TP-DCS field in SMS TPDU
  3056     // Position of TP-DCS field in SMS TPDU
  3055     // Add mandatory fields at first: TP-MTI, TP-MR, TP-DA(address length,
  3057     // Add mandatory fields at first: TP-MTI, TP-MR, TP-DA(address length,
  3056     // TON/NPI), TP-PID and TP-DCS.
  3058     // TON/NPI), TP-PID and TP-DCS.
  3079 TInt CSatNotifySendSm::CheckTpdu
  3081 TInt CSatNotifySendSm::CheckTpdu
  3080         (
  3082         (
  3081         TPtrC8 aTpdu // TPDU
  3083         TPtrC8 aTpdu // TPDU
  3082         )
  3084         )
  3083     {
  3085     {
  3084     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSM_CHECKTPDU, "CSatNotifySendSm::CheckTpdu" );
  3086     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSM_CHECKTPDU_TD, "CSatNotifySendSm::CheckTpdu" );
  3085     TFLOGSTRING("CSatNotifySendSm::CheckTpdu");
  3087     TFLOGSTRING("CSatNotifySendSm::CheckTpdu");
  3086     TInt ret( KErrNone );
  3088     TInt ret( KErrNone );
  3087     TUint8 tpUdlPos( 0 ); // UDL position
  3089     TUint8 tpUdlPos( 0 ); // UDL position
  3088     TUint8 tpUdl( 0 ); // User data length
  3090     TUint8 tpUdl( 0 ); // User data length
  3089     TUint8 lengthOfTPDU( aTpdu.Length() ); // TPDU buffer length
  3091     TUint8 lengthOfTPDU( aTpdu.Length() ); // TPDU buffer length
  3090 
  3092 
  3091     // At first check that TPDU length isn't under minimum
  3093     // At first check that TPDU length isn't under minimum
  3092     if ( KMinSmsTpduLength > lengthOfTPDU )
  3094     if ( KMinSmsTpduLength > lengthOfTPDU )
  3093         {
  3095         {
  3094         TFLOGSTRING("CSatNotifySendSm::CheckTpdu, error: invalid TPDU length");
  3096         TFLOGSTRING("CSatNotifySendSm::CheckTpdu, error: invalid TPDU length");
  3095         OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSENDSM_CHECKTPDU, "CSatNotifySendSm::CheckTpdu, error: invalid TPDU length" );
  3097         OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSENDSM_CHECKTPDU_TD, "CSatNotifySendSm::CheckTpdu, error: invalid TPDU length" );
  3096         ret = KErrCorrupt;
  3098         ret = KErrCorrupt;
  3097         }
  3099         }
  3098     else
  3100     else
  3099         {
  3101         {
  3100         // Get index of UDL field
  3102         // Get index of UDL field
  3106             tpUdl = aTpdu[tpUdlPos];
  3108             tpUdl = aTpdu[tpUdlPos];
  3107             }
  3109             }
  3108         else
  3110         else
  3109             {
  3111             {
  3110             TFLOGSTRING("CSatNotifySendSm::CheckTpdu, error: invalid UDL index");
  3112             TFLOGSTRING("CSatNotifySendSm::CheckTpdu, error: invalid UDL index");
  3111             OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYSENDSM_CHECKTPDU, "CSatNotifySendSm::CheckTpdu, error: invalid UDL index" );
  3113             OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYSENDSM_CHECKTPDU_TD, "CSatNotifySendSm::CheckTpdu, error: invalid UDL index" );
  3112             ret = KErrCorrupt;
  3114             ret = KErrCorrupt;
  3113             }
  3115             }
  3114         }
  3116         }
  3115 
  3117 
  3116     if ( KErrNone == ret )
  3118     if ( KErrNone == ret )
  3140                 // Check the validity of user data length
  3142                 // Check the validity of user data length
  3141                 if ( KSmsMaxSize < tpUdl || maxSmsSize < tpUdByteCount )
  3143                 if ( KSmsMaxSize < tpUdl || maxSmsSize < tpUdByteCount )
  3142                     {
  3144                     {
  3143                     // Message is over 160 bytes or invalid user data length
  3145                     // Message is over 160 bytes or invalid user data length
  3144                     TFLOGSTRING("CSatNotifySendSm::CheckTpdu, error: invalid user data length");
  3146                     TFLOGSTRING("CSatNotifySendSm::CheckTpdu, error: invalid user data length");
  3145                     OstTrace0( TRACE_NORMAL, DUP3_CSATNOTIFYSENDSM_CHECKTPDU, "CSatNotifySendSm::CheckTpdu, error: invalid user data length" );
  3147                     OstTrace0( TRACE_NORMAL,  DUP3_CSATNOTIFYSENDSM_CHECKTPDU_TD, "CSatNotifySendSm::CheckTpdu, error: invalid user data length" );
  3146                     ret = KErrCorrupt;
  3148                     ret = KErrCorrupt;
  3147                     }
  3149                     }
  3148                 }
  3150                 }
  3149             else // 8-bit or 16-bit data
  3151             else // 8-bit or 16-bit data
  3150                 {
  3152                 {
  3151                 // Check the validity of user data length
  3153                 // Check the validity of user data length
  3152                 if ( maxSmsSize < tpUdl || tpUdByteCount < tpUdl )
  3154                 if ( maxSmsSize < tpUdl || tpUdByteCount < tpUdl )
  3153                     {
  3155                     {
  3154                     // Message size is over the limit or invalid user data length
  3156                     // Message size is over the limit or invalid user data length
  3155                     TFLOGSTRING("CSatNotifySendSm::CheckTpdu, error: invalid user data length");
  3157                     TFLOGSTRING("CSatNotifySendSm::CheckTpdu, error: invalid user data length");
  3156                     OstTrace0( TRACE_NORMAL, DUP4_CSATNOTIFYSENDSM_CHECKTPDU, "CSatNotifySendSm::CheckTpdu, error: invalid user data length" );
  3158                     OstTrace0( TRACE_NORMAL,  DUP4_CSATNOTIFYSENDSM_CHECKTPDU_TD, "CSatNotifySendSm::CheckTpdu, error: invalid user data length" );
  3157                     ret = KErrCorrupt;
  3159                     ret = KErrCorrupt;
  3158                     }
  3160                     }
  3159                 }
  3161                 }
  3160             } // end of if ( KSATSmsMTISubmitOrSubmitReport == ( aTpdu[0] & KMask3 ) )
  3162             } // end of if ( KSATSmsMTISubmitOrSubmitReport == ( aTpdu[0] & KMask3 ) )
  3161         else // SMS-COMMAND
  3163         else // SMS-COMMAND
  3162             {
  3164             {
  3163             if ( KSMSCommandMaxSize < tpUdl )
  3165             if ( KSMSCommandMaxSize < tpUdl )
  3164                 {
  3166                 {
  3165                 TFLOGSTRING("CSatNotifySendSm::CheckTpdu, error: user data length over maximum");
  3167                 TFLOGSTRING("CSatNotifySendSm::CheckTpdu, error: user data length over maximum");
  3166                 OstTrace0( TRACE_NORMAL, DUP5_CSATNOTIFYSENDSM_CHECKTPDU, "CSatNotifySendSm::CheckTpdu, error: user data length over maximum" );
  3168                 OstTrace0( TRACE_NORMAL,  DUP5_CSATNOTIFYSENDSM_CHECKTPDU_TD, "CSatNotifySendSm::CheckTpdu, error: user data length over maximum" );
  3167                 ret = KErrCorrupt;
  3169                 ret = KErrCorrupt;
  3168                 }
  3170                 }
  3169             }
  3171             }
  3170         } // End of if ( KErrNone == ret )
  3172         } // End of if ( KErrNone == ret )
  3171     return ret;
  3173     return ret;
  3181         (
  3183         (
  3182         TPtrC8 aTpdu, // Received Tpdu
  3184         TPtrC8 aTpdu, // Received Tpdu
  3183         TTpdu& aSendSm // Where to store packed sms
  3185         TTpdu& aSendSm // Where to store packed sms
  3184         )
  3186         )
  3185     {
  3187     {
  3186     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSM_PACKSMS, "CSatNotifySendSm::PackSms" );
  3188     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSM_PACKSMS_TD, "CSatNotifySendSm::PackSms" );
  3187     TFLOGSTRING("CSatNotifySendSm::PackSms");
  3189     TFLOGSTRING("CSatNotifySendSm::PackSms");
  3188     TInt ret( KErrNone );
  3190     TInt ret( KErrNone );
  3189 
  3191 
  3190     // Checking the message type, SMS-SUBMIT can be packed:
  3192     // Checking the message type, SMS-SUBMIT can be packed:
  3191     //
  3193     //
  3364         )
  3366         )
  3365         :
  3367         :
  3366         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  3368         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  3367         iSendDtmfV1Pckg( NULL )
  3369         iSendDtmfV1Pckg( NULL )
  3368     {
  3370     {
  3369     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDDTMF_CSATNOTIFYSENDDTMF, "CSatNotifySendDtmf::CSatNotifySendDtmf" );
  3371     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDDTMF_CSATNOTIFYSENDDTMF_TD, "CSatNotifySendDtmf::CSatNotifySendDtmf" );
  3370     // Following results are also allowed for this command:
  3372     // Following results are also allowed for this command:
  3371     // (in addition to result declared in base class constructor)
  3373     // (in addition to result declared in base class constructor)
  3372     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  3374     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  3373         + RSat::KPSessionTerminatedByUser + RSat::KErrorRequiredValuesMissing;
  3375         + RSat::KPSessionTerminatedByUser + RSat::KErrorRequiredValuesMissing;
  3374     }
  3376     }
  3378 // Destructor
  3380 // Destructor
  3379 // -----------------------------------------------------------------------------
  3381 // -----------------------------------------------------------------------------
  3380 //
  3382 //
  3381 CSatNotifySendDtmf::~CSatNotifySendDtmf()
  3383 CSatNotifySendDtmf::~CSatNotifySendDtmf()
  3382     {
  3384     {
  3383     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSENDDTMF_CSATNOTIFYSENDDTMF, "CSatNotifySendDtmf::~CSatNotifySendDtmf" );
  3385     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSENDDTMF_CSATNOTIFYSENDDTMF_TD, "CSatNotifySendDtmf::~CSatNotifySendDtmf" );
  3384     // None
  3386     // None
  3385     }
  3387     }
  3386 
  3388 
  3387 // -----------------------------------------------------------------------------
  3389 // -----------------------------------------------------------------------------
  3388 // CSatNotifySendDtmf::MessageReceived
  3390 // CSatNotifySendDtmf::MessageReceived
  3394 void CSatNotifySendDtmf::MessageReceived
  3396 void CSatNotifySendDtmf::MessageReceived
  3395         (
  3397         (
  3396         const TIsiReceiveC& aIsiMessage // ISI message
  3398         const TIsiReceiveC& aIsiMessage // ISI message
  3397         )
  3399         )
  3398     {
  3400     {
  3399     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDDTMF_MESSAGERECEIVED, "CSatNotifySendDtmf::MessageReceived" );
  3401     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDDTMF_MESSAGERECEIVED_TD, "CSatNotifySendDtmf::MessageReceived" );
  3400     TFLOGSTRING("CSatNotifySendDtmf::MessageReceived");
  3402     TFLOGSTRING("CSatNotifySendDtmf::MessageReceived");
  3401     // get ber tlv
  3403     // get ber tlv
  3402     CBerTlv berTlv;
  3404     CBerTlv berTlv;
  3403     berTlv.BerTlv( aIsiMessage );
  3405     berTlv.BerTlv( aIsiMessage );
  3404     // get command details tlv
  3406     // get command details tlv
  3530         (
  3532         (
  3531         const TTsyReqHandle aReqHandle, // Request handle
  3533         const TTsyReqHandle aReqHandle, // Request handle
  3532         TDes8*              aDataPtr    // Pointer to data
  3534         TDes8*              aDataPtr    // Pointer to data
  3533         )
  3535         )
  3534     {
  3536     {
  3535     OstTrace1( TRACE_NORMAL, CSATNOTIFYSENDDTMF_NOTIFY, "CSatNotifySendDtmf::Notify Handle: %u", aReqHandle );
  3537     OstTrace1( TRACE_NORMAL,  CSATNOTIFYSENDDTMF_NOTIFY_TD, "CSatNotifySendDtmf::Notify Handle: %u", aReqHandle );
  3536     TFLOGSTRING2("CSatNotifySendDtmf::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  3538     TFLOGSTRING2("CSatNotifySendDtmf::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  3537                 aReqHandle );
  3539                 aReqHandle );
  3538     iReqHandle = aReqHandle;
  3540     iReqHandle = aReqHandle;
  3539     iSendDtmfV1Pckg = static_cast< RSat::TSendDtmfV1Pckg* >( aDataPtr );
  3541     iSendDtmfV1Pckg = static_cast< RSat::TSendDtmfV1Pckg* >( aDataPtr );
  3540     iSatMessaging->SatReady( KSendDtmf );
  3542     iSatMessaging->SatReady( KSendDtmf );
  3550 TInt CSatNotifySendDtmf::TerminalResponse
  3552 TInt CSatNotifySendDtmf::TerminalResponse
  3551         (
  3553         (
  3552         TDes8* aRsp // Response
  3554         TDes8* aRsp // Response
  3553         )
  3555         )
  3554     {
  3556     {
  3555     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDDTMF_TERMINALRESPONSE, "CSatNotifySendDtmf::TerminalResponse" );
  3557     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDDTMF_TERMINALRESPONSE_TD, "CSatNotifySendDtmf::TerminalResponse" );
  3556     TFLOGSTRING("CSatNotifySendDtmf::TerminalResponse");
  3558     TFLOGSTRING("CSatNotifySendDtmf::TerminalResponse");
  3557     TInt ret( KErrNone );
  3559     TInt ret( KErrNone );
  3558     TUint8 additionalInfo( 0 );
  3560     TUint8 additionalInfo( 0 );
  3559     RSat::TSendDtmfRspV1Pckg* aRspPckg =
  3561     RSat::TSendDtmfRspV1Pckg* aRspPckg =
  3560             reinterpret_cast< RSat::TSendDtmfRspV1Pckg* >( aRsp );
  3562             reinterpret_cast< RSat::TSendDtmfRspV1Pckg* >( aRsp );
  3604         )
  3606         )
  3605         :
  3607         :
  3606         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  3608         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  3607         iSendSsV1Pckg( NULL )
  3609         iSendSsV1Pckg( NULL )
  3608     {
  3610     {
  3609     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSS_CSATNOTIFYSENDSS, "CSatNotifySendSs::CSatNotifySendSs" );
  3611     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSS_CSATNOTIFYSENDSS_TD, "CSatNotifySendSs::CSatNotifySendSs" );
  3610     // Following results are also allowed for this command:
  3612     // Following results are also allowed for this command:
  3611     // (in addition to result declared in base class constructor)
  3613     // (in addition to result declared in base class constructor)
  3612     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  3614     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  3613         + RSat::KModifiedByCallControl + RSat::KUssdTransactionTerminatedByUser
  3615         + RSat::KModifiedByCallControl + RSat::KUssdTransactionTerminatedByUser
  3614         + RSat::KNetworkUnableToProcessCmd
  3616         + RSat::KNetworkUnableToProcessCmd
  3622 // Destructor
  3624 // Destructor
  3623 // -----------------------------------------------------------------------------
  3625 // -----------------------------------------------------------------------------
  3624 //
  3626 //
  3625 CSatNotifySendSs::~CSatNotifySendSs()
  3627 CSatNotifySendSs::~CSatNotifySendSs()
  3626     {
  3628     {
  3627     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSENDSS_CSATNOTIFYSENDSS, "CSatNotifySendSs::~CSatNotifySendSs" );
  3629     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSENDSS_CSATNOTIFYSENDSS_TD, "CSatNotifySendSs::~CSatNotifySendSs" );
  3628     // None
  3630     // None
  3629     }
  3631     }
  3630 
  3632 
  3631 // -----------------------------------------------------------------------------
  3633 // -----------------------------------------------------------------------------
  3632 // CSatNotifySendSs::MessageReceived
  3634 // CSatNotifySendSs::MessageReceived
  3638 void CSatNotifySendSs::MessageReceived
  3640 void CSatNotifySendSs::MessageReceived
  3639         (
  3641         (
  3640         const TIsiReceiveC& aIsiMessage // ISI message
  3642         const TIsiReceiveC& aIsiMessage // ISI message
  3641         )
  3643         )
  3642     {
  3644     {
  3643     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSS_MESSAGERECEIVED, "CSatNotifySendSs::MessageReceived" );
  3645     OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYSENDSS_MESSAGERECEIVED_TD, "CSatNotifySendSs::MessageReceived" );
  3644     TFLOGSTRING("CSatNotifySendSs::MessageReceived");
  3646     TFLOGSTRING("CSatNotifySendSs::MessageReceived");
  3645     TInt ret( KErrNone );
  3647     TInt ret( KErrNone );
  3646     // Get ber tlv
  3648     // Get ber tlv
  3647     CBerTlv berTlv;
  3649     CBerTlv berTlv;
  3648     berTlv.BerTlv( aIsiMessage );
  3650     berTlv.BerTlv( aIsiMessage );
  3777 #if ( NCP_COMMON_S60_VERSION_SUPPORT >= S60_VERSION_50 )
  3779 #if ( NCP_COMMON_S60_VERSION_SUPPORT >= S60_VERSION_50 )
  3778         // Notify NokiaTSY that next SS request is SAT originated
  3780         // Notify NokiaTSY that next SS request is SAT originated
  3779         if ( KErrNone == ret )
  3781         if ( KErrNone == ret )
  3780             {
  3782             {
  3781             TFLOGSTRING("TSY: Inform NokiaTSY SS request being SAT originated, resource control needed");
  3783             TFLOGSTRING("TSY: Inform NokiaTSY SS request being SAT originated, resource control needed");
  3782             OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSENDSS_MESSAGERECEIVED, "Inform NokiaTSY SS request being SAT originated, resource control needed" );
  3784             OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSENDSS_MESSAGERECEIVED_TD, "Inform NokiaTSY SS request being SAT originated, resource control needed" );
  3783 
  3785 
  3784             TBool resourceControlSuppress( EFalse );
  3786             TBool resourceControlSuppress( EFalse );
  3785             CMmDataPackage dataPackage;
  3787             CMmDataPackage dataPackage;
  3786             dataPackage.PackData( &resourceControlSuppress );
  3788             dataPackage.PackData( &resourceControlSuppress );
  3787 
  3789 
  3788             iSatMessaging->GetMessageRouter()->ExtFuncL(
  3790             TRAP( ret, ret = iSatMessaging->GetMessageRouter()->ExtFuncL(
  3789                 ESatNotifySendSsPCmd,
  3791                 ESatNotifySendSsPCmd,
  3790                 &dataPackage );
  3792                 &dataPackage ) );
       
  3793             if ( KErrNone != ret )
       
  3794                 {
       
  3795 TFLOGSTRING2("TSY: CSatNotifySendSs::MessageReceived: ExtFuncL for ESatNotifySendSsPCmd failed: %d", ret );
       
  3796 OstTrace1( TRACE_NORMAL, DUP3_CSATNOTIFYSENDSS_MESSAGERECEIVED_TD, "CSatNotifySendSs::MessageReceived: ExtFuncL for ESatNotifySendSsPCmd failed: %d", ret );
       
  3797                 }
  3791             }
  3798             }
  3792 #endif
  3799 #endif
  3793         }
  3800         }
  3794     }
  3801     }
  3795 
  3802 
  3804         (
  3811         (
  3805         const TTsyReqHandle aReqHandle, // Request handle
  3812         const TTsyReqHandle aReqHandle, // Request handle
  3806         TDes8*              aDataPtr    // Pointer to data
  3813         TDes8*              aDataPtr    // Pointer to data
  3807         )
  3814         )
  3808     {
  3815     {
  3809     OstTrace1( TRACE_NORMAL, CSATNOTIFYSENDSS_NOTIFY, "CSatNotifySendSs::Notify Handle: %u", aReqHandle );
  3816     OstTrace1( TRACE_NORMAL,  CSATNOTIFYSENDSS_NOTIFY_TD, "CSatNotifySendSs::Notify Handle: %u", aReqHandle );
  3810     TFLOGSTRING2("CSatNotifySendSs::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  3817     TFLOGSTRING2("CSatNotifySendSs::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  3811                 aReqHandle );
  3818                 aReqHandle );
  3812     iReqHandle = aReqHandle;
  3819     iReqHandle = aReqHandle;
  3813     iSendSsV1Pckg = static_cast< RSat::TSendSsV1Pckg* >( aDataPtr );
  3820     iSendSsV1Pckg = static_cast< RSat::TSendSsV1Pckg* >( aDataPtr );
  3814     iSatMessaging->SatReady( KSendSs );
  3821     iSatMessaging->SatReady( KSendSs );
  3824 TInt CSatNotifySendSs::TerminalResponse
  3831 TInt CSatNotifySendSs::TerminalResponse
  3825         (
  3832         (
  3826         TDes8* aRsp // Response
  3833         TDes8* aRsp // Response
  3827         )
  3834         )
  3828     {
  3835     {
  3829     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSS_TERMINALRESPONSE, "CSatNotifySendSs::TerminalResponse" );
  3836     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSS_TERMINALRESPONSE_TD, "CSatNotifySendSs::TerminalResponse" );
  3830     TFLOGSTRING("CSatNotifySendSs::TerminalResponse");
  3837     TFLOGSTRING("CSatNotifySendSs::TerminalResponse");
  3831 
  3838 
  3832     TInt ret( KErrNone );
  3839     TInt ret( KErrNone );
  3833 
  3840 
  3834     // Buffer for additional information
  3841     // Buffer for additional information
  3897         (
  3904         (
  3898         TPtrC8 aSource,                 // original string
  3905         TPtrC8 aSource,                 // original string
  3899         RSat::TSsString& aSsString      // where to store modified string
  3906         RSat::TSsString& aSsString      // where to store modified string
  3900         )
  3907         )
  3901     {
  3908     {
  3902     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSS_CHECKCALLFORWARDING, "CSatNotifySendSs::CheckCallForwarding" );
  3909     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSS_CHECKCALLFORWARDING_TD, "CSatNotifySendSs::CheckCallForwarding" );
  3903     TFLOGSTRING("CSatNotifySendSs::CheckCallForwarding");
  3910     TFLOGSTRING("CSatNotifySendSs::CheckCallForwarding");
  3904     _LIT8(KCFU,"*21*");    // Call forwarding unconditional (CFU)
  3911     _LIT8(KCFU,"*21*");    // Call forwarding unconditional (CFU)
  3905     _LIT8(KCFB,"*67*");    // Call forwarding on Mobile Subscriber Busy(CFB)
  3912     _LIT8(KCFB,"*67*");    // Call forwarding on Mobile Subscriber Busy(CFB)
  3906     _LIT8(KCFNRy, "*61*"); // Call forwarding on No Reply (CFNRy)
  3913     _LIT8(KCFNRy, "*61*"); // Call forwarding on No Reply (CFNRy)
  3907     _LIT8(KCFNRc, "*62*"); // Call forwarding on Mobile Subscriber Not
  3914     _LIT8(KCFNRc, "*62*"); // Call forwarding on Mobile Subscriber Not
  3941 TInt CSatNotifySendSs::CheckSsStringValidity
  3948 TInt CSatNotifySendSs::CheckSsStringValidity
  3942         (
  3949         (
  3943         TPtrC8 aSsString
  3950         TPtrC8 aSsString
  3944         )
  3951         )
  3945     {
  3952     {
  3946     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDSS_CHECKSSSTRINGVALIDITY, "CSatNotifySendSs::CheckSsStringValidity" );
  3953     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDSS_CHECKSSSTRINGVALIDITY_TD, "CSatNotifySendSs::CheckSsStringValidity" );
  3947     TFLOGSTRING("CSatNotifySendSs::CheckSsStringValidity");
  3954     TFLOGSTRING("CSatNotifySendSs::CheckSsStringValidity");
  3948     TInt ret( KErrNone );
  3955     TInt ret( KErrNone );
  3949     if ( !aSsString.Length() )
  3956     if ( !aSsString.Length() )
  3950         {
  3957         {
  3951         // If length is zero
  3958         // If length is zero
  3979         )
  3986         )
  3980         :
  3987         :
  3981         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  3988         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  3982         iSendUssdV1Pckg( NULL )
  3989         iSendUssdV1Pckg( NULL )
  3983     {
  3990     {
  3984     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDUSSD_CSATNOTIFYSENDUSSD, "CSatNotifySendUssd::CSatNotifySendUssd" );
  3991     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDUSSD_CSATNOTIFYSENDUSSD_TD, "CSatNotifySendUssd::CSatNotifySendUssd" );
  3985     // Following results are also allowed for this command:
  3992     // Following results are also allowed for this command:
  3986     // (in addition to result declared in base class constructor)
  3993     // (in addition to result declared in base class constructor)
  3987     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  3994     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  3988         + RSat::KModifiedByCallControl + RSat::KUssdTransactionTerminatedByUser
  3995         + RSat::KModifiedByCallControl + RSat::KUssdTransactionTerminatedByUser
  3989         + RSat::KNetworkUnableToProcessCmd
  3996         + RSat::KNetworkUnableToProcessCmd
  3997 // Destructor
  4004 // Destructor
  3998 // -----------------------------------------------------------------------------
  4005 // -----------------------------------------------------------------------------
  3999 //
  4006 //
  4000 CSatNotifySendUssd::~CSatNotifySendUssd()
  4007 CSatNotifySendUssd::~CSatNotifySendUssd()
  4001     {
  4008     {
  4002     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSENDUSSD_CSATNOTIFYSENDUSSD, "CSatNotifySendUssd::~CSatNotifySendUssd" );
  4009     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSENDUSSD_CSATNOTIFYSENDUSSD_TD, "CSatNotifySendUssd::~CSatNotifySendUssd" );
  4003     // None
  4010     // None
  4004     }
  4011     }
  4005 
  4012 
  4006 // -----------------------------------------------------------------------------
  4013 // -----------------------------------------------------------------------------
  4007 // CSatNotifySendUssd::MessageReceived
  4014 // CSatNotifySendUssd::MessageReceived
  4013 void CSatNotifySendUssd::MessageReceived
  4020 void CSatNotifySendUssd::MessageReceived
  4014         (
  4021         (
  4015         const TIsiReceiveC& aIsiMessage // ISI message
  4022         const TIsiReceiveC& aIsiMessage // ISI message
  4016         )
  4023         )
  4017     {
  4024     {
  4018     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDUSSD_MESSAGERECEIVED, "CSatNotifySendUssd::MessageReceived" );
  4025     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDUSSD_MESSAGERECEIVED_TD, "CSatNotifySendUssd::MessageReceived" );
  4019     TFLOGSTRING("TSY:CSatNotifySendUssd::MessageReceived");
  4026     TFLOGSTRING("TSY:CSatNotifySendUssd::MessageReceived");
  4020     TInt ret( KErrNone );
  4027     TInt ret( KErrNone );
  4021     TInt returnValue( KErrNone );
  4028     TInt returnValue( KErrNone );
  4022     //get ber tlv
  4029     //get ber tlv
  4023     CBerTlv berTlv;
  4030     CBerTlv berTlv;
  4118                   && RSat::KStringMaxSize<8*ussdStringLengthInBytes/7))
  4125                   && RSat::KStringMaxSize<8*ussdStringLengthInBytes/7))
  4119                 {
  4126                 {
  4120                 // The Ussd text string is too long.
  4127                 // The Ussd text string is too long.
  4121                 TFLOGSTRING("TSY:CSatNotifySendUssd::MessageReceived, \
  4128                 TFLOGSTRING("TSY:CSatNotifySendUssd::MessageReceived, \
  4122                 USSD String too long");
  4129                 USSD String too long");
  4123                 OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSENDUSSD_MESSAGERECEIVED, "CSatNotifySendUssd::MessageReceived, USSD String too long" );
  4130                 OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSENDUSSD_MESSAGERECEIVED_TD, "CSatNotifySendUssd::MessageReceived, USSD String too long" );
  4124                 ret = KErrCorrupt;
  4131                 ret = KErrCorrupt;
  4125                 TUint8 noCause( 0 );
  4132                 TUint8 noCause( 0 );
  4126                 TBuf<1>  emptyTextString;
  4133                 TBuf<1>  emptyTextString;
  4127                 TUint8  paramNotSet( 0 );
  4134                 TUint8  paramNotSet( 0 );
  4128                 iSatMessHandler->SendUssdTerminalResp( iTransId,
  4135                 iSatMessHandler->SendUssdTerminalResp( iTransId,
  4159                         }
  4166                         }
  4160                     default:
  4167                     default:
  4161                         {
  4168                         {
  4162                         TFLOGSTRING("TSY:CSatNotifySendUssd::MessageReceived, \
  4169                         TFLOGSTRING("TSY:CSatNotifySendUssd::MessageReceived, \
  4163                         USSD DCS has a reserved value");
  4170                         USSD DCS has a reserved value");
  4164                         OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYSENDUSSD_MESSAGERECEIVED, "CSatNotifySendUssd::MessageReceived, USSD DCS has a reserved value" );
  4171                         OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYSENDUSSD_MESSAGERECEIVED_TD, "CSatNotifySendUssd::MessageReceived, USSD DCS has a reserved value" );
  4165                         // the DCS has a reserved value
  4172                         // the DCS has a reserved value
  4166                         ret = KErrCorrupt;
  4173                         ret = KErrCorrupt;
  4167                         TUint8 noCause( 0 );
  4174                         TUint8 noCause( 0 );
  4168                         TBuf<1>  emptyTextString;
  4175                         TBuf<1>  emptyTextString;
  4169                         TUint8  paramNotSet( 0 );
  4176                         TUint8  paramNotSet( 0 );
  4180             }
  4187             }
  4181         else
  4188         else
  4182             {
  4189             {
  4183             TFLOGSTRING("TSY:CSatNotifySendUssd::MessageReceived, \
  4190             TFLOGSTRING("TSY:CSatNotifySendUssd::MessageReceived, \
  4184             Mandatory field missing");
  4191             Mandatory field missing");
  4185             OstTrace0( TRACE_NORMAL, DUP3_CSATNOTIFYSENDUSSD_MESSAGERECEIVED, "CSatNotifySendUssd::MessageReceived, Mandatory field missing" );
  4192             OstTrace0( TRACE_NORMAL,  DUP3_CSATNOTIFYSENDUSSD_MESSAGERECEIVED_TD, "CSatNotifySendUssd::MessageReceived, Mandatory field missing" );
  4186             // Mandatory field missing
  4193             // Mandatory field missing
  4187             ret = KErrCorrupt;
  4194             ret = KErrCorrupt;
  4188             TUint8 noCause( 0 );
  4195             TUint8 noCause( 0 );
  4189             TBuf<1>  noTextString;
  4196             TBuf<1>  noTextString;
  4190             TUint8  paramNotSet( 0 );
  4197             TUint8  paramNotSet( 0 );
  4216         (
  4223         (
  4217         const TTsyReqHandle aReqHandle, // Request handle
  4224         const TTsyReqHandle aReqHandle, // Request handle
  4218         TDes8*              aDataPtr    // Pointer to data
  4225         TDes8*              aDataPtr    // Pointer to data
  4219         )
  4226         )
  4220     {
  4227     {
  4221     OstTrace1( TRACE_NORMAL, CSATNOTIFYSENDUSSD_NOTIFY, "CSatNotifySendUssd::Notify Handle: %u", aReqHandle );
  4228     OstTrace1( TRACE_NORMAL,  CSATNOTIFYSENDUSSD_NOTIFY_TD, "CSatNotifySendUssd::Notify Handle: %u", aReqHandle );
  4222     TFLOGSTRING2("TSY:CSatNotifySendUssd::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  4229     TFLOGSTRING2("TSY:CSatNotifySendUssd::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  4223                 aReqHandle );
  4230                 aReqHandle );
  4224     iReqHandle = aReqHandle;
  4231     iReqHandle = aReqHandle;
  4225     iSendUssdV1Pckg = static_cast< RSat::TSendUssdV1Pckg* >( aDataPtr );
  4232     iSendUssdV1Pckg = static_cast< RSat::TSendUssdV1Pckg* >( aDataPtr );
  4226     iSatMessaging->SatReady( KSendUssd );
  4233     iSatMessaging->SatReady( KSendUssd );
  4236 TInt CSatNotifySendUssd::TerminalResponse
  4243 TInt CSatNotifySendUssd::TerminalResponse
  4237         (
  4244         (
  4238         TDes8* aRsp // Response
  4245         TDes8* aRsp // Response
  4239         )
  4246         )
  4240     {
  4247     {
  4241     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDUSSD_TERMINALRESPONSE, "CSatNotifySendUssd::TerminalResponse" );
  4248     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDUSSD_TERMINALRESPONSE_TD, "CSatNotifySendUssd::TerminalResponse" );
  4242     TFLOGSTRING("TSY:CSatNotifySendUssd::TerminalResponse");
  4249     TFLOGSTRING("TSY:CSatNotifySendUssd::TerminalResponse");
  4243     TInt ret( KErrNone );
  4250     TInt ret( KErrNone );
  4244     RSat::TSendUssdRspV1Pckg* aRspPckg =
  4251     RSat::TSendUssdRspV1Pckg* aRspPckg =
  4245             reinterpret_cast< RSat::TSendUssdRspV1Pckg* >( aRsp );
  4252             reinterpret_cast< RSat::TSendUssdRspV1Pckg* >( aRsp );
  4246     RSat::TSendUssdRspV1& rspV1 = ( *aRspPckg ) ();
  4253     RSat::TSendUssdRspV1& rspV1 = ( *aRspPckg ) ();
  4262         if ( 0 == rspV1.iAdditionalInfo.Length() )
  4269         if ( 0 == rspV1.iAdditionalInfo.Length() )
  4263             {
  4270             {
  4264             // No info
  4271             // No info
  4265             TFLOGSTRING("TSY:CSatNotifySendUssd::TerminalResponse, \
  4272             TFLOGSTRING("TSY:CSatNotifySendUssd::TerminalResponse, \
  4266             AdditionalInfoType set, but no additional info available");
  4273             AdditionalInfoType set, but no additional info available");
  4267             OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSENDUSSD_TERMINALRESPONSE, "CSatNotifySendUssd::TerminalResponse, AdditionalInfoType set, but no additional info available" );
  4274             OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSENDUSSD_TERMINALRESPONSE_TD, "CSatNotifySendUssd::TerminalResponse, AdditionalInfoType set, but no additional info available" );
  4268             ret = KErrCorrupt;
  4275             ret = KErrCorrupt;
  4269             }
  4276             }
  4270         else if ( RSat::KTextString == rspV1.iInfoType )
  4277         else if ( RSat::KTextString == rspV1.iInfoType )
  4271             {
  4278             {
  4272             // Text string - additional info for a
  4279             // Text string - additional info for a
  4275             // performed successfully, SAT Server uses the
  4282             // performed successfully, SAT Server uses the
  4276             // rspV1.iUssdString.iUssdString to return the USSD string
  4283             // rspV1.iUssdString.iUssdString to return the USSD string
  4277             // sent by the network.
  4284             // sent by the network.
  4278             TFLOGSTRING("TSY:CSatNotifySendUssd::TerminalResponse, \
  4285             TFLOGSTRING("TSY:CSatNotifySendUssd::TerminalResponse, \
  4279             AdditionalInfoType set to TextString.");
  4286             AdditionalInfoType set to TextString.");
  4280             OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYSENDUSSD_TERMINALRESPONSE, "CSatNotifySendUssd::TerminalResponse, AdditionalInfoType set to TextString." );
  4287             OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYSENDUSSD_TERMINALRESPONSE_TD, "CSatNotifySendUssd::TerminalResponse, AdditionalInfoType set to TextString." );
  4281             }
  4288             }
  4282         else
  4289         else
  4283             {
  4290             {
  4284             // For the general result "USSD Return Error",
  4291             // For the general result "USSD Return Error",
  4285             // the ME shall provide additional information.
  4292             // the ME shall provide additional information.
  4314         )
  4321         )
  4315         :
  4322         :
  4316         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  4323         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  4317         iSetUpCallV1Pckg( NULL )
  4324         iSetUpCallV1Pckg( NULL )
  4318     {
  4325     {
  4319     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPCALL_CSATNOTIFYSETUPCALL, "CSatNotifySetUpCall::CSatNotifySetUpCall" );
  4326     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPCALL_CSATNOTIFYSETUPCALL_TD, "CSatNotifySetUpCall::CSatNotifySetUpCall" );
  4320     TFLOGSTRING( "TSY:CSatNotifySetUpCall::CSatNotifySetUpCall" );
  4327     TFLOGSTRING( "TSY:CSatNotifySetUpCall::CSatNotifySetUpCall" );
  4321     iCallConnectedEvent.Zero();
  4328     iCallConnectedEvent.Zero();
  4322 
  4329 
  4323     // Following results are also allowed for this command:
  4330     // Following results are also allowed for this command:
  4324     // (in addition to result declared in base class constructor)
  4331     // (in addition to result declared in base class constructor)
  4337 // Destructor
  4344 // Destructor
  4338 // -----------------------------------------------------------------------------
  4345 // -----------------------------------------------------------------------------
  4339 //
  4346 //
  4340 CSatNotifySetUpCall::~CSatNotifySetUpCall()
  4347 CSatNotifySetUpCall::~CSatNotifySetUpCall()
  4341     {
  4348     {
  4342     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSETUPCALL_CSATNOTIFYSETUPCALL, "CSatNotifySetUpCall::~CSatNotifySetUpCall" );
  4349     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSETUPCALL_CSATNOTIFYSETUPCALL_TD, "CSatNotifySetUpCall::~CSatNotifySetUpCall" );
  4343     // None
  4350     // None
  4344     }
  4351     }
  4345 
  4352 
  4346 // -----------------------------------------------------------------------------
  4353 // -----------------------------------------------------------------------------
  4347 // CSatNotifySetUpCall::MessageReceived
  4354 // CSatNotifySetUpCall::MessageReceived
  4353 void CSatNotifySetUpCall::MessageReceived
  4360 void CSatNotifySetUpCall::MessageReceived
  4354         (
  4361         (
  4355         const TIsiReceiveC& aIsiMessage // ISI message
  4362         const TIsiReceiveC& aIsiMessage // ISI message
  4356         )
  4363         )
  4357     {
  4364     {
  4358     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPCALL_MESSAGERECEIVED, "CSatNotifySetUpCall::MessageReceived" );
  4365     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPCALL_MESSAGERECEIVED_TD, "CSatNotifySetUpCall::MessageReceived" );
  4359     TFLOGSTRING("CSatNotifySetUpCall::MessageReceived");
  4366     TFLOGSTRING("CSatNotifySetUpCall::MessageReceived");
  4360     TInt ret( KErrNone );
  4367     TInt ret( KErrNone );
  4361     TInt returnValue( KErrNone );
  4368     TInt returnValue( KErrNone );
  4362     // Get ber tlv
  4369     // Get ber tlv
  4363     CBerTlv berTlv;
  4370     CBerTlv berTlv;
  4557                 TSatUtility::RemoveExpansionDigit( tempNumber );
  4564                 TSatUtility::RemoveExpansionDigit( tempNumber );
  4558                 // Set actual number
  4565                 // Set actual number
  4559                 setUpCallV1.iAddress.iTelNumber.Copy( tempNumber );
  4566                 setUpCallV1.iAddress.iTelNumber.Copy( tempNumber );
  4560                 TFLOGSTRING2("TSY: SetUpCall, TelNumber: %S",
  4567                 TFLOGSTRING2("TSY: SetUpCall, TelNumber: %S",
  4561                 &setUpCallV1.iAddress.iTelNumber );
  4568                 &setUpCallV1.iAddress.iTelNumber );
  4562                 OstTraceExt1( TRACE_NORMAL, DUP1_CSATNOTIFYSETUPCALL_MESSAGERECEIVED, "CSatNotifySetUpCall::MessageReceived TelNumber: %S", setUpCallV1.iAddress.iTelNumber );
  4569                 OstTraceExt1( TRACE_NORMAL,  DUP1_CSATNOTIFYSETUPCALL_MESSAGERECEIVED_TD, "CSatNotifySetUpCall::MessageReceived TelNumber: %S", setUpCallV1.iAddress.iTelNumber );
  4563                 }
  4570                 }
  4564             }
  4571             }
  4565         else
  4572         else
  4566             {
  4573             {
  4567             // address is missing, returning response immediately
  4574             // address is missing, returning response immediately
  4591             {
  4598             {
  4592             if ( subAddress.GetLength()
  4599             if ( subAddress.GetLength()
  4593                 || subAddress.GetComprehensionRequired() )
  4600                 || subAddress.GetComprehensionRequired() )
  4594                 {
  4601                 {
  4595                 TFLOGSTRING("TSY: SetUpCall, SubAddress is not supported!" );
  4602                 TFLOGSTRING("TSY: SetUpCall, SubAddress is not supported!" );
  4596                 OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYSETUPCALL_MESSAGERECEIVED, "SetUpCall, SubAddress is not supported!" );
  4603                 OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYSETUPCALL_MESSAGERECEIVED_TD, "SetUpCall, SubAddress is not supported!" );
  4597                 iSatMessHandler->SetUpCallTerminalResp( iTransId,
  4604                 iSatMessHandler->SetUpCallTerminalResp( iTransId,
  4598                                         iCommandDetails,
  4605                                         iCommandDetails,
  4599                                         RSat::KCmdBeyondMeCapabilities,
  4606                                         RSat::KCmdBeyondMeCapabilities,
  4600                                         KNoCause );
  4607                                         KNoCause );
  4601                 ret = KErrCorrupt;
  4608                 ret = KErrCorrupt;
  4627         (
  4634         (
  4628         const TTsyReqHandle aReqHandle, // Request handle
  4635         const TTsyReqHandle aReqHandle, // Request handle
  4629         TDes8*              aDataPtr    // Pointer to data
  4636         TDes8*              aDataPtr    // Pointer to data
  4630         )
  4637         )
  4631     {
  4638     {
  4632     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPCALL_NOTIFY, "CSatNotifySetUpCall::Notify" );
  4639     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPCALL_NOTIFY_TD, "CSatNotifySetUpCall::Notify" );
  4633     TFLOGSTRING("CSatNotifySetUpCall::Notify");
  4640     TFLOGSTRING("CSatNotifySetUpCall::Notify");
  4634     iReqHandle = aReqHandle;
  4641     iReqHandle = aReqHandle;
  4635     iSetUpCallV1Pckg = static_cast< RSat::TSetUpCallV1Pckg* >( aDataPtr );
  4642     iSetUpCallV1Pckg = static_cast< RSat::TSetUpCallV1Pckg* >( aDataPtr );
  4636     iSatMessaging->SatReady( KSetUpCall );
  4643     iSatMessaging->SatReady( KSetUpCall );
  4637     }
  4644     }
  4646 TInt CSatNotifySetUpCall::TerminalResponse
  4653 TInt CSatNotifySetUpCall::TerminalResponse
  4647         (
  4654         (
  4648         TDes8* aRsp // Response
  4655         TDes8* aRsp // Response
  4649         )
  4656         )
  4650     {
  4657     {
  4651     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPCALL_TERMINALRESPONSE, "CSatNotifySetUpCall::TerminalResponse" );
  4658     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPCALL_TERMINALRESPONSE_TD, "CSatNotifySetUpCall::TerminalResponse" );
  4652     TFLOGSTRING("CSatNotifySetUpCall::TerminalResponse");
  4659     TFLOGSTRING("CSatNotifySetUpCall::TerminalResponse");
  4653     TInt    ret( KErrNone );
  4660     TInt    ret( KErrNone );
  4654     TUint8  additionalInfo( 0 );
  4661     TUint8  additionalInfo( 0 );
  4655     RSat::TSetUpCallRspV2Pckg* aRspPckg =
  4662     RSat::TSetUpCallRspV2Pckg* aRspPckg =
  4656             reinterpret_cast< RSat::TSetUpCallRspV2Pckg* >( aRsp );
  4663             reinterpret_cast< RSat::TSetUpCallRspV2Pckg* >( aRsp );
  4713 void CSatNotifySetUpCall::StoreCallConnectedEvent
  4720 void CSatNotifySetUpCall::StoreCallConnectedEvent
  4714         (
  4721         (
  4715         const TDesC8& aEnvelope // envelope received from CSatEventDownload
  4722         const TDesC8& aEnvelope // envelope received from CSatEventDownload
  4716         )
  4723         )
  4717     {
  4724     {
  4718     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPCALL_STORECALLCONNECTEDEVENT, "CSatNotifySetUpCall::StoreCallConnectedEvent" );
  4725     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPCALL_STORECALLCONNECTEDEVENT_TD, "CSatNotifySetUpCall::StoreCallConnectedEvent" );
  4719     // store it to the buffer
  4726     // store it to the buffer
  4720     iCallConnectedEvent = aEnvelope;
  4727     iCallConnectedEvent = aEnvelope;
  4721     }
  4728     }
  4722 
  4729 
  4723 
  4730 
  4737         iRefreshV2Pckg( NULL ),
  4744         iRefreshV2Pckg( NULL ),
  4738         iRefreshRequiredV2Pckg( NULL ),
  4745         iRefreshRequiredV2Pckg( NULL ),
  4739         iReqHandleRefreshRequired( NULL ),
  4746         iReqHandleRefreshRequired( NULL ),
  4740         iInternalCache( KZero )
  4747         iInternalCache( KZero )
  4741     {
  4748     {
  4742     OstTrace0( TRACE_NORMAL, CSATNOTIFYREFRESH_CSATNOTIFYREFRESH, "CSatNotifyRefresh::CSatNotifyRefresh" );
  4749     OstTrace0( TRACE_NORMAL,  CSATNOTIFYREFRESH_CSATNOTIFYREFRESH_TD, "CSatNotifyRefresh::CSatNotifyRefresh" );
  4743     iFileList.Zero();
  4750     iFileList.Zero();
  4744     iAid.Zero();
  4751     iAid.Zero();
  4745 
  4752 
  4746     // Following results are also allowed for this command:
  4753     // Following results are also allowed for this command:
  4747     // (in addition to result declared in base class constructor)
  4754     // (in addition to result declared in base class constructor)
  4754 // Destructor
  4761 // Destructor
  4755 // -----------------------------------------------------------------------------
  4762 // -----------------------------------------------------------------------------
  4756 //
  4763 //
  4757 CSatNotifyRefresh::~CSatNotifyRefresh()
  4764 CSatNotifyRefresh::~CSatNotifyRefresh()
  4758     {
  4765     {
  4759     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYREFRESH_CSATNOTIFYREFRESH, "CSatNotifyRefresh::~CSatNotifyRefresh" );
  4766     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYREFRESH_CSATNOTIFYREFRESH_TD, "CSatNotifyRefresh::~CSatNotifyRefresh" );
  4760     // None
  4767     // None
  4761     }
  4768     }
  4762 
  4769 
  4763 // -----------------------------------------------------------------------------
  4770 // -----------------------------------------------------------------------------
  4764 // CSatNotifyRefresh::MessageReceived
  4771 // CSatNotifyRefresh::MessageReceived
  4770 void CSatNotifyRefresh::MessageReceived
  4777 void CSatNotifyRefresh::MessageReceived
  4771         (
  4778         (
  4772         const TIsiReceiveC& aIsiMessage // ISI message
  4779         const TIsiReceiveC& aIsiMessage // ISI message
  4773         )
  4780         )
  4774     {
  4781     {
  4775     OstTrace0( TRACE_NORMAL, CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived" );
  4782     OstTrace0( TRACE_NORMAL,  CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived" );
  4776     TFLOGSTRING("TSY: CSatNotifyRefresh::MessageReceived");
  4783     TFLOGSTRING("TSY: CSatNotifyRefresh::MessageReceived");
  4777     // Get ber tlv
  4784     // Get ber tlv
  4778     CBerTlv berTlv;
  4785     CBerTlv berTlv;
  4779     berTlv.BerTlv( aIsiMessage );
  4786     berTlv.BerTlv( aIsiMessage );
  4780      // Get command details tlv
  4787      // Get command details tlv
  4786     iTransId = aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID );
  4793     iTransId = aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID );
  4787     if ( !iReqHandle || !iReqHandleRefreshRequired )
  4794     if ( !iReqHandle || !iReqHandleRefreshRequired )
  4788         {
  4795         {
  4789         TFLOGSTRING3("TSY: CSatNotifyRefresh::MessageReceived, iReqHandle:%d,\
  4796         TFLOGSTRING3("TSY: CSatNotifyRefresh::MessageReceived, iReqHandle:%d,\
  4790         iReqHandleRefreshRequired:%d ", iReqHandle, iReqHandleRefreshRequired );
  4797         iReqHandleRefreshRequired:%d ", iReqHandle, iReqHandleRefreshRequired );
  4791         OstTraceExt2( TRACE_NORMAL, DUP1_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived iReqHandle: %u, iReqHandleRefreshRequired: %u", iReqHandle, iReqHandleRefreshRequired );
  4798         OstTraceExt2( TRACE_NORMAL,  DUP1_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived iReqHandle: %u, iReqHandleRefreshRequired: %u", iReqHandle, iReqHandleRefreshRequired );
  4792 
  4799 
  4793         // Some of the request were not on, returning response immediately
  4800         // Some of the request were not on, returning response immediately
  4794         iSatMessHandler->RefreshTerminalResp(
  4801         iSatMessHandler->RefreshTerminalResp(
  4795             iTransId,                       // Transaction id
  4802             iTransId,                       // Transaction id
  4796             iCommandDetails,                // Command details tlv
  4803             iCommandDetails,                // Command details tlv
  4871             }
  4878             }
  4872         else
  4879         else
  4873             {
  4880             {
  4874             TFLOGSTRING("TSY: CSatNotifyRefresh::MessageReceived, \
  4881             TFLOGSTRING("TSY: CSatNotifyRefresh::MessageReceived, \
  4875             Return value of file list TLV not valid.");
  4882             Return value of file list TLV not valid.");
  4876             OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived, Return value of file list TLV not valid." );
  4883             OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived, Return value of file list TLV not valid." );
  4877             }
  4884             }
  4878         if ( KErrNone == ret )
  4885         if ( KErrNone == ret )
  4879             {
  4886             {
  4880             // Set refresh mode
  4887             // Set refresh mode
  4881             switch ( iCommandDetails[KCommandQualifier] )
  4888             switch ( iCommandDetails[KCommandQualifier] )
  4882                 {
  4889                 {
  4883                 case KSimInitFullFileChangeNotification:
  4890                 case KSimInitFullFileChangeNotification:
  4884                     {
  4891                     {
  4885                     TFLOGSTRING("TSY: SAT, Refresh mode: Sim init and \
  4892                     TFLOGSTRING("TSY: SAT, Refresh mode: Sim init and \
  4886                     full file change notification");
  4893                     full file change notification");
  4887                     OstTrace0( TRACE_NORMAL, DUP3_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived, Refresh mode: Sim init and full file change notification" );
  4894                     OstTrace0( TRACE_NORMAL,  DUP3_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived, Refresh mode: Sim init and full file change notification" );
  4888                     refreshV2.iType = RSat::ESimInitFullFileChangeNotification;
  4895                     refreshV2.iType = RSat::ESimInitFullFileChangeNotification;
  4889                     iInternalCache = KCacheEFSST + KCacheEFCBMID;
  4896                     iInternalCache = KCacheEFSST + KCacheEFCBMID;
  4890                     break;
  4897                     break;
  4891                     }
  4898                     }
  4892                 case KFileChangeNotification:
  4899                 case KFileChangeNotification:
  4894                     TFLOGSTRING("TSY: SAT, refresh mode: File Change \
  4901                     TFLOGSTRING("TSY: SAT, refresh mode: File Change \
  4895                     Notification");
  4902                     Notification");
  4896                     TFLOGSTRING2("TSY: Number of files: %d",
  4903                     TFLOGSTRING2("TSY: Number of files: %d",
  4897                     refreshV2.iFileList.Length() );
  4904                     refreshV2.iFileList.Length() );
  4898 
  4905 
  4899                     OstTrace0( TRACE_NORMAL, DUP4_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived, Refresh mode: File Change Notification" );
  4906                     OstTrace0( TRACE_NORMAL,  DUP4_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived, Refresh mode: File Change Notification" );
  4900                     OstTrace1( TRACE_NORMAL, DUP5_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived, Number of files: %d", refreshV2.iFileList.Length() );
  4907                     OstTrace1( TRACE_NORMAL,  DUP5_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived, Number of files: %d", refreshV2.iFileList.Length() );
  4901 
  4908 
  4902                     refreshV2.iType = RSat::EFileChangeNotification;
  4909                     refreshV2.iType = RSat::EFileChangeNotification;
  4903                     if ( KErrNotFound !=
  4910                     if ( KErrNotFound !=
  4904                         refreshV2.iFileList.Locate( RSat::KImsiEf )
  4911                         refreshV2.iFileList.Locate( RSat::KImsiEf )
  4905                             && !fileListTlv.GetComprehensionRequired() )
  4912                             && !fileListTlv.GetComprehensionRequired() )
  4921                     TFLOGSTRING("TSY: SAT, Refresh mode: Sim init and \
  4928                     TFLOGSTRING("TSY: SAT, Refresh mode: Sim init and \
  4922                     file change notification");
  4929                     file change notification");
  4923                     TFLOGSTRING2("TSY: Number of files: %d",
  4930                     TFLOGSTRING2("TSY: Number of files: %d",
  4924                     refreshV2.iFileList.Length() );
  4931                     refreshV2.iFileList.Length() );
  4925 
  4932 
  4926                     OstTrace0( TRACE_NORMAL, DUP6_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived, Refresh mode: Sim init and file change notification" );
  4933                     OstTrace0( TRACE_NORMAL,  DUP6_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived, Refresh mode: Sim init and file change notification" );
  4927                     OstTrace1( TRACE_NORMAL, DUP7_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived, Number of files: %d", refreshV2.iFileList.Length() );
  4934                     OstTrace1( TRACE_NORMAL,  DUP7_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived, Number of files: %d", refreshV2.iFileList.Length() );
  4928 
  4935 
  4929                     refreshV2.iType = RSat::ESimInitFileChangeNotification;
  4936                     refreshV2.iType = RSat::ESimInitFileChangeNotification;
  4930                     break;
  4937                     break;
  4931                     }
  4938                     }
  4932                 case KSimInit:
  4939                 case KSimInit:
  4933                     {
  4940                     {
  4934                     TFLOGSTRING("TSY: SAT, Refresh mode: Sim init ");
  4941                     TFLOGSTRING("TSY: SAT, Refresh mode: Sim init ");
  4935                     OstTrace0( TRACE_NORMAL, DUP8_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived, Refresh mode: Sim init" );
  4942                     OstTrace0( TRACE_NORMAL,  DUP8_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived, Refresh mode: Sim init" );
  4936                     refreshV2.iType = RSat::ESimInit;
  4943                     refreshV2.iType = RSat::ESimInit;
  4937                     iInternalCache = KCacheEFSST + KCacheEFCBMID;
  4944                     iInternalCache = KCacheEFSST + KCacheEFCBMID;
  4938                     break;
  4945                     break;
  4939                     }
  4946                     }
  4940                 case KSimReset:
  4947                 case KSimReset:
  4941                     {
  4948                     {
  4942                     refreshV2.iType = RSat::ESimReset;
  4949                     refreshV2.iType = RSat::ESimReset;
  4943                     TFLOGSTRING("TSY: SAT, Refresh mode: Reset");
  4950                     TFLOGSTRING("TSY: SAT, Refresh mode: Reset");
  4944                     OstTrace0( TRACE_NORMAL, DUP9_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived, Refresh mode: Reset" );
  4951                     OstTrace0( TRACE_NORMAL,  DUP9_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived, Refresh mode: Reset" );
  4945                     iInternalCache = KCacheEFSST + KCacheEFCBMID;
  4952                     iInternalCache = KCacheEFSST + KCacheEFCBMID;
  4946                     break;
  4953                     break;
  4947                     }
  4954                     }
  4948                 case KUSIMApplicationReset:
  4955                 case KUSIMApplicationReset:
  4949                     {
  4956                     {
  4950                     TFLOGSTRING("TSY: SAT, Refresh mode: USIM Application Reset");
  4957                     TFLOGSTRING("TSY: SAT, Refresh mode: USIM Application Reset");
  4951                     OstTrace0( TRACE_NORMAL, DUP10_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived, Refresh mode: USIM Application Reset" );
  4958                     OstTrace0( TRACE_NORMAL,  DUP10_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived, Refresh mode: USIM Application Reset" );
  4952                     refreshV2.iType = RSat::EUsimApplicationReset;
  4959                     refreshV2.iType = RSat::EUsimApplicationReset;
  4953                     iInternalCache = KCacheEFSST + KCacheEFCBMID;
  4960                     iInternalCache = KCacheEFSST + KCacheEFCBMID;
  4954                     break;
  4961                     break;
  4955                     }
  4962                     }
  4956                 case K3GSessionReset:
  4963                 case K3GSessionReset:
  4957                     {
  4964                     {
  4958                     TFLOGSTRING("TSY: SAT, Refresh mode: 3G Session Reset");
  4965                     TFLOGSTRING("TSY: SAT, Refresh mode: 3G Session Reset");
  4959                     OstTrace0( TRACE_NORMAL, DUP11_CSATNOTIFYREFRESH_MESSAGERECEIVED, "CSatNotifyRefresh::MessageReceived, Refresh mode: 3G Session Reset" );
  4966                     OstTrace0( TRACE_NORMAL,  DUP11_CSATNOTIFYREFRESH_MESSAGERECEIVED_TD, "CSatNotifyRefresh::MessageReceived, Refresh mode: 3G Session Reset" );
  4960                     refreshV2.iType = RSat::E3GSessionReset;
  4967                     refreshV2.iType = RSat::E3GSessionReset;
  4961                     break;
  4968                     break;
  4962                     }
  4969                     }
  4963                 default:
  4970                 default:
  4964                     // This migth be an error case
  4971                     // This migth be an error case
  5000         (
  5007         (
  5001         const TTsyReqHandle aReqHandle, // Request handle
  5008         const TTsyReqHandle aReqHandle, // Request handle
  5002         TDes8*              aDataPtr    // Pointer to data
  5009         TDes8*              aDataPtr    // Pointer to data
  5003         )
  5010         )
  5004     {
  5011     {
  5005     OstTrace0( TRACE_NORMAL, CSATNOTIFYREFRESH_NOTIFY, "CSatNotifyRefresh::Notify" );
  5012     OstTrace0( TRACE_NORMAL,  CSATNOTIFYREFRESH_NOTIFY_TD, "CSatNotifyRefresh::Notify" );
  5006     TFLOGSTRING("TSY: CSatNotifyRefresh::Notify");
  5013     TFLOGSTRING("TSY: CSatNotifyRefresh::Notify");
  5007     iReqHandle = aReqHandle;
  5014     iReqHandle = aReqHandle;
  5008     iRefreshV2Pckg = static_cast< RSat::TRefreshV2Pckg* >( aDataPtr );
  5015     iRefreshV2Pckg = static_cast< RSat::TRefreshV2Pckg* >( aDataPtr );
  5009     if ( iReqHandleRefreshRequired )
  5016     if ( iReqHandleRefreshRequired )
  5010         {
  5017         {
  5024         (
  5031         (
  5025         const TTsyReqHandle aReqHandle,  // Request handle
  5032         const TTsyReqHandle aReqHandle,  // Request handle
  5026         TDes8*              aDataPtr     // Pointer to data
  5033         TDes8*              aDataPtr     // Pointer to data
  5027         )
  5034         )
  5028     {
  5035     {
  5029     OstTrace0( TRACE_NORMAL, CSATNOTIFYREFRESH_NOTIFYREFRESHREQUIRED, "CSatNotifyRefresh::NotifyRefreshRequired" );
  5036     OstTrace0( TRACE_NORMAL,  CSATNOTIFYREFRESH_NOTIFYREFRESHREQUIRED_TD, "CSatNotifyRefresh::NotifyRefreshRequired" );
  5030     TFLOGSTRING("TSY: CSatNotifyRefresh::NotifyRefreshRequired");
  5037     TFLOGSTRING("TSY: CSatNotifyRefresh::NotifyRefreshRequired");
  5031     iReqHandleRefreshRequired = aReqHandle;
  5038     iReqHandleRefreshRequired = aReqHandle;
  5032     iRefreshRequiredV2Pckg = static_cast< RSat::TRefreshV2Pckg* >( aDataPtr );
  5039     iRefreshRequiredV2Pckg = static_cast< RSat::TRefreshV2Pckg* >( aDataPtr );
  5033     if ( iReqHandle )
  5040     if ( iReqHandle )
  5034         {
  5041         {
  5046 TInt CSatNotifyRefresh::CancelRefreshRequiredNotification
  5053 TInt CSatNotifyRefresh::CancelRefreshRequiredNotification
  5047         (
  5054         (
  5048         const TTsyReqHandle aReqHandle  // Request handle
  5055         const TTsyReqHandle aReqHandle  // Request handle
  5049         )
  5056         )
  5050     {
  5057     {
  5051     OstTrace0( TRACE_NORMAL, CSATNOTIFYREFRESH_CANCELREFRESHREQUIREDNOTIFICATION, "CSatNotifyRefresh::CancelRefreshRequiredNotification" );
  5058     OstTrace0( TRACE_NORMAL,  CSATNOTIFYREFRESH_CANCELREFRESHREQUIREDNOTIFICATION_TD, "CSatNotifyRefresh::CancelRefreshRequiredNotification" );
  5052     TFLOGSTRING("TSY: CSatNotifyRefresh::CancelRefreshRequiredNotification");
  5059     TFLOGSTRING("TSY: CSatNotifyRefresh::CancelRefreshRequiredNotification");
  5053     // Check that the handle is valid
  5060     // Check that the handle is valid
  5054     if ( aReqHandle == iReqHandleRefreshRequired )
  5061     if ( aReqHandle == iReqHandleRefreshRequired )
  5055         {
  5062         {
  5056         iSatMessaging->ReqCompleted( aReqHandle, KErrCancel );
  5063         iSatMessaging->ReqCompleted( aReqHandle, KErrCancel );
  5074 TInt CSatNotifyRefresh::TerminalResponse
  5081 TInt CSatNotifyRefresh::TerminalResponse
  5075         (
  5082         (
  5076         TDes8* aRsp // Response
  5083         TDes8* aRsp // Response
  5077         )
  5084         )
  5078     {
  5085     {
  5079     OstTrace0( TRACE_NORMAL, CSATNOTIFYREFRESH_TERMINALRESPONSE, "CSatNotifyRefresh::TerminalResponse" );
  5086     OstTrace0( TRACE_NORMAL,  CSATNOTIFYREFRESH_TERMINALRESPONSE_TD, "CSatNotifyRefresh::TerminalResponse" );
  5080     TFLOGSTRING("TSY: CSatNotifyRefresh::TerminalResponse");
  5087     TFLOGSTRING("TSY: CSatNotifyRefresh::TerminalResponse");
  5081     RSat::TRefreshRspV1Pckg* aRspPckg =
  5088     RSat::TRefreshRspV1Pckg* aRspPckg =
  5082             reinterpret_cast< RSat::TRefreshRspV1Pckg* >( aRsp );
  5089             reinterpret_cast< RSat::TRefreshRspV1Pckg* >( aRsp );
  5083     RSat::TRefreshRspV1& rspV1 = ( *aRspPckg ) ();
  5090     RSat::TRefreshRspV1& rspV1 = ( *aRspPckg ) ();
  5084     TUint8 additionalInfo( 0x00 );
  5091     TUint8 additionalInfo( 0x00 );
  5090     // Empty TR is sent to Simson, if refresh type was Reset or IMSI was
  5097     // Empty TR is sent to Simson, if refresh type was Reset or IMSI was
  5091     // changed during the SIM Init refresh. Empty TR is not sent to SIM,
  5098     // changed during the SIM Init refresh. Empty TR is not sent to SIM,
  5092     if ( KSimReset == iCommandDetails[KCommandQualifier] )
  5099     if ( KSimReset == iCommandDetails[KCommandQualifier] )
  5093         {
  5100         {
  5094         TFLOGSTRING("TSY: CSatNotifyRefresh::TerminalResponse, Reset performed, send an empty TR");
  5101         TFLOGSTRING("TSY: CSatNotifyRefresh::TerminalResponse, Reset performed, send an empty TR");
  5095         OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYREFRESH_TERMINALRESPONSE, "CSatNotifyRefresh::TerminalResponse, Reset performed, send an empty TR" );
  5102         OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYREFRESH_TERMINALRESPONSE_TD, "CSatNotifyRefresh::TerminalResponse, Reset performed, send an empty TR" );
  5096         TBuf8<1> emptyDescriptor( KNullDesC8 );
  5103         TBuf8<1> emptyDescriptor( KNullDesC8 );
  5097         iSatMessHandler->UiccCatReqTerminalResponse(
  5104         iSatMessHandler->UiccCatReqTerminalResponse(
  5098             emptyDescriptor, emptyDescriptor, iTransId );
  5105             emptyDescriptor, emptyDescriptor, iTransId );
  5099         }
  5106         }
  5100     else
  5107     else
  5101         {
  5108         {
  5102         TFLOGSTRING("TSY: CSatNotifyRefresh::TerminalResponse, S60 has done the Refresh" );
  5109         TFLOGSTRING("TSY: CSatNotifyRefresh::TerminalResponse, S60 has done the Refresh" );
  5103         OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYREFRESH_TERMINALRESPONSE, "CSatNotifyRefresh::TerminalResponse, S60 has done the Refresh" );
  5110         OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYREFRESH_TERMINALRESPONSE_TD, "CSatNotifyRefresh::TerminalResponse, S60 has done the Refresh" );
  5104         // Send terminal response
  5111         // Send terminal response
  5105         iSatMessHandler->RefreshTerminalResp(
  5112         iSatMessHandler->RefreshTerminalResp(
  5106                         iTransId,                        // Transaction id
  5113                         iTransId,                        // Transaction id
  5107                         iCommandDetails,                 // Command number
  5114                         iCommandDetails,                 // Command number
  5108                         TUint8 ( rspV1.iGeneralResult ), // Result
  5115                         TUint8 ( rspV1.iGeneralResult ), // Result
  5122 TInt CSatNotifyRefresh::RefreshAllowed
  5129 TInt CSatNotifyRefresh::RefreshAllowed
  5123         (
  5130         (
  5124         TDesC8* aDataPtr
  5131         TDesC8* aDataPtr
  5125         )
  5132         )
  5126     {
  5133     {
  5127     OstTrace0( TRACE_NORMAL, CSATNOTIFYREFRESH_REFRESHALLOWED, "CSatNotifyRefresh::RefreshAllowed" );
  5134     OstTrace0( TRACE_NORMAL,  CSATNOTIFYREFRESH_REFRESHALLOWED_TD, "CSatNotifyRefresh::RefreshAllowed" );
  5128     TFLOGSTRING("TSY: CSatNotifyRefresh::RefreshAllowed ");
  5135     TFLOGSTRING("TSY: CSatNotifyRefresh::RefreshAllowed ");
  5129     RSat::TRefreshRspV1Pckg* aRspPckg =
  5136     RSat::TRefreshRspV1Pckg* aRspPckg =
  5130             reinterpret_cast< RSat::TRefreshRspV1Pckg* >( aDataPtr );
  5137             reinterpret_cast< RSat::TRefreshRspV1Pckg* >( aDataPtr );
  5131     RSat::TRefreshRspV1& rspV1 = ( *aRspPckg ) ();
  5138     RSat::TRefreshRspV1& rspV1 = ( *aRspPckg ) ();
  5132     if ( ( RSat::KSuccess == rspV1.iGeneralResult )
  5139     if ( ( RSat::KSuccess == rspV1.iGeneralResult )
  5142     else
  5149     else
  5143         {
  5150         {
  5144         // Refresh not allowed by the client
  5151         // Refresh not allowed by the client
  5145         TFLOGSTRING("TSY: CSatNotifyRefresh::RefreshAllowed, refresh was not \
  5152         TFLOGSTRING("TSY: CSatNotifyRefresh::RefreshAllowed, refresh was not \
  5146             allowed by the client");
  5153             allowed by the client");
  5147         OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYREFRESH_REFRESHALLOWED, "CSatNotifyRefresh::RefreshAllowed, refresh was not allowed by the client" );
  5154         OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYREFRESH_REFRESHALLOWED_TD, "CSatNotifyRefresh::RefreshAllowed, refresh was not allowed by the client" );
  5148         TUint8 additionalInfo( 0x00 );
  5155         TUint8 additionalInfo( 0x00 );
  5149         if ( RSat::KNoAdditionalInfo != rspV1.iInfoType )
  5156         if ( RSat::KNoAdditionalInfo != rspV1.iInfoType )
  5150             {
  5157             {
  5151             additionalInfo = TUint8( rspV1.iAdditionalInfo[0] );
  5158             additionalInfo = TUint8( rspV1.iAdditionalInfo[0] );
  5152             }
  5159             }
  5168 TUint8 CSatNotifyRefresh::Map3GppRefreshToUiccValues
  5175 TUint8 CSatNotifyRefresh::Map3GppRefreshToUiccValues
  5169         (
  5176         (
  5170         const TUint8 a3GppRefresh // 3GPP refresh level
  5177         const TUint8 a3GppRefresh // 3GPP refresh level
  5171         )
  5178         )
  5172     {
  5179     {
  5173     OstTrace0( TRACE_NORMAL, CSATNOTIFYREFRESH_MAP3GPPREFRESHTOUICCVALUES, "CSatNotifyRefresh::Map3GppRefreshToUiccValues" );
  5180     OstTrace0( TRACE_NORMAL,  CSATNOTIFYREFRESH_MAP3GPPREFRESHTOUICCVALUES_TD, "CSatNotifyRefresh::Map3GppRefreshToUiccValues" );
  5174     TFLOGSTRING("TSY: CSatNotifyRefresh::Map3GppRefreshToUiccValues ");
  5181     TFLOGSTRING("TSY: CSatNotifyRefresh::Map3GppRefreshToUiccValues ");
  5175 
  5182 
  5176     TUint8 serviceType( a3GppRefresh );
  5183     TUint8 serviceType( a3GppRefresh );
  5177     switch ( serviceType )
  5184     switch ( serviceType )
  5178         {
  5185         {
  5228 void CSatNotifyRefresh::CompleteRequest
  5235 void CSatNotifyRefresh::CompleteRequest
  5229         (
  5236         (
  5230         const TInt aError
  5237         const TInt aError
  5231         )
  5238         )
  5232     {
  5239     {
  5233     OstTraceExt2( TRACE_NORMAL, CSATNOTIFYREFRESH_COMPLETEREQUEST, "CSatNotifyRefresh::CompleteRequest Handle: %d, Error: %d", (TInt)iReqHandle, aError );
  5240     OstTraceExt2( TRACE_NORMAL,  CSATNOTIFYREFRESH_COMPLETEREQUEST_TD, "CSatNotifyRefresh::CompleteRequest Handle: %d, Error: %d", (TInt)iReqHandle, aError );
  5234     TFLOGSTRING3("CSatNotifyRefresh::CompleteRequest. \n\t\t\t Handle:%d\n\t\t\t Error:%d",
  5241     TFLOGSTRING3("CSatNotifyRefresh::CompleteRequest. \n\t\t\t Handle:%d\n\t\t\t Error:%d",
  5235                iReqHandle,
  5242                iReqHandle,
  5236                aError);
  5243                aError);
  5237     TTsyReqHandle tempReqHandle = iReqHandle;
  5244     TTsyReqHandle tempReqHandle = iReqHandle;
  5238     iReqHandle = NULL;
  5245     iReqHandle = NULL;
  5239     iSatMessaging->ReqCompleted( tempReqHandle, aError );
  5246     iSatMessaging->ReqCompleted( tempReqHandle, aError );
  5240     TFLOGSTRING("CSatNotifyRefresh::CompleteRequest. Request is now completed");
  5247     TFLOGSTRING("CSatNotifyRefresh::CompleteRequest. Request is now completed");
  5241     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYREFRESH_COMPLETEREQUEST, "CSatNotifyRefresh::CompleteRequest Request is now completed" );
  5248     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYREFRESH_COMPLETEREQUEST_TD, "CSatNotifyRefresh::CompleteRequest Request is now completed" );
  5242 
  5249 
  5243     }
  5250     }
  5244 
  5251 
  5245 // -----------------------------------------------------------------------------
  5252 // -----------------------------------------------------------------------------
  5246 // CSatNotifyRefresh::CachedFiles
  5253 // CSatNotifyRefresh::CachedFiles
  5248 // (other items were commented in a header).
  5255 // (other items were commented in a header).
  5249 // -----------------------------------------------------------------------------
  5256 // -----------------------------------------------------------------------------
  5250 //
  5257 //
  5251 TUint16 CSatNotifyRefresh::CachedFiles() const
  5258 TUint16 CSatNotifyRefresh::CachedFiles() const
  5252     {
  5259     {
  5253     OstTrace0( TRACE_NORMAL, CSATNOTIFYREFRESH_CACHEDFILES, "CSatNotifyRefresh::CachedFiles" );
  5260     OstTrace0( TRACE_NORMAL,  CSATNOTIFYREFRESH_CACHEDFILES_TD, "CSatNotifyRefresh::CachedFiles" );
  5254     return iInternalCache;
  5261     return iInternalCache;
  5255     }
  5262     }
  5256 
  5263 
  5257 // -----------------------------------------------------------------------------
  5264 // -----------------------------------------------------------------------------
  5258 // CSatNotifySimSessionEnd::CSatNotifySimSessionEnd
  5265 // CSatNotifySimSessionEnd::CSatNotifySimSessionEnd
  5266         CTsySatMessaging*   aSatMessaging    //Pointer to satmessaging class
  5273         CTsySatMessaging*   aSatMessaging    //Pointer to satmessaging class
  5267         )
  5274         )
  5268         :
  5275         :
  5269         CSatNotificationsBase( aSatMessHandler, aSatMessaging )
  5276         CSatNotificationsBase( aSatMessHandler, aSatMessaging )
  5270     {
  5277     {
  5271     OstTrace0( TRACE_NORMAL, CSATNOTIFYSIMSESSIONEND_CSATNOTIFYSIMSESSIONEND, "CSatNotifySimSessionEnd::CSatNotifySimSessionEnd" );
  5278     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSIMSESSIONEND_CSATNOTIFYSIMSESSIONEND_TD, "CSatNotifySimSessionEnd::CSatNotifySimSessionEnd" );
  5272     }
  5279     }
  5273 
  5280 
  5274 // -----------------------------------------------------------------------------
  5281 // -----------------------------------------------------------------------------
  5275 // CSatNotifySimSessionEnd::~CSatNotifySimSessionEnd
  5282 // CSatNotifySimSessionEnd::~CSatNotifySimSessionEnd
  5276 // Destructor
  5283 // Destructor
  5277 // -----------------------------------------------------------------------------
  5284 // -----------------------------------------------------------------------------
  5278 //
  5285 //
  5279 CSatNotifySimSessionEnd::~CSatNotifySimSessionEnd()
  5286 CSatNotifySimSessionEnd::~CSatNotifySimSessionEnd()
  5280     {
  5287     {
  5281     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSIMSESSIONEND_CSATNOTIFYSIMSESSIONEND, "CSatNotifySimSessionEnd::~CSatNotifySimSessionEnd" );
  5288     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSIMSESSIONEND_CSATNOTIFYSIMSESSIONEND_TD, "CSatNotifySimSessionEnd::~CSatNotifySimSessionEnd" );
  5282     // None
  5289     // None
  5283     }
  5290     }
  5284 
  5291 
  5285 
  5292 
  5286 // -----------------------------------------------------------------------------
  5293 // -----------------------------------------------------------------------------
  5293 void CSatNotifySimSessionEnd::MessageReceived
  5300 void CSatNotifySimSessionEnd::MessageReceived
  5294         (
  5301         (
  5295         const TIsiReceiveC& /*aIsiMessage*/ // ISI message
  5302         const TIsiReceiveC& /*aIsiMessage*/ // ISI message
  5296         )
  5303         )
  5297     {
  5304     {
  5298     OstTrace0( TRACE_NORMAL, CSATNOTIFYSIMSESSIONEND_MESSAGERECEIVED, "CSatNotifySimSessionEnd::MessageReceived" );
  5305     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSIMSESSIONEND_MESSAGERECEIVED_TD, "CSatNotifySimSessionEnd::MessageReceived" );
  5299     TFLOGSTRING("CSatNotifySimSessionEnd::MessageReceived");
  5306     TFLOGSTRING("CSatNotifySimSessionEnd::MessageReceived");
  5300     if ( iReqHandle ) // If request on
  5307     if ( iReqHandle ) // If request on
  5301         {
  5308         {
  5302         CompleteRequest( KErrNone );
  5309         CompleteRequest( KErrNone );
  5303         }
  5310         }
  5314         (
  5321         (
  5315         const TTsyReqHandle aReqHandle,     // Request handle
  5322         const TTsyReqHandle aReqHandle,     // Request handle
  5316         TDes8*           /* aDataPtr */     // Pointer to data
  5323         TDes8*           /* aDataPtr */     // Pointer to data
  5317         )
  5324         )
  5318     {
  5325     {
  5319     OstTrace0( TRACE_NORMAL, CSATNOTIFYSIMSESSIONEND_NOTIFY, "CSatNotifySimSessionEnd::Notify" );
  5326     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSIMSESSIONEND_NOTIFY_TD, "CSatNotifySimSessionEnd::Notify" );
  5320     TFLOGSTRING("CSatNotifySimSessionEnd::Notify");
  5327     TFLOGSTRING("CSatNotifySimSessionEnd::Notify");
  5321     iReqHandle = aReqHandle;
  5328     iReqHandle = aReqHandle;
  5322     }
  5329     }
  5323 
  5330 
  5324 
  5331 
  5335         )
  5342         )
  5336         :
  5343         :
  5337         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  5344         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  5338         iSetUpIdleModeTextV1Pckg( NULL )
  5345         iSetUpIdleModeTextV1Pckg( NULL )
  5339     {
  5346     {
  5340     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPIDLEMODETEXT_CSATNOTIFYSETUPIDLEMODETEXT, "CSatNotifySetUpIdleModeText::CSatNotifySetUpIdleModeText" );
  5347     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPIDLEMODETEXT_CSATNOTIFYSETUPIDLEMODETEXT_TD, "CSatNotifySetUpIdleModeText::CSatNotifySetUpIdleModeText" );
  5341     // Following results are also allowed for this command:
  5348     // Following results are also allowed for this command:
  5342     // (in addition to result declared in base class constructor)
  5349     // (in addition to result declared in base class constructor)
  5343     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  5350     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  5344         + RSat::KErrorRequiredValuesMissing;
  5351         + RSat::KErrorRequiredValuesMissing;
  5345     }
  5352     }
  5349 // Destructor
  5356 // Destructor
  5350 // -----------------------------------------------------------------------------
  5357 // -----------------------------------------------------------------------------
  5351 //
  5358 //
  5352 CSatNotifySetUpIdleModeText::~CSatNotifySetUpIdleModeText()
  5359 CSatNotifySetUpIdleModeText::~CSatNotifySetUpIdleModeText()
  5353     {
  5360     {
  5354     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSETUPIDLEMODETEXT_CSATNOTIFYSETUPIDLEMODETEXT, "CSatNotifySetUpIdleModeText::~CSatNotifySetUpIdleModeText" );
  5361     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSETUPIDLEMODETEXT_CSATNOTIFYSETUPIDLEMODETEXT_TD, "CSatNotifySetUpIdleModeText::~CSatNotifySetUpIdleModeText" );
  5355     // None
  5362     // None
  5356     }
  5363     }
  5357 
  5364 
  5358 // -----------------------------------------------------------------------------
  5365 // -----------------------------------------------------------------------------
  5359 // CSatNotifySetUpIdleModeText::MessageReceived
  5366 // CSatNotifySetUpIdleModeText::MessageReceived
  5365 void CSatNotifySetUpIdleModeText::MessageReceived
  5372 void CSatNotifySetUpIdleModeText::MessageReceived
  5366         (
  5373         (
  5367         const TIsiReceiveC& aIsiMessage // ISI message
  5374         const TIsiReceiveC& aIsiMessage // ISI message
  5368         )
  5375         )
  5369     {
  5376     {
  5370     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPIDLEMODETEXT_MESSAGERECEIVED, "CSatNotifySetUpIdleModeText::MessageReceived" );
  5377     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPIDLEMODETEXT_MESSAGERECEIVED_TD, "CSatNotifySetUpIdleModeText::MessageReceived" );
  5371     TFLOGSTRING("CSatNotifySetUpIdleModeText::MessageReceived");
  5378     TFLOGSTRING("CSatNotifySetUpIdleModeText::MessageReceived");
  5372     TInt ret( KErrNone );
  5379     TInt ret( KErrNone );
  5373     TInt returnValue( KErrNone );
  5380     TInt returnValue( KErrNone );
  5374      //get ber tlv
  5381      //get ber tlv
  5375     CBerTlv berTlv;
  5382     CBerTlv berTlv;
  5420             }
  5427             }
  5421         else
  5428         else
  5422             {
  5429             {
  5423             TFLOGSTRING("CSatNotifySetUpIdleModeText::MessageReceived \
  5430             TFLOGSTRING("CSatNotifySetUpIdleModeText::MessageReceived \
  5424             No TLV text string found");
  5431             No TLV text string found");
  5425             OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSETUPIDLEMODETEXT_MESSAGERECEIVED, "CSatNotifySetUpIdleModeText::MessageReceived No TLV text string found" );
  5432             OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSETUPIDLEMODETEXT_MESSAGERECEIVED_TD, "CSatNotifySetUpIdleModeText::MessageReceived No TLV text string found" );
  5426             iSatMessHandler->SetUpIdleModeTextTerminalResp(
  5433             iSatMessHandler->SetUpIdleModeTextTerminalResp(
  5427                 iTransId,
  5434                 iTransId,
  5428                 iCommandDetails,
  5435                 iCommandDetails,
  5429                 RSat::KCmdDataNotUnderstood,
  5436                 RSat::KCmdDataNotUnderstood,
  5430                 KNoCause );
  5437                 KNoCause );
  5448         (
  5455         (
  5449         const TTsyReqHandle aReqHandle, // Request handle
  5456         const TTsyReqHandle aReqHandle, // Request handle
  5450         TDes8*              aDataPtr    // Pointer to data
  5457         TDes8*              aDataPtr    // Pointer to data
  5451         )
  5458         )
  5452     {
  5459     {
  5453     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPIDLEMODETEXT_NOTIFY, "CSatNotifySetUpIdleModeText::Notify" );
  5460     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPIDLEMODETEXT_NOTIFY_TD, "CSatNotifySetUpIdleModeText::Notify" );
  5454     TFLOGSTRING("CSatNotifySetUpIdleModeText::Notify");
  5461     TFLOGSTRING("CSatNotifySetUpIdleModeText::Notify");
  5455     iReqHandle = aReqHandle;
  5462     iReqHandle = aReqHandle;
  5456     iSetUpIdleModeTextV1Pckg =
  5463     iSetUpIdleModeTextV1Pckg =
  5457      static_cast< RSat::TSetUpIdleModeTextV1Pckg* >( aDataPtr );
  5464      static_cast< RSat::TSetUpIdleModeTextV1Pckg* >( aDataPtr );
  5458     iSatMessaging->SatReady( KSetUpIdleModeText );
  5465     iSatMessaging->SatReady( KSetUpIdleModeText );
  5468 TInt CSatNotifySetUpIdleModeText::TerminalResponse
  5475 TInt CSatNotifySetUpIdleModeText::TerminalResponse
  5469         (
  5476         (
  5470         TDes8* aRsp // Response
  5477         TDes8* aRsp // Response
  5471         )
  5478         )
  5472     {
  5479     {
  5473     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPIDLEMODETEXT_TERMINALRESPONSE, "CSatNotifySetUpIdleModeText::TerminalResponse" );
  5480     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPIDLEMODETEXT_TERMINALRESPONSE_TD, "CSatNotifySetUpIdleModeText::TerminalResponse" );
  5474     TFLOGSTRING("CSatNotifySetUpIdleModeText::TerminalResponse");
  5481     TFLOGSTRING("CSatNotifySetUpIdleModeText::TerminalResponse");
  5475     TInt   ret( KErrNone );
  5482     TInt   ret( KErrNone );
  5476     TUint8 additionalInfo( 0 );
  5483     TUint8 additionalInfo( 0 );
  5477     RSat::TSetUpIdleModeTextRspV1Pckg* aRspPckg =
  5484     RSat::TSetUpIdleModeTextRspV1Pckg* aRspPckg =
  5478             reinterpret_cast< RSat::TSetUpIdleModeTextRspV1Pckg* >( aRsp );
  5485             reinterpret_cast< RSat::TSetUpIdleModeTextRspV1Pckg* >( aRsp );
  5519         )
  5526         )
  5520         :
  5527         :
  5521         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  5528         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  5522         iCallControlPckg( NULL )
  5529         iCallControlPckg( NULL )
  5523     {
  5530     {
  5524     OstTrace0( TRACE_NORMAL, CSATNOTIFYCALLCONTROLREQUEST_CSATNOTIFYCALLCONTROLREQUEST, "CSatNotifyCallControlRequest::CSatNotifyCallControlRequest" );
  5531     OstTrace0( TRACE_NORMAL,  CSATNOTIFYCALLCONTROLREQUEST_CSATNOTIFYCALLCONTROLREQUEST_TD, "CSatNotifyCallControlRequest::CSatNotifyCallControlRequest" );
  5525     }
  5532     }
  5526 
  5533 
  5527 // -----------------------------------------------------------------------------
  5534 // -----------------------------------------------------------------------------
  5528 // CSatNotifyCallControlRequest::~CSatNotifyCallControlRequest
  5535 // CSatNotifyCallControlRequest::~CSatNotifyCallControlRequest
  5529 // Destructor
  5536 // Destructor
  5530 // -----------------------------------------------------------------------------
  5537 // -----------------------------------------------------------------------------
  5531 //
  5538 //
  5532 CSatNotifyCallControlRequest::~CSatNotifyCallControlRequest()
  5539 CSatNotifyCallControlRequest::~CSatNotifyCallControlRequest()
  5533     {
  5540     {
  5534     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYCALLCONTROLREQUEST_CSATNOTIFYCALLCONTROLREQUEST, "CSatNotifyCallControlRequest::~CSatNotifyCallControlRequest" );
  5541     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYCALLCONTROLREQUEST_CSATNOTIFYCALLCONTROLREQUEST_TD, "CSatNotifyCallControlRequest::~CSatNotifyCallControlRequest" );
  5535     // None
  5542     // None
  5536     }
  5543     }
  5537 
  5544 
  5538 // -----------------------------------------------------------------------------
  5545 // -----------------------------------------------------------------------------
  5539 // CSatNotifyCallControlRequest::MessageReceived
  5546 // CSatNotifyCallControlRequest::MessageReceived
  5545 void CSatNotifyCallControlRequest::MessageReceived
  5552 void CSatNotifyCallControlRequest::MessageReceived
  5546         (
  5553         (
  5547         const TIsiReceiveC& /*aIsiMessage*/ // ISI  message
  5554         const TIsiReceiveC& /*aIsiMessage*/ // ISI  message
  5548         )
  5555         )
  5549     {
  5556     {
  5550     OstTrace0( TRACE_NORMAL, CSATNOTIFYCALLCONTROLREQUEST_MESSAGERECEIVED, "CSatNotifyCallControlRequest::MessageReceived" );
  5557     OstTrace0( TRACE_NORMAL,  CSATNOTIFYCALLCONTROLREQUEST_MESSAGERECEIVED_TD, "CSatNotifyCallControlRequest::MessageReceived" );
  5551     // In S60 phones, the call control request is received via an ISI
  5558     // In S60 phones, the call control request is received via an ISI
  5552     // message coming from the ATK Guardian / Call server. That's why the body
  5559     // message coming from the ATK Guardian / Call server. That's why the body
  5553     // of this method is empty, see the class CSatCC. The Etel Sat API is used
  5560     // of this method is empty, see the class CSatCC. The Etel Sat API is used
  5554     // to pass to S60 Sat Server the alpha identifier provided by the SIM,
  5561     // to pass to S60 Sat Server the alpha identifier provided by the SIM,
  5555     // if any. The SIM can provide such an alpha id to tell the user that the
  5562     // if any. The SIM can provide such an alpha id to tell the user that the
  5567         (
  5574         (
  5568         TDesC& aAlphaId,
  5575         TDesC& aAlphaId,
  5569         RSat::TControlResult aResult
  5576         RSat::TControlResult aResult
  5570         )
  5577         )
  5571     {
  5578     {
  5572     OstTrace0( TRACE_NORMAL, CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATION, "CSatNotifyCallControlRequest::CompleteNotification" );
  5579     OstTrace0( TRACE_NORMAL,  CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATION_TD, "CSatNotifyCallControlRequest::CompleteNotification" );
  5573     TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotification");
  5580     TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotification");
  5574     //check that someone has requested this notifications
  5581     //check that someone has requested this notifications
  5575     if ( iReqHandle )
  5582     if ( iReqHandle )
  5576         {
  5583         {
  5577         // Temporary storage for Alpha Id
  5584         // Temporary storage for Alpha Id
  5610         (
  5617         (
  5611         const TDesC& aAlphaId,
  5618         const TDesC& aAlphaId,
  5612         const RSat::TControlResult aResult
  5619         const RSat::TControlResult aResult
  5613         )
  5620         )
  5614     {
  5621     {
  5615     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATION, "CSatNotifyCallControlRequest::CompleteNotification" );
  5622     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATION_TD, "CSatNotifyCallControlRequest::CompleteNotification" );
  5616     TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotification");
  5623     TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotification");
  5617     // Check that someone has requested this notifications
  5624     // Check that someone has requested this notifications
  5618     if ( iReqHandle )
  5625     if ( iReqHandle )
  5619         {
  5626         {
  5620         // Create the call control structure
  5627         // Create the call control structure
  5668         (
  5675         (
  5669         const TUint8 aCcResult,
  5676         const TUint8 aCcResult,
  5670         TPtrC8 aEnvelopeResponse
  5677         TPtrC8 aEnvelopeResponse
  5671         )
  5678         )
  5672     {
  5679     {
  5673     OstTrace0( TRACE_NORMAL, CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL" );
  5680     OstTrace0( TRACE_NORMAL,  CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL" );
  5674     TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL");
  5681     TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL");
  5675 #if ( NCP_COMMON_S60_VERSION_SUPPORT >= S60_VERSION_50 )
  5682 #if ( NCP_COMMON_S60_VERSION_SUPPORT >= S60_VERSION_50 )
  5676     // Check that someone has requested this notifications
  5683     // Check that someone has requested this notifications
  5677     if ( iReqHandle )
  5684     if ( iReqHandle )
  5678         {
  5685         {
  5718                 }
  5725                 }
  5719             default:
  5726             default:
  5720                 {
  5727                 {
  5721                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL\
  5728                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL\
  5722                     Not a valid call control result");
  5729                     Not a valid call control result");
  5723                 OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL Not a valid call control result" );
  5730                 OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL Not a valid call control result" );
  5724                 break;
  5731                 break;
  5725                 }
  5732                 }
  5726             }
  5733             }
  5727         TInt ret( KErrNotFound );
  5734         TInt ret( KErrNotFound );
  5728         // Initialize ton and npi
  5735         // Initialize ton and npi
  5737 
  5744 
  5738         if ( KErrNone == response.TlvByTagValue( &ssString, KTlvSsStringTag ) )
  5745         if ( KErrNone == response.TlvByTagValue( &ssString, KTlvSsStringTag ) )
  5739             {
  5746             {
  5740             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5747             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5741                 Modified to SS");
  5748                 Modified to SS");
  5742             OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL Modified to SS" );
  5749             OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL Modified to SS" );
  5743             // This SS related
  5750             // This SS related
  5744             RSat::TSsString tempSs;
  5751             RSat::TSsString tempSs;
  5745             // Call utility function that maps received TON and NPI
  5752             // Call utility function that maps received TON and NPI
  5746             // to RSat values
  5753             // to RSat values
  5747             TSatUtility::GetTonAndNpi(
  5754             TSatUtility::GetTonAndNpi(
  5762                     tempString );
  5769                     tempString );
  5763 
  5770 
  5764                 tempSs.iSsString.Append( tempString );
  5771                 tempSs.iSsString.Append( tempString );
  5765                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5772                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5766                     SetSendSsDetails");
  5773                     SetSendSsDetails");
  5767                 OstTrace0( TRACE_NORMAL, DUP3_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL SetSendSsDetails" );
  5774                 OstTrace0( TRACE_NORMAL,  DUP3_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL SetSendSsDetails" );
  5768                 // Set SS string to struct
  5775                 // Set SS string to struct
  5769                 callControl.SetSendSsDetails( tempSs );
  5776                 callControl.SetSendSsDetails( tempSs );
  5770                 if ( ATK_CHANGED == aCcResult )
  5777                 if ( KChanged == aCcResult )
  5771                     {
  5778                     {
  5772                     // Notify NokiaTSY that next SS request is SAT originated, because this is changed action made by SAT server
  5779                     // Notify NokiaTSY that next SS request is SAT originated, because this is changed action made by SAT server
  5773                     TFLOGSTRING("TSY: Inform NokiaTSY SS request being Call Control originated, no further call control actions needed");
  5780                     TFLOGSTRING("TSY: Inform NokiaTSY SS request being Call Control originated, no further call control actions needed");
  5774                     OstTrace0( TRACE_NORMAL, DUP4_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "Inform NokiaTSY SS request being Call Control originated, no further call control actions needed" );
  5781                     OstTrace0( TRACE_NORMAL,  DUP4_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "Inform NokiaTSY SS request being Call Control originated, no further call control actions needed" );
  5775 
  5782 
  5776                     TBool resourceControlSuppress( ETrue );
  5783                     TBool resourceControlSuppress( ETrue );
  5777                     CMmDataPackage dataPackage;
  5784                     CMmDataPackage dataPackage;
  5778                     dataPackage.PackData( &resourceControlSuppress );
  5785                     dataPackage.PackData( &resourceControlSuppress );
  5779 
  5786 
  5791         else if ( KErrNone ==
  5798         else if ( KErrNone ==
  5792                     response.TlvByTagValue( &ussdTlv, KTlvUssdStringTag ) )
  5799                     response.TlvByTagValue( &ussdTlv, KTlvUssdStringTag ) )
  5793             {
  5800             {
  5794             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5801             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5795                 Modified to USSD");
  5802                 Modified to USSD");
  5796             OstTrace0( TRACE_NORMAL, DUP5_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL Modified to USSD" );
  5803             OstTrace0( TRACE_NORMAL,  DUP5_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL Modified to USSD" );
  5797             // This is USSD related
  5804             // This is USSD related
  5798             RSat::TUssdString tempUssd;
  5805             RSat::TUssdString tempUssd;
  5799             // Get the data coding scheme from the ISI msg
  5806             // Get the data coding scheme from the ISI msg
  5800             // and set the corresponding ETel Sat data field.
  5807             // and set the corresponding ETel Sat data field.
  5801             tempUssd.iDcs = ussdTlv.GetShortInfo( ETLV_DataCodingScheme );
  5808             tempUssd.iDcs = ussdTlv.GetShortInfo( ETLV_DataCodingScheme );
  5806                 // Client wants USSD data as received from SIM
  5813                 // Client wants USSD data as received from SIM
  5807                 tempUssd.iUssdString.Copy(
  5814                 tempUssd.iUssdString.Copy(
  5808                     ussdTlv.GetData( ETLV_UssdString ) );
  5815                     ussdTlv.GetData( ETLV_UssdString ) );
  5809                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5816                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5810                     SetSendUssdDetails");
  5817                     SetSendUssdDetails");
  5811                 OstTrace0( TRACE_NORMAL, DUP6_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL SetSendUssdDetails" );
  5818                 OstTrace0( TRACE_NORMAL,  DUP6_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL SetSendUssdDetails" );
  5812                 callControl.SetSendUssdDetails( tempUssd );
  5819                 callControl.SetSendUssdDetails( tempUssd );
  5813                 }
  5820                 }
  5814             else
  5821             else
  5815                 {
  5822                 {
  5816                 // USSD string is too long
  5823                 // USSD string is too long
  5819             }
  5826             }
  5820         else
  5827         else
  5821             {
  5828             {
  5822             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5829             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5823                 Modified to Call");
  5830                 Modified to Call");
  5824             OstTrace0( TRACE_NORMAL, DUP7_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL Modified to Call" );
  5831             OstTrace0( TRACE_NORMAL,  DUP7_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL Modified to Call" );
  5825             // This must be call related response
  5832             // This must be call related response
  5826             CTlv addressTlv;
  5833             CTlv addressTlv;
  5827 
  5834 
  5828             RSat::TCallSetUpParams tempCallParams;
  5835             RSat::TCallSetUpParams tempCallParams;
  5829 
  5836 
  5830             ret = response.TlvByTagValue( &addressTlv, KTlvAddressTag );
  5837             ret = response.TlvByTagValue( &addressTlv, KTlvAddressTag );
  5831             if ( KErrNone == ret && addressTlv.GetLength() )
  5838             if ( KErrNone == ret && addressTlv.GetLength() )
  5832                 {
  5839                 {
  5833                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5840                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5834                     Address found");
  5841                     Address found");
  5835                 OstTrace0( TRACE_NORMAL, DUP8_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL Address found" );
  5842                 OstTrace0( TRACE_NORMAL,  DUP8_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL Address found" );
  5836 
  5843 
  5837                 // Call utility function that maps received TON and NPI to
  5844                 // Call utility function that maps received TON and NPI to
  5838                 // RSat values
  5845                 // RSat values
  5839                 TSatUtility::GetTonAndNpi(
  5846                 TSatUtility::GetTonAndNpi(
  5840                     addressTlv.GetShortInfo( ETLV_TonAndNpi ), &ton, &npi );
  5847                     addressTlv.GetShortInfo( ETLV_TonAndNpi ), &ton, &npi );
  5880 
  5887 
  5881             if ( KErrNone == ret )
  5888             if ( KErrNone == ret )
  5882                 {
  5889                 {
  5883                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5890                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5884                     bcc1 found");
  5891                     bcc1 found");
  5885                 OstTrace0( TRACE_NORMAL, DUP9_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL bcc1 found" );
  5892                 OstTrace0( TRACE_NORMAL,  DUP9_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL bcc1 found" );
  5886                 // BC length is the first byte in BC data
  5893                 // BC length is the first byte in BC data
  5887                 tempCallParams.iCcp1.Copy(
  5894                 tempCallParams.iCcp1.Copy(
  5888                     bcc1.GetData( ETLV_CapabilityConfigurationParameters ) );
  5895                     bcc1.GetData( ETLV_CapabilityConfigurationParameters ) );
  5889                 }
  5896                 }
  5890 
  5897 
  5893             ret = response.TlvByTagValue( &subAddress, KTlvSubaddressTag );
  5900             ret = response.TlvByTagValue( &subAddress, KTlvSubaddressTag );
  5894             if ( KErrNone == ret )
  5901             if ( KErrNone == ret )
  5895                 {
  5902                 {
  5896                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5903                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5897                     subaddress found");
  5904                     subaddress found");
  5898                 OstTrace0( TRACE_NORMAL, DUP10_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL subaddress found" );
  5905                 OstTrace0( TRACE_NORMAL,  DUP10_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL subaddress found" );
  5899                 tempCallParams.iSubAddress.Copy(
  5906                 tempCallParams.iSubAddress.Copy(
  5900                     subAddress.GetData( ETLV_SubAddress ) );
  5907                     subAddress.GetData( ETLV_SubAddress ) );
  5901                 }
  5908                 }
  5902             // Capability configuration parameters 2
  5909             // Capability configuration parameters 2
  5903             // --> BC repeat indicator is mandatory, only if BCC2 present
  5910             // --> BC repeat indicator is mandatory, only if BCC2 present
  5909 
  5916 
  5910             if ( KErrNone == ret )
  5917             if ( KErrNone == ret )
  5911                 {
  5918                 {
  5912                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5919                 TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5913                     bcc2 found");
  5920                     bcc2 found");
  5914                 OstTrace0( TRACE_NORMAL, DUP11_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL bcc2 found" );
  5921                 OstTrace0( TRACE_NORMAL,  DUP11_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL bcc2 found" );
  5915                 CTlv bcRepeat;
  5922                 CTlv bcRepeat;
  5916                 ret = response.TlvByTagValue(
  5923                 ret = response.TlvByTagValue(
  5917                     &bcRepeat,
  5924                     &bcRepeat,
  5918                     KTlvBcRepeatIndicatorTag );
  5925                     KTlvBcRepeatIndicatorTag );
  5919 
  5926 
  5920                 if ( KErrNone == ret )
  5927                 if ( KErrNone == ret )
  5921                     {
  5928                     {
  5922                     // If bcc2 present, BC repeat indicator is mandatory
  5929                     // If bcc2 present, BC repeat indicator is mandatory
  5923                     if ( ATK_CIRCULAR_REPEAT_INDICATOR ==
  5930                     if ( KECircularRepeatIndicator ==
  5924                         bcRepeat.GetShortInfo( ETLV_BcRepeatIndicatorValues ) )
  5931                         bcRepeat.GetShortInfo( ETLV_BcRepeatIndicatorValues ) )
  5925                         {
  5932                         {
  5926                         callControl.SetBCRepeatIndicator(
  5933                         callControl.SetBCRepeatIndicator(
  5927                             RSat::EBCAlternateMode );
  5934                             RSat::EBCAlternateMode );
  5928                         }
  5935                         }
  5929                     else if ( ATK_SEQUENTIAL_REPEAT_INDICATOR ==
  5936                     else if ( KESequentalRepeatIndicator ==
  5930                         bcRepeat.GetShortInfo( ETLV_BcRepeatIndicatorValues ) )
  5937                         bcRepeat.GetShortInfo( ETLV_BcRepeatIndicatorValues ) )
  5931                         {
  5938                         {
  5932                         callControl.SetBCRepeatIndicator(
  5939                         callControl.SetBCRepeatIndicator(
  5933                             RSat::EBCFallbackMode );
  5940                             RSat::EBCFallbackMode );
  5934                         }
  5941                         }
  5947                     }
  5954                     }
  5948                 }
  5955                 }
  5949             // set call parameters
  5956             // set call parameters
  5950             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5957             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5951                 SetCallSetUpDetails");
  5958                 SetCallSetUpDetails");
  5952             OstTrace0( TRACE_NORMAL, DUP12_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL SetCallSetUpDetails" );
  5959             OstTrace0( TRACE_NORMAL,  DUP12_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL SetCallSetUpDetails" );
  5953             callControl.SetCallSetUpDetails( tempCallParams );
  5960             callControl.SetCallSetUpDetails( tempCallParams );
  5954             if ( ATK_CHANGED == aCcResult )
  5961             if ( KChanged == aCcResult )
  5955                 {
  5962                 {
  5956                 // Notify NokiaTSY that next dial request is SAT originated, because this is changed action made by SAT server
  5963                 // Notify NokiaTSY that next dial request is SAT originated, because this is changed action made by SAT server
  5957                 TFLOGSTRING("TSY: CSatNotifyCallControlRequest::CompleteNotificationL: Notify NTSY next dial request is SAT-originated");
  5964                 TFLOGSTRING("TSY: CSatNotifyCallControlRequest::CompleteNotificationL: Notify NTSY next dial request is SAT-originated");
  5958                 OstTrace0( TRACE_NORMAL, DUP16_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL: Notify NTSY next dial request is SAT-originated" );
  5965                 OstTrace0( TRACE_NORMAL,  DUP16_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL: Notify NTSY next dial request is SAT-originated" );
  5959                 TBool resourceControlSuppress( ETrue );
  5966                 TBool resourceControlSuppress( ETrue );
  5960                 CMmDataPackage dataPackage;
  5967                 CMmDataPackage dataPackage;
  5961                 dataPackage.PackData( &resourceControlSuppress );
  5968                 dataPackage.PackData( &resourceControlSuppress );
  5962                 iSatMessaging->GetMessageRouter()->ExtFuncL(
  5969                 iSatMessaging->GetMessageRouter()->ExtFuncL(
  5963                     ESatNotifySetUpCallPCmd,
  5970                     ESatNotifySetUpCallPCmd,
  5977         // if alpha id string exist
  5984         // if alpha id string exist
  5978         if ( KErrNone == ret )
  5985         if ( KErrNone == ret )
  5979             {
  5986             {
  5980             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5987             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  5981                 Alpha id found");
  5988                 Alpha id found");
  5982             OstTrace0( TRACE_NORMAL, DUP13_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL Alpha id found" );
  5989             OstTrace0( TRACE_NORMAL,  DUP13_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL Alpha id found" );
  5983             if ( alphaIdentifier.GetLength() )
  5990             if ( alphaIdentifier.GetLength() )
  5984                 {
  5991                 {
  5985                 // 8-bit string to 16-bit string
  5992                 // 8-bit string to 16-bit string
  5986                 sourceString.Set(
  5993                 sourceString.Set(
  5987                     alphaIdentifier.GetData( ETLV_AlphaIdentifier ) );
  5994                     alphaIdentifier.GetData( ETLV_AlphaIdentifier ) );
  6002         // Alpha id not present
  6009         // Alpha id not present
  6003         else
  6010         else
  6004             {
  6011             {
  6005             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  6012             TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  6006                 Alpha ID not present");
  6013                 Alpha ID not present");
  6007             OstTrace0( TRACE_NORMAL, DUP14_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL Alpha ID not present" );
  6014             OstTrace0( TRACE_NORMAL,  DUP14_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL Alpha ID not present" );
  6008             tempAlphaId.iStatus = RSat::EAlphaIdNotPresent;
  6015             tempAlphaId.iStatus = RSat::EAlphaIdNotPresent;
  6009             tempValidity = RSat::ENoAlphaId;
  6016             tempValidity = RSat::ENoAlphaId;
  6010             }
  6017             }
  6011         // Set alpha id values
  6018         // Set alpha id values
  6012         TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  6019         TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  6013             SetAlphaId");
  6020             SetAlphaId");
  6014         OstTrace0( TRACE_NORMAL, DUP15_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL, "CSatNotifyCallControlRequest::CompleteNotificationL SetAlphaId" );
  6021         OstTrace0( TRACE_NORMAL,  DUP15_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATIONL_TD, "CSatNotifyCallControlRequest::CompleteNotificationL SetAlphaId" );
  6015         callControl.SetAlphaId( tempValidity, tempAlphaId );
  6022         callControl.SetAlphaId( tempValidity, tempAlphaId );
  6016         TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  6023         TFLOGSTRING("CSatNotifyCallControlRequest::CompleteNotificationL \
  6017             SetCallParamOrigin");
  6024             SetCallParamOrigin");
  6018         OstTrace0( TRACE_NORMAL, DUP18_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATION, "CSatNotifyCallControlRequest::CompleteNotification SetCallParamOrigin" );
  6025         OstTrace0( TRACE_NORMAL,  DUP18_CSATNOTIFYCALLCONTROLREQUEST_COMPLETENOTIFICATION_TD, "CSatNotifyCallControlRequest::CompleteNotification SetCallParamOrigin" );
  6019 
  6026 
  6020         CompleteRequest( KErrNone );
  6027         CompleteRequest( KErrNone );
  6021         }
  6028         }
  6022 #endif
  6029 #endif
  6023     }
  6030     }
  6033         (
  6040         (
  6034         const TTsyReqHandle aReqHandle,
  6041         const TTsyReqHandle aReqHandle,
  6035         TDes8* aDataPtr
  6042         TDes8* aDataPtr
  6036         )
  6043         )
  6037     {
  6044     {
  6038     OstTrace0( TRACE_NORMAL, CSATNOTIFYCALLCONTROLREQUEST_NOTIFY, "CSatNotifyCallControlRequest::Notify" );
  6045     OstTrace0( TRACE_NORMAL,  CSATNOTIFYCALLCONTROLREQUEST_NOTIFY_TD, "CSatNotifyCallControlRequest::Notify" );
  6039     TFLOGSTRING("CSatNotifyCallControlRequest::Notify");
  6046     TFLOGSTRING("CSatNotifyCallControlRequest::Notify");
  6040     iReqHandle = aReqHandle;
  6047     iReqHandle = aReqHandle;
  6041 
  6048 
  6042     iCallControlPckg = static_cast<RSat::TCallControlV5Pckg*>( aDataPtr );
  6049     iCallControlPckg = static_cast<RSat::TCallControlV5Pckg*>( aDataPtr );
  6043     }
  6050     }
  6056         )
  6063         )
  6057         :
  6064         :
  6058         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  6065         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  6059         iLaunchBrowserV2Pckg( NULL )
  6066         iLaunchBrowserV2Pckg( NULL )
  6060     {
  6067     {
  6061     OstTrace0( TRACE_NORMAL, CSATNOTIFYLAUNCHBROWSER_CSATNOTIFYLAUNCHBROWSER, "CSatNotifyLaunchBrowser::CSatNotifyLaunchBrowser" );
  6068     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLAUNCHBROWSER_CSATNOTIFYLAUNCHBROWSER_TD, "CSatNotifyLaunchBrowser::CSatNotifyLaunchBrowser" );
  6062     // Following results are also allowed for this command:
  6069     // Following results are also allowed for this command:
  6063     // (in addition to result declared in base class constructor)
  6070     // (in addition to result declared in base class constructor)
  6064     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  6071     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  6065         + RSat::KNetworkUnableToProcessCmd + RSat::KPCmdNotAcceptedByUser
  6072         + RSat::KNetworkUnableToProcessCmd + RSat::KPCmdNotAcceptedByUser
  6066         + RSat::KLaunchBrowserError;
  6073         + RSat::KLaunchBrowserError;
  6071 // Destructor
  6078 // Destructor
  6072 // -----------------------------------------------------------------------------
  6079 // -----------------------------------------------------------------------------
  6073 //
  6080 //
  6074 CSatNotifyLaunchBrowser::~CSatNotifyLaunchBrowser()
  6081 CSatNotifyLaunchBrowser::~CSatNotifyLaunchBrowser()
  6075     {
  6082     {
  6076     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYLAUNCHBROWSER_CSATNOTIFYLAUNCHBROWSER, "CSatNotifyLaunchBrowser::~CSatNotifyLaunchBrowser" );
  6083     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYLAUNCHBROWSER_CSATNOTIFYLAUNCHBROWSER_TD, "CSatNotifyLaunchBrowser::~CSatNotifyLaunchBrowser" );
  6077     // None
  6084     // None
  6078     }
  6085     }
  6079 
  6086 
  6080 // -----------------------------------------------------------------------------
  6087 // -----------------------------------------------------------------------------
  6081 // CSatNotifyLaunchBrowser::MessageReceived
  6088 // CSatNotifyLaunchBrowser::MessageReceived
  6087 void CSatNotifyLaunchBrowser::MessageReceived
  6094 void CSatNotifyLaunchBrowser::MessageReceived
  6088         (
  6095         (
  6089         const TIsiReceiveC& aIsiMessage // ISI message
  6096         const TIsiReceiveC& aIsiMessage // ISI message
  6090         )
  6097         )
  6091     {
  6098     {
  6092     OstTrace0( TRACE_NORMAL, CSATNOTIFYLAUNCHBROWSER_MESSAGERECEIVED, "CSatNotifyLaunchBrowser::MessageReceived" );
  6099     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLAUNCHBROWSER_MESSAGERECEIVED_TD, "CSatNotifyLaunchBrowser::MessageReceived" );
  6093     TFLOGSTRING("CSatNotifyLaunchBrowser::MessageReceived");
  6100     TFLOGSTRING("CSatNotifyLaunchBrowser::MessageReceived");
  6094     //get ber tlv
  6101     //get ber tlv
  6095     CBerTlv berTlv;
  6102     CBerTlv berTlv;
  6096     berTlv.BerTlv( aIsiMessage );
  6103     berTlv.BerTlv( aIsiMessage );
  6097     //get command details tlv
  6104     //get command details tlv
  6440         (
  6447         (
  6441         const TTsyReqHandle aReqHandle, // Request handle
  6448         const TTsyReqHandle aReqHandle, // Request handle
  6442         TDes8*              aDataPtr    // Pointer to data
  6449         TDes8*              aDataPtr    // Pointer to data
  6443         )
  6450         )
  6444     {
  6451     {
  6445     OstTrace1( TRACE_NORMAL, CSATNOTIFYLAUNCHBROWSER_NOTIFY, "CSatNotifyLaunchBrowser::Notify Handle :%u", aReqHandle );
  6452     OstTrace1( TRACE_NORMAL,  CSATNOTIFYLAUNCHBROWSER_NOTIFY_TD, "CSatNotifyLaunchBrowser::Notify Handle :%u", aReqHandle );
  6446     TFLOGSTRING2("CSatNotifyLaunchBrowser::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  6453     TFLOGSTRING2("CSatNotifyLaunchBrowser::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  6447                aReqHandle );
  6454                aReqHandle );
  6448     iReqHandle = aReqHandle;
  6455     iReqHandle = aReqHandle;
  6449     iLaunchBrowserV2Pckg = static_cast< RSat::TLaunchBrowserV2Pckg* >( aDataPtr );
  6456     iLaunchBrowserV2Pckg = static_cast< RSat::TLaunchBrowserV2Pckg* >( aDataPtr );
  6450     iSatMessaging->SatReady( KLaunchBrowser );
  6457     iSatMessaging->SatReady( KLaunchBrowser );
  6460 TInt CSatNotifyLaunchBrowser::TerminalResponse
  6467 TInt CSatNotifyLaunchBrowser::TerminalResponse
  6461         (
  6468         (
  6462         TDes8* aRsp // Response
  6469         TDes8* aRsp // Response
  6463         )
  6470         )
  6464     {
  6471     {
  6465     OstTrace0( TRACE_NORMAL, CSATNOTIFYLAUNCHBROWSER_TERMINALRESPONSE, "CSatNotifyLaunchBrowser::TerminalResponse" );
  6472     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLAUNCHBROWSER_TERMINALRESPONSE_TD, "CSatNotifyLaunchBrowser::TerminalResponse" );
  6466     TFLOGSTRING("CSatNotifyLaunchBrowser::TerminalResponse");
  6473     TFLOGSTRING("CSatNotifyLaunchBrowser::TerminalResponse");
  6467     TInt   ret( KErrNone );
  6474     TInt   ret( KErrNone );
  6468     TUint8 additionalInfo( 0 );
  6475     TUint8 additionalInfo( 0 );
  6469     RSat::TLaunchBrowserRspV2Pckg* aRspPckg =
  6476     RSat::TLaunchBrowserRspV2Pckg* aRspPckg =
  6470             reinterpret_cast< RSat::TLaunchBrowserRspV2Pckg* >( aRsp );
  6477             reinterpret_cast< RSat::TLaunchBrowserRspV2Pckg* >( aRsp );
  6524         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  6531         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  6525         iSetUpEventListV1Pckg( NULL ),
  6532         iSetUpEventListV1Pckg( NULL ),
  6526         iCmdQualifier( KZero ),
  6533         iCmdQualifier( KZero ),
  6527         iEvents( KZero )
  6534         iEvents( KZero )
  6528     {
  6535     {
  6529     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPEVENTLIST_CSATNOTIFYSETUPEVENTLIST, "CSatNotifySetUpEventList::CSatNotifySetUpEventList" );
  6536     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPEVENTLIST_CSATNOTIFYSETUPEVENTLIST_TD, "CSatNotifySetUpEventList::CSatNotifySetUpEventList" );
  6530     // Following results are also allowed for this command:
  6537     // Following results are also allowed for this command:
  6531     // (in addition to result declared in base class constructor)
  6538     // (in addition to result declared in base class constructor)
  6532     iAllowedResults += RSat::KErrorRequiredValuesMissing;
  6539     iAllowedResults += RSat::KErrorRequiredValuesMissing;
  6533     }
  6540     }
  6534 
  6541 
  6537 // Destructor
  6544 // Destructor
  6538 // -----------------------------------------------------------------------------
  6545 // -----------------------------------------------------------------------------
  6539 //
  6546 //
  6540 CSatNotifySetUpEventList::~CSatNotifySetUpEventList()
  6547 CSatNotifySetUpEventList::~CSatNotifySetUpEventList()
  6541     {
  6548     {
  6542     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSETUPEVENTLIST_CSATNOTIFYSETUPEVENTLIST, "CSatNotifySetUpEventList::~CSatNotifySetUpEventList" );
  6549     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSETUPEVENTLIST_CSATNOTIFYSETUPEVENTLIST_TD, "CSatNotifySetUpEventList::~CSatNotifySetUpEventList" );
  6543     // None
  6550     // None
  6544     }
  6551     }
  6545 
  6552 
  6546 // -----------------------------------------------------------------------------
  6553 // -----------------------------------------------------------------------------
  6547 // CSatNotifySetUpEventList::MessageReceived
  6554 // CSatNotifySetUpEventList::MessageReceived
  6553 void CSatNotifySetUpEventList::MessageReceived
  6560 void CSatNotifySetUpEventList::MessageReceived
  6554         (
  6561         (
  6555         const TIsiReceiveC& aIsiMessage // ISI message
  6562         const TIsiReceiveC& aIsiMessage // ISI message
  6556         )
  6563         )
  6557     {
  6564     {
  6558     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPEVENTLIST_MESSAGERECEIVED, "CSatNotifySetUpEventList::MessageReceived" );
  6565     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPEVENTLIST_MESSAGERECEIVED_TD, "CSatNotifySetUpEventList::MessageReceived" );
  6559     TFLOGSTRING("CSatNotifySetUpEventList::MessageReceived");
  6566     TFLOGSTRING("CSatNotifySetUpEventList::MessageReceived");
  6560     TInt ret( KErrNone );
  6567     TInt ret( KErrNone );
  6561     TUint8 generalResult( RSat::KSuccess );
  6568     TUint8 generalResult( RSat::KSuccess );
  6562     //get ber tlv
  6569     //get ber tlv
  6563     CBerTlv berTlv;
  6570     CBerTlv berTlv;
  6679                     else
  6686                     else
  6680                         {
  6687                         {
  6681                         TFLOGSTRING("TSY: \
  6688                         TFLOGSTRING("TSY: \
  6682                         CSatNotifySetUpEventList::MessageReceived, \
  6689                         CSatNotifySetUpEventList::MessageReceived, \
  6683                         Event not recognized or not supported.");
  6690                         Event not recognized or not supported.");
  6684                         OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSETUPEVENTLIST_MESSAGERECEIVED, "CSatNotifySetUpEventList::MessageReceived, Event not recognized or not supported." );
  6691                         OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSETUPEVENTLIST_MESSAGERECEIVED_TD, "CSatNotifySetUpEventList::MessageReceived, Event not recognized or not supported." );
  6685                         }
  6692                         }
  6686                     }
  6693                     }
  6687                 }
  6694                 }
  6688             }
  6695             }
  6689         else
  6696         else
  6717         (
  6724         (
  6718         const TTsyReqHandle aReqHandle, // Request handle
  6725         const TTsyReqHandle aReqHandle, // Request handle
  6719         TDes8*              aDataPtr    // Pointer to data
  6726         TDes8*              aDataPtr    // Pointer to data
  6720         )
  6727         )
  6721     {
  6728     {
  6722     OstTrace1( TRACE_NORMAL, CSATNOTIFYSETUPEVENTLIST_NOTIFY, "CSatNotifySetUpEventList::Notify Handle: %u", aReqHandle );
  6729     OstTrace1( TRACE_NORMAL,  CSATNOTIFYSETUPEVENTLIST_NOTIFY_TD, "CSatNotifySetUpEventList::Notify Handle: %u", aReqHandle );
  6723     TFLOGSTRING2("CSatNotifySetUpEventList::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  6730     TFLOGSTRING2("CSatNotifySetUpEventList::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  6724                aReqHandle );
  6731                aReqHandle );
  6725     iReqHandle = aReqHandle;
  6732     iReqHandle = aReqHandle;
  6726     iSetUpEventListV1Pckg = static_cast< RSat::TSetUpEventListV1Pckg* >( aDataPtr );
  6733     iSetUpEventListV1Pckg = static_cast< RSat::TSetUpEventListV1Pckg* >( aDataPtr );
  6727     iSatMessaging->SatReady( KSetUpEventList );
  6734     iSatMessaging->SatReady( KSetUpEventList );
  6737 TInt CSatNotifySetUpEventList::TerminalResponse
  6744 TInt CSatNotifySetUpEventList::TerminalResponse
  6738         (
  6745         (
  6739         TDes8* aRsp // Response
  6746         TDes8* aRsp // Response
  6740         )
  6747         )
  6741     {
  6748     {
  6742     OstTrace0( TRACE_NORMAL, CSATNOTIFYSETUPEVENTLIST_TERMINALRESPONSE, "CSatNotifySetUpEventList::TerminalResponse" );
  6749     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSETUPEVENTLIST_TERMINALRESPONSE_TD, "CSatNotifySetUpEventList::TerminalResponse" );
  6743     TFLOGSTRING("CSatNotifySetUpEventList::TerminalResponse");
  6750     TFLOGSTRING("CSatNotifySetUpEventList::TerminalResponse");
  6744     TInt   ret( KErrNone );
  6751     TInt   ret( KErrNone );
  6745     TUint8 additionalInfo( 0 );
  6752     TUint8 additionalInfo( 0 );
  6746     RSat::TSetUpEventListRspV1Pckg* aRspPckg =
  6753     RSat::TSetUpEventListRspV1Pckg* aRspPckg =
  6747             reinterpret_cast< RSat::TSetUpEventListRspV1Pckg* >( aRsp );
  6754             reinterpret_cast< RSat::TSetUpEventListRspV1Pckg* >( aRsp );
  6792         CTsySatMessaging*   aSatMessaging    //Pointer to satmessaging class
  6799         CTsySatMessaging*   aSatMessaging    //Pointer to satmessaging class
  6793         )
  6800         )
  6794         :
  6801         :
  6795         CSatNotificationsBase( aSatMessHandler, aSatMessaging )
  6802         CSatNotificationsBase( aSatMessHandler, aSatMessaging )
  6796     {
  6803     {
  6797     OstTrace0( TRACE_NORMAL, CSATNOTIFYPOLLINGOFF_CSATNOTIFYPOLLINGOFF, "CSatNotifyPollingOff::CSatNotifyPollingOff" );
  6804     OstTrace0( TRACE_NORMAL,  CSATNOTIFYPOLLINGOFF_CSATNOTIFYPOLLINGOFF_TD, "CSatNotifyPollingOff::CSatNotifyPollingOff" );
  6798     // Following results are also allowed for this command:
  6805     // Following results are also allowed for this command:
  6799     // (in addition to result declared in base class constructor)
  6806     // (in addition to result declared in base class constructor)
  6800     iAllowedResults += RSat::KErrorRequiredValuesMissing;
  6807     iAllowedResults += RSat::KErrorRequiredValuesMissing;
  6801     }
  6808     }
  6802 
  6809 
  6805 // Destructor
  6812 // Destructor
  6806 // -----------------------------------------------------------------------------
  6813 // -----------------------------------------------------------------------------
  6807 //
  6814 //
  6808 CSatNotifyPollingOff::~CSatNotifyPollingOff()
  6815 CSatNotifyPollingOff::~CSatNotifyPollingOff()
  6809     {
  6816     {
  6810     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYPOLLINGOFF_CSATNOTIFYPOLLINGOFF, "CSatNotifyPollingOff::~CSatNotifyPollingOff" );
  6817     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYPOLLINGOFF_CSATNOTIFYPOLLINGOFF_TD, "CSatNotifyPollingOff::~CSatNotifyPollingOff" );
  6811     // None
  6818     // None
  6812     }
  6819     }
  6813 
  6820 
  6814 // -----------------------------------------------------------------------------
  6821 // -----------------------------------------------------------------------------
  6815 // CSatNotifyPollingOff::MessageReceived
  6822 // CSatNotifyPollingOff::MessageReceived
  6821 void CSatNotifyPollingOff::MessageReceived
  6828 void CSatNotifyPollingOff::MessageReceived
  6822         (
  6829         (
  6823         const TIsiReceiveC& aIsiMessage // ISI message
  6830         const TIsiReceiveC& aIsiMessage // ISI message
  6824         )
  6831         )
  6825     {
  6832     {
  6826     OstTrace0( TRACE_NORMAL, CSATNOTIFYPOLLINGOFF_MESSAGERECEIVED, "CSatNotifyPollingOff::MessageReceived" );
  6833     OstTrace0( TRACE_NORMAL,  CSATNOTIFYPOLLINGOFF_MESSAGERECEIVED_TD, "CSatNotifyPollingOff::MessageReceived" );
  6827     TFLOGSTRING("CSatNotifyPollingOff::MessageReceived");
  6834     TFLOGSTRING("CSatNotifyPollingOff::MessageReceived");
  6828     //get ber tlv
  6835     //get ber tlv
  6829     CBerTlv berTlv;
  6836     CBerTlv berTlv;
  6830     berTlv.BerTlv( aIsiMessage );
  6837     berTlv.BerTlv( aIsiMessage );
  6831     //get command details tlv
  6838     //get command details tlv
  6864         (
  6871         (
  6865         const TTsyReqHandle /*aReqHandle*/, // Request handle
  6872         const TTsyReqHandle /*aReqHandle*/, // Request handle
  6866         TDes8*              /*aDataPtr*/    // Pointer to data
  6873         TDes8*              /*aDataPtr*/    // Pointer to data
  6867         )
  6874         )
  6868     {
  6875     {
  6869     OstTrace0( TRACE_NORMAL, CSATNOTIFYPOLLINGOFF_NOTIFY, "CSatNotifyPollingOff::Notify" );
  6876     OstTrace0( TRACE_NORMAL,  CSATNOTIFYPOLLINGOFF_NOTIFY_TD, "CSatNotifyPollingOff::Notify" );
  6870     // PollingOff is completely implemented by SimAtkTsy. Client
  6877     // PollingOff is completely implemented by SimAtkTsy. Client
  6871     // insn't notified about the command.
  6878     // insn't notified about the command.
  6872     }
  6879     }
  6873 
  6880 
  6874 
  6881 
  6887         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  6894         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  6888         iLocalInfoV3Pckg( NULL ),
  6895         iLocalInfoV3Pckg( NULL ),
  6889         iLocalInfoIsOngoing( EFalse ),
  6896         iLocalInfoIsOngoing( EFalse ),
  6890         iLocalInfoAccTechOngoing( EFalse )
  6897         iLocalInfoAccTechOngoing( EFalse )
  6891     {
  6898     {
  6892     OstTrace0( TRACE_NORMAL, CSATNOTIFYLOCALINFO_CSATNOTIFYLOCALINFO, "CSatNotifyLocalInfo::CSatNotifyLocalInfo" );
  6899     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLOCALINFO_CSATNOTIFYLOCALINFO_TD, "CSatNotifyLocalInfo::CSatNotifyLocalInfo" );
  6893     TFLOGSTRING("CSatNotifyLocalInfo::CSatNotifyLocalInfo");
  6900     TFLOGSTRING("CSatNotifyLocalInfo::CSatNotifyLocalInfo");
  6894     // Initialize response structure
  6901     // Initialize response structure
  6895     iLocalInfoRspV3 = RSat::TLocalInfoRspV3();
  6902     iLocalInfoRspV3 = RSat::TLocalInfoRspV3();
  6896 
  6903 
  6897     // Following results are also allowed for this command:
  6904     // Following results are also allowed for this command:
  6905 // Destructor
  6912 // Destructor
  6906 // -----------------------------------------------------------------------------
  6913 // -----------------------------------------------------------------------------
  6907 //
  6914 //
  6908 CSatNotifyLocalInfo::~CSatNotifyLocalInfo()
  6915 CSatNotifyLocalInfo::~CSatNotifyLocalInfo()
  6909     {
  6916     {
  6910     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYLOCALINFO_CSATNOTIFYLOCALINFO, "CSatNotifyLocalInfo::~CSatNotifyLocalInfo" );
  6917     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYLOCALINFO_CSATNOTIFYLOCALINFO_TD, "CSatNotifyLocalInfo::~CSatNotifyLocalInfo" );
  6911     // None
  6918     // None
  6912     }
  6919     }
  6913 
  6920 
  6914 // -----------------------------------------------------------------------------
  6921 // -----------------------------------------------------------------------------
  6915 // CSatNotifyLocalInfo::MessageReceived
  6922 // CSatNotifyLocalInfo::MessageReceived
  6921 void CSatNotifyLocalInfo::MessageReceived
  6928 void CSatNotifyLocalInfo::MessageReceived
  6922         (
  6929         (
  6923         const TIsiReceiveC& aIsiMessage // ISI message
  6930         const TIsiReceiveC& aIsiMessage // ISI message
  6924         )
  6931         )
  6925     {
  6932     {
  6926     OstTrace0( TRACE_NORMAL, CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived" );
  6933     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived" );
  6927     TFLOGSTRING("CSatNotifyLocalInfo::MessageReceived");
  6934     TFLOGSTRING("CSatNotifyLocalInfo::MessageReceived");
  6928     // Clear additional info
  6935     // Clear additional info
  6929     iLocalInfoRspV3.iAdditionalInfo.Zero();
  6936     iLocalInfoRspV3.iAdditionalInfo.Zero();
  6930     // Get ber tlv
  6937     // Get ber tlv
  6931     CBerTlv berTlv;
  6938     CBerTlv berTlv;
  6940     switch ( iCommandDetails[KCommandQualifier] )
  6947     switch ( iCommandDetails[KCommandQualifier] )
  6941         {
  6948         {
  6942         case RSat::KProvideLocalInfo:
  6949         case RSat::KProvideLocalInfo:
  6943             {
  6950             {
  6944             TFLOGSTRING("CSatNotifyLocalInfo:: request: LOCAL INFO");
  6951             TFLOGSTRING("CSatNotifyLocalInfo:: request: LOCAL INFO");
  6945             OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::Messagereceived Request: LOCAL INFO" );
  6952             OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::Messagereceived Request: LOCAL INFO" );
  6946             iLocalInfoIsOngoing = ETrue;
  6953             iLocalInfoIsOngoing = ETrue;
  6947 
  6954 
  6948             // Send a net cell info request to the net server.
  6955             // Send a net cell info request to the net server.
  6949             // Use same transaction id what comes with proactive
  6956             // Use same transaction id what comes with proactive
  6950             // command and compare that when response is received
  6957             // command and compare that when response is received
  6953             break;
  6960             break;
  6954             }
  6961             }
  6955         case RSat::KProvideLocalInfoImei:
  6962         case RSat::KProvideLocalInfoImei:
  6956             {
  6963             {
  6957             TFLOGSTRING("CSatNotifyLocalInfo:: request: IMEI");
  6964             TFLOGSTRING("CSatNotifyLocalInfo:: request: IMEI");
  6958             OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::Messagereceived Request: IMEI" );
  6965             OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::Messagereceived Request: IMEI" );
  6959             // Check if IMEI is received
  6966             // Check if IMEI is received
  6960             if ( iSatMessHandler->ImeiAvailable() )
  6967             if ( iSatMessHandler->ImeiAvailable() )
  6961                 {
  6968                 {
  6962                 // IMEI is received from info server
  6969                 // IMEI is received from info server
  6963                 iLocalInfoRspV3.iGeneralResult = RSat::KSuccess;
  6970                 iLocalInfoRspV3.iGeneralResult = RSat::KSuccess;
  6973             break;
  6980             break;
  6974             }
  6981             }
  6975         case RSat::KProvideLocalInfoIMEISV:
  6982         case RSat::KProvideLocalInfoIMEISV:
  6976             {
  6983             {
  6977             TFLOGSTRING("TSY: CSatNotifyLocalInfo::MessageReceived Request: IMEISV");
  6984             TFLOGSTRING("TSY: CSatNotifyLocalInfo::MessageReceived Request: IMEISV");
  6978             OstTrace0( TRACE_NORMAL, DUP14_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived Request: IMEISV" );
  6985             OstTrace0( TRACE_NORMAL,  DUP14_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived Request: IMEISV" );
  6979             // Check if IMEISV is received
  6986             // Check if IMEISV is received
  6980             if ( iSatMessHandler->ImeiSvAvailable() )
  6987             if ( iSatMessHandler->ImeiSvAvailable() )
  6981                 {
  6988                 {
  6982                 // IMEISV is received from info server
  6989                 // IMEISV is received from info server
  6983                 iLocalInfoRspV3.iGeneralResult = RSat::KSuccess;
  6990                 iLocalInfoRspV3.iGeneralResult = RSat::KSuccess;
  7002                 // ME has to be connected to GERAN if UTRAN NMR's are requested
  7009                 // ME has to be connected to GERAN if UTRAN NMR's are requested
  7003                 if ( KNetworkModeUtran ==
  7010                 if ( KNetworkModeUtran ==
  7004                     iSatMessHandler->CurrentAccessTechnology() )
  7011                     iSatMessHandler->CurrentAccessTechnology() )
  7005                     {
  7012                     {
  7006                     TFLOGSTRING("CSatNotifyLocalInfo:: request: UTRAN NMR");
  7013                     TFLOGSTRING("CSatNotifyLocalInfo:: request: UTRAN NMR");
  7007                     OstTrace0( TRACE_NORMAL, DUP3_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::Messagereceived UTRAN NMR" );
  7014                     OstTrace0( TRACE_NORMAL,  DUP3_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::Messagereceived UTRAN NMR" );
  7008 
  7015 
  7009                     switch( utranMeasurement.GetShortInfo(
  7016                     switch( utranMeasurement.GetShortInfo(
  7010                                 ETLV_UtranMeasurementQualifier ) )
  7017                                 ETLV_UtranMeasurementQualifier ) )
  7011                         {
  7018                         {
  7012                         case KIntraFrequencyMeasurements:
  7019                         case KIntraFrequencyMeasurements:
  7013                             {
  7020                             {
  7014                             iLocalInfoIsOngoing = ETrue;
  7021                             iLocalInfoIsOngoing = ETrue;
  7015                             TFLOGSTRING("CSatNotifyLocalInfo::INTRA_FREQ_NMR");
  7022                             TFLOGSTRING("CSatNotifyLocalInfo::INTRA_FREQ_NMR");
  7016                             OstTrace0( TRACE_NORMAL, DUP4_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::Messagereceived INTRA_FREQ_NMR" );
  7023                             OstTrace0( TRACE_NORMAL,  DUP4_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::Messagereceived INTRA_FREQ_NMR" );
  7017                             iSatMessHandler->NetNeighbourCellsReq(
  7024                             iSatMessHandler->NetNeighbourCellsReq(
  7018                                             iSatMessaging->GetTransactionId(),
  7025                                             iSatMessaging->GetTransactionId(),
  7019                                             NET_SIM_INTRA_FREQ_NMR );
  7026                                             NET_SIM_INTRA_FREQ_NMR );
  7020                             break;
  7027                             break;
  7021                             }
  7028                             }
  7022                         case KInterFrequencyMeasurements:
  7029                         case KInterFrequencyMeasurements:
  7023                             {
  7030                             {
  7024                             iLocalInfoIsOngoing = ETrue;
  7031                             iLocalInfoIsOngoing = ETrue;
  7025                             TFLOGSTRING("CSatNotifyLocalInfo::INTER_FREQ_NMR");
  7032                             TFLOGSTRING("CSatNotifyLocalInfo::INTER_FREQ_NMR");
  7026                             OstTrace0( TRACE_NORMAL, DUP5_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived INTER_FREQ_NMR" );
  7033                             OstTrace0( TRACE_NORMAL,  DUP5_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived INTER_FREQ_NMR" );
  7027                             iSatMessHandler->NetNeighbourCellsReq(
  7034                             iSatMessHandler->NetNeighbourCellsReq(
  7028                                             iSatMessaging->GetTransactionId(),
  7035                                             iSatMessaging->GetTransactionId(),
  7029                                             NET_SIM_INTER_FREQ_NMR );
  7036                                             NET_SIM_INTER_FREQ_NMR );
  7030                             break;
  7037                             break;
  7031                             }
  7038                             }
  7032                         case KInterRatMeasurements:
  7039                         case KInterRatMeasurements:
  7033                             {
  7040                             {
  7034                             iLocalInfoIsOngoing = ETrue;
  7041                             iLocalInfoIsOngoing = ETrue;
  7035                             TFLOGSTRING("CSatNotifyLocalInfo::INTER_RAT_NMR");
  7042                             TFLOGSTRING("CSatNotifyLocalInfo::INTER_RAT_NMR");
  7036                             OstTrace0( TRACE_NORMAL, DUP6_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived INTER_RAT_NMR" );
  7043                             OstTrace0( TRACE_NORMAL,  DUP6_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived INTER_RAT_NMR" );
  7037                             iSatMessHandler->NetNeighbourCellsReq(
  7044                             iSatMessHandler->NetNeighbourCellsReq(
  7038                                             iSatMessaging->GetTransactionId(),
  7045                                             iSatMessaging->GetTransactionId(),
  7039                                             NET_SIM_INTER_RAT_NMR );
  7046                                             NET_SIM_INTER_RAT_NMR );
  7040                             break;
  7047                             break;
  7041                             }
  7048                             }
  7058                     }
  7065                     }
  7059                 }
  7066                 }
  7060             else
  7067             else
  7061                 {
  7068                 {
  7062                 TFLOGSTRING("CSatNotifyLocalInfo:: request: NMR");
  7069                 TFLOGSTRING("CSatNotifyLocalInfo:: request: NMR");
  7063                 OstTrace0( TRACE_NORMAL, DUP7_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived Request: NMR" );
  7070                 OstTrace0( TRACE_NORMAL,  DUP7_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived Request: NMR" );
  7064                 iLocalInfoIsOngoing = ETrue;
  7071                 iLocalInfoIsOngoing = ETrue;
  7065                 // Request NET_SIM_NMR
  7072                 // Request NET_SIM_NMR
  7066                 iSatMessHandler->NetNeighbourCellsReq(
  7073                 iSatMessHandler->NetNeighbourCellsReq(
  7067                     iSatMessaging->GetTransactionId(),
  7074                     iSatMessaging->GetTransactionId(),
  7068                     NET_SIM_NMR );
  7075                     NET_SIM_NMR );
  7071             break;
  7078             break;
  7072             }
  7079             }
  7073         case RSat::KProvideLocalInfoDateTimeTimeZone:
  7080         case RSat::KProvideLocalInfoDateTimeTimeZone:
  7074             {
  7081             {
  7075             TFLOGSTRING("CSatNotifyLocalInfo:: request: DATE/TIME/TIMEZONE");
  7082             TFLOGSTRING("CSatNotifyLocalInfo:: request: DATE/TIME/TIMEZONE");
  7076             OstTrace0( TRACE_NORMAL, DUP8_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived Request: DATE/TIME/TIMEZONE" );
  7083             OstTrace0( TRACE_NORMAL,  DUP8_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived Request: DATE/TIME/TIMEZONE" );
  7077             TTime time;
  7084             TTime time;
  7078             TLocale locale;
  7085             TLocale locale;
  7079             TDateTime dateTime;
  7086             TDateTime dateTime;
  7080             // Get Universal time
  7087             // Get Universal time
  7081             time.UniversalTime();
  7088             time.UniversalTime();
  7130             break;
  7137             break;
  7131             }
  7138             }
  7132         case RSat::KProvideLocalInfoLanguage:
  7139         case RSat::KProvideLocalInfoLanguage:
  7133             {
  7140             {
  7134             TFLOGSTRING("CSatNotifyLocalInfo:: request: Language");
  7141             TFLOGSTRING("CSatNotifyLocalInfo:: request: Language");
  7135             OstTrace0( TRACE_NORMAL, DUP9_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived Request: Language" );
  7142             OstTrace0( TRACE_NORMAL,  DUP9_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived Request: Language" );
  7136             if( !iReqHandle )
  7143             if( !iReqHandle )
  7137                 {
  7144                 {
  7138                 TFLOGSTRING("CSatNotifyLocalInfo:: No reqHandle");
  7145                 TFLOGSTRING("CSatNotifyLocalInfo:: No reqHandle");
  7139                 OstTrace0( TRACE_NORMAL, DUP10_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived No reqHandle" );
  7146                 OstTrace0( TRACE_NORMAL,  DUP10_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived No reqHandle" );
  7140 
  7147 
  7141                 iLocalInfoRspV3.iGeneralResult = RSat::KMeUnableToProcessCmd;
  7148                 iLocalInfoRspV3.iGeneralResult = RSat::KMeUnableToProcessCmd;
  7142                 iLocalInfoRspV3.iAdditionalInfo.Append( RSat::KNoSpecificMeProblem );
  7149                 iLocalInfoRspV3.iAdditionalInfo.Append( RSat::KNoSpecificMeProblem );
  7143                 TerminalResponse();
  7150                 TerminalResponse();
  7144                 }
  7151                 }
  7145             else
  7152             else
  7146                 {
  7153                 {
  7147                 TFLOGSTRING("CSatNotifyLocalInfo:: reqHandle");
  7154                 TFLOGSTRING("CSatNotifyLocalInfo:: reqHandle");
  7148                 OstTrace0( TRACE_NORMAL, DUP11_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived reqHandle" );
  7155                 OstTrace0( TRACE_NORMAL,  DUP11_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived reqHandle" );
  7149                 // Fill the send sm structure
  7156                 // Fill the send sm structure
  7150                 RSat::TLocalInfoV3& localInfoV3 = ( *iLocalInfoV3Pckg )();
  7157                 RSat::TLocalInfoV3& localInfoV3 = ( *iLocalInfoV3Pckg )();
  7151                 // Get command details tlv
  7158                 // Get command details tlv
  7152                 CTlv deviceIdentities;
  7159                 CTlv deviceIdentities;
  7153                 berTlv.TlvByTagValue( &deviceIdentities, KTlvDeviceIdentityTag );
  7160                 berTlv.TlvByTagValue( &deviceIdentities, KTlvDeviceIdentityTag );
  7162             break;
  7169             break;
  7163             }
  7170             }
  7164         case RSat::KProvideLocalInfoTimingAdv:
  7171         case RSat::KProvideLocalInfoTimingAdv:
  7165             {
  7172             {
  7166             TFLOGSTRING("CSatNotifyLocalInfo:: request: TimingAdvance");
  7173             TFLOGSTRING("CSatNotifyLocalInfo:: request: TimingAdvance");
  7167             OstTrace0( TRACE_NORMAL, DUP12_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived Request: TimingAdvance" );
  7174             OstTrace0( TRACE_NORMAL,  DUP12_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived Request: TimingAdvance" );
  7168             iLocalInfoIsOngoing = ETrue;
  7175             iLocalInfoIsOngoing = ETrue;
  7169             //request GSS_CS_SERVICE_REQ
  7176             //request GSS_CS_SERVICE_REQ
  7170             iSatMessHandler->GssCsServiceReq(
  7177             iSatMessHandler->GssCsServiceReq(
  7171                              iSatMessaging->GetTransactionId(),
  7178                              iSatMessaging->GetTransactionId(),
  7172                              GSS_ATK_TIMING_ADVANCE_GET );
  7179                              GSS_ATK_TIMING_ADVANCE_GET );
  7173             break;
  7180             break;
  7174             }
  7181             }
  7175         case RSat::KProvideLocalInfoAccTech:
  7182         case RSat::KProvideLocalInfoAccTech:
  7176             {
  7183             {
  7177             TFLOGSTRING("CSatNotifyLocalInfo:: request: Access Technology");
  7184             TFLOGSTRING("CSatNotifyLocalInfo:: request: Access Technology");
  7178             OstTrace0( TRACE_NORMAL, DUP13_CSATNOTIFYLOCALINFO_MESSAGERECEIVED, "CSatNotifyLocalInfo::MessageReceived Request: Access Technology" );
  7185             OstTrace0( TRACE_NORMAL,  DUP13_CSATNOTIFYLOCALINFO_MESSAGERECEIVED_TD, "CSatNotifyLocalInfo::MessageReceived Request: Access Technology" );
  7179             iLocalInfoIsOngoing = ETrue;
  7186             iLocalInfoIsOngoing = ETrue;
  7180             iLocalInfoAccTechOngoing = ETrue;
  7187             iLocalInfoAccTechOngoing = ETrue;
  7181 
  7188 
  7182             // Use same transaction id what comes with proactive
  7189             // Use same transaction id what comes with proactive
  7183             // command and compare that when response is received
  7190             // command and compare that when response is received
  7220         (
  7227         (
  7221         const TTsyReqHandle aReqHandle, // Request handle
  7228         const TTsyReqHandle aReqHandle, // Request handle
  7222         TDes8*              aDataPtr    // Pointer to data
  7229         TDes8*              aDataPtr    // Pointer to data
  7223         )
  7230         )
  7224     {
  7231     {
  7225     OstTrace1( TRACE_NORMAL, CSATNOTIFYLOCALINFO_NOTIFY, "CSatNotifyLocalInfo::Notify Handle: %u", aReqHandle );
  7232     OstTrace1( TRACE_NORMAL,  CSATNOTIFYLOCALINFO_NOTIFY_TD, "CSatNotifyLocalInfo::Notify Handle: %u", aReqHandle );
  7226     TFLOGSTRING2("CSatNotifyLocalInfo::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  7233     TFLOGSTRING2("CSatNotifyLocalInfo::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  7227                aReqHandle );
  7234                aReqHandle );
  7228     iReqHandle = aReqHandle;
  7235     iReqHandle = aReqHandle;
  7229     iLocalInfoV3Pckg = static_cast< RSat::TLocalInfoV3Pckg* >( aDataPtr );
  7236     iLocalInfoV3Pckg = static_cast< RSat::TLocalInfoV3Pckg* >( aDataPtr );
  7230     iSatMessaging->SatReady( KProvideLocalInformation );
  7237     iSatMessaging->SatReady( KProvideLocalInformation );
  7240 TInt CSatNotifyLocalInfo::TerminalResponse
  7247 TInt CSatNotifyLocalInfo::TerminalResponse
  7241         (
  7248         (
  7242         TDes8* aRsp     // Response
  7249         TDes8* aRsp     // Response
  7243         )
  7250         )
  7244     {
  7251     {
  7245     OstTrace0( TRACE_NORMAL, CSATNOTIFYLOCALINFO_TERMINALRESPONSE, "CSatNotifyLocalInfo::TerminalResponse" );
  7252     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLOCALINFO_TERMINALRESPONSE_TD, "CSatNotifyLocalInfo::TerminalResponse" );
  7246     TFLOGSTRING("CSatNotifyLocalInfo::TerminalResponse");
  7253     TFLOGSTRING("CSatNotifyLocalInfo::TerminalResponse");
  7247     TInt ret( KErrNone );
  7254     TInt ret( KErrNone );
  7248     if ( aRsp )
  7255     if ( aRsp )
  7249         {
  7256         {
  7250         RSat::TLocalInfoRspV3Pckg* aRspPckg =
  7257         RSat::TLocalInfoRspV3Pckg* aRspPckg =
  7284 TBool CSatNotifyLocalInfo::LocalInfoStatus
  7291 TBool CSatNotifyLocalInfo::LocalInfoStatus
  7285         (
  7292         (
  7286         TBool aClearStatus
  7293         TBool aClearStatus
  7287         )
  7294         )
  7288     {
  7295     {
  7289     OstTrace0( TRACE_NORMAL, CSATNOTIFYLOCALINFO_LOCALINFOSTATUS, "CSatNotifyLocalInfo::LocalInfoStatus" );
  7296     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLOCALINFO_LOCALINFOSTATUS_TD, "CSatNotifyLocalInfo::LocalInfoStatus" );
  7290     TFLOGSTRING("CSatNotifyLocalInfo::LocalInfoStatus");
  7297     TFLOGSTRING("CSatNotifyLocalInfo::LocalInfoStatus");
  7291 
  7298 
  7292     if ( aClearStatus )
  7299     if ( aClearStatus )
  7293         {
  7300         {
  7294         iLocalInfoIsOngoing = EFalse;
  7301         iLocalInfoIsOngoing = EFalse;
  7307 TBool CSatNotifyLocalInfo::LocalInfoAccTechStatus
  7314 TBool CSatNotifyLocalInfo::LocalInfoAccTechStatus
  7308         (
  7315         (
  7309         TBool aClearStatus
  7316         TBool aClearStatus
  7310         )
  7317         )
  7311     {
  7318     {
  7312 OstTrace0( TRACE_NORMAL, CSATNOTIFYLOCALINFO_LOCALINFOACCTECHSTATUS, "CSatNotifyLocalInfo::LocalInfoAccTechStatus" );
  7319 OstTrace0( TRACE_NORMAL,  CSATNOTIFYLOCALINFO_LOCALINFOACCTECHSTATUS_TD, "CSatNotifyLocalInfo::LocalInfoAccTechStatus" );
  7313 TFLOGSTRING("CSatNotifyLocalInfo::LocalInfoAccTechStatus");
  7320 TFLOGSTRING("CSatNotifyLocalInfo::LocalInfoAccTechStatus");
  7314 
  7321 
  7315     if ( aClearStatus )
  7322     if ( aClearStatus )
  7316         {
  7323         {
  7317         iLocalInfoAccTechOngoing = EFalse;
  7324         iLocalInfoAccTechOngoing = EFalse;
  7333         )
  7340         )
  7334         :
  7341         :
  7335         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  7342         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  7336         iCmdQualifier( KZero )
  7343         iCmdQualifier( KZero )
  7337     {
  7344     {
  7338     OstTrace0( TRACE_NORMAL, CSATNOTIFYTIMERMGMT_CSATNOTIFYTIMERMGMT, "CSatNotifyTimerMgmt::CSatNotifyTimerMgmt" );
  7345     OstTrace0( TRACE_NORMAL,  CSATNOTIFYTIMERMGMT_CSATNOTIFYTIMERMGMT_TD, "CSatNotifyTimerMgmt::CSatNotifyTimerMgmt" );
  7339     // Following results are also allowed for this command:
  7346     // Following results are also allowed for this command:
  7340     // (in addition to result declared in base class constructor)
  7347     // (in addition to result declared in base class constructor)
  7341     iAllowedResults += RSat::KContradictionWithTimerState
  7348     iAllowedResults += RSat::KContradictionWithTimerState
  7342         + RSat::KErrorRequiredValuesMissing;
  7349         + RSat::KErrorRequiredValuesMissing;
  7343     }
  7350     }
  7347 // Destructor
  7354 // Destructor
  7348 // -----------------------------------------------------------------------------
  7355 // -----------------------------------------------------------------------------
  7349 //
  7356 //
  7350 CSatNotifyTimerMgmt::~CSatNotifyTimerMgmt()
  7357 CSatNotifyTimerMgmt::~CSatNotifyTimerMgmt()
  7351     {
  7358     {
  7352     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYTIMERMGMT_CSATNOTIFYTIMERMGMT, "CSatNotifyTimerMgmt::~CSatNotifyTimerMgmt" );
  7359     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYTIMERMGMT_CSATNOTIFYTIMERMGMT_TD, "CSatNotifyTimerMgmt::~CSatNotifyTimerMgmt" );
  7353     // None
  7360     // None
  7354     }
  7361     }
  7355 
  7362 
  7356 // -----------------------------------------------------------------------------
  7363 // -----------------------------------------------------------------------------
  7357 // CSatNotifyTimerMgmt::MessageReceived
  7364 // CSatNotifyTimerMgmt::MessageReceived
  7363 void CSatNotifyTimerMgmt::MessageReceived
  7370 void CSatNotifyTimerMgmt::MessageReceived
  7364         (
  7371         (
  7365         const TIsiReceiveC& aIsiMessage // ISI message
  7372         const TIsiReceiveC& aIsiMessage // ISI message
  7366         )
  7373         )
  7367     {
  7374     {
  7368     OstTrace0( TRACE_NORMAL, CSATNOTIFYTIMERMGMT_MESSAGERECEIVED, "CSatNotifyTimerMgmt::MessageReceived" );
  7375     OstTrace0( TRACE_NORMAL,  CSATNOTIFYTIMERMGMT_MESSAGERECEIVED_TD, "CSatNotifyTimerMgmt::MessageReceived" );
  7369     TFLOGSTRING("CSatNotifyTimerMgmt::MessageReceived");
  7376     TFLOGSTRING("CSatNotifyTimerMgmt::MessageReceived");
  7370     TInt ret( KErrNone );
  7377     TInt ret( KErrNone );
  7371     TInt returnValue( KErrNone );
  7378     TInt returnValue( KErrNone );
  7372     TUint8 generalResult ( RSat::KSuccess );
  7379     TUint8 generalResult ( RSat::KSuccess );
  7373     //get ber tlv
  7380     //get ber tlv
  7497         (
  7504         (
  7498         const TTsyReqHandle /*aReqHandle*/, // Request handle
  7505         const TTsyReqHandle /*aReqHandle*/, // Request handle
  7499         TDes8*              /*aDataPtr*/    // Pointer to data
  7506         TDes8*              /*aDataPtr*/    // Pointer to data
  7500         )
  7507         )
  7501     {
  7508     {
  7502     OstTrace0( TRACE_NORMAL, CSATNOTIFYTIMERMGMT_NOTIFY, "CSatNotifyTimerMgmt::Notify" );
  7509     OstTrace0( TRACE_NORMAL,  CSATNOTIFYTIMERMGMT_NOTIFY_TD, "CSatNotifyTimerMgmt::Notify" );
  7503     // TimerManagement is completely implemented by SimAtkTsy. Client
  7510     // TimerManagement is completely implemented by SimAtkTsy. Client
  7504     // insn't notified about the command.
  7511     // insn't notified about the command.
  7505     }
  7512     }
  7506 
  7513 
  7507 // -----------------------------------------------------------------------------
  7514 // -----------------------------------------------------------------------------
  7514 TUint32 CSatNotifyTimerMgmt::ConvertToSeconds
  7521 TUint32 CSatNotifyTimerMgmt::ConvertToSeconds
  7515          (
  7522          (
  7516          TPtrC8 time
  7523          TPtrC8 time
  7517          )
  7524          )
  7518     {
  7525     {
  7519     OstTrace0( TRACE_NORMAL, CSATNOTIFYTIMERMGMT_CONVERTTOSECONDS, "CSatNotifyTimerMgmt::ConvertToSeconds" );
  7526     OstTrace0( TRACE_NORMAL,  CSATNOTIFYTIMERMGMT_CONVERTTOSECONDS_TD, "CSatNotifyTimerMgmt::ConvertToSeconds" );
  7520     TFLOGSTRING("CSatNotifyTimerMgmt::ConvertToSeconds");
  7527     TFLOGSTRING("CSatNotifyTimerMgmt::ConvertToSeconds");
  7521      TUint32 timeValue( 0 );
  7528      TUint32 timeValue( 0 );
  7522     // value of a timer, expressed using
  7529     // value of a timer, expressed using
  7523     // the format hour, minute, second
  7530     // the format hour, minute, second
  7524     // Semi-octec presentation used (23.040)
  7531     // Semi-octec presentation used (23.040)
  7548         CTsySatMessaging*   aSatMessaging    //Pointer to satmessaging class
  7555         CTsySatMessaging*   aSatMessaging    //Pointer to satmessaging class
  7549         )
  7556         )
  7550         :
  7557         :
  7551         CSatNotificationsBase( aSatMessHandler, aSatMessaging )
  7558         CSatNotificationsBase( aSatMessHandler, aSatMessaging )
  7552     {
  7559     {
  7553     OstTrace0( TRACE_NORMAL, CSATNOTIFYMORETIME_CSATNOTIFYMORETIME, "CSatNotifyMoreTime::CSatNotifyMoreTime" );
  7560     OstTrace0( TRACE_NORMAL,  CSATNOTIFYMORETIME_CSATNOTIFYMORETIME_TD, "CSatNotifyMoreTime::CSatNotifyMoreTime" );
  7554     // Following results are also allowed for this command:
  7561     // Following results are also allowed for this command:
  7555     // (in addition to result declared in base class constructor)
  7562     // (in addition to result declared in base class constructor)
  7556     iAllowedResults += RSat::KErrorRequiredValuesMissing;
  7563     iAllowedResults += RSat::KErrorRequiredValuesMissing;
  7557     }
  7564     }
  7558 
  7565 
  7561 // Destructor
  7568 // Destructor
  7562 // -----------------------------------------------------------------------------
  7569 // -----------------------------------------------------------------------------
  7563 //
  7570 //
  7564 CSatNotifyMoreTime::~CSatNotifyMoreTime()
  7571 CSatNotifyMoreTime::~CSatNotifyMoreTime()
  7565     {
  7572     {
  7566     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYMORETIME_CSATNOTIFYMORETIME, "CSatNotifyMoreTime::~CSatNotifyMoreTime" );
  7573     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYMORETIME_CSATNOTIFYMORETIME_TD, "CSatNotifyMoreTime::~CSatNotifyMoreTime" );
  7567     // None
  7574     // None
  7568     }
  7575     }
  7569 
  7576 
  7570 // -----------------------------------------------------------------------------
  7577 // -----------------------------------------------------------------------------
  7571 // CSatNotifyMoreTime::MessageReceived
  7578 // CSatNotifyMoreTime::MessageReceived
  7577 void CSatNotifyMoreTime::MessageReceived
  7584 void CSatNotifyMoreTime::MessageReceived
  7578         (
  7585         (
  7579         const TIsiReceiveC& aIsiMessage // ISI message
  7586         const TIsiReceiveC& aIsiMessage // ISI message
  7580         )
  7587         )
  7581     {
  7588     {
  7582     OstTrace0( TRACE_NORMAL, CSATNOTIFYMORETIME_MESSAGERECEIVED, "CSatNotifyMoreTime::MessageReceived" );
  7589     OstTrace0( TRACE_NORMAL,  CSATNOTIFYMORETIME_MESSAGERECEIVED_TD, "CSatNotifyMoreTime::MessageReceived" );
  7583     TFLOGSTRING("CSatNotifyMoreTime::MessageReceived");
  7590     TFLOGSTRING("CSatNotifyMoreTime::MessageReceived");
  7584     //get ber tlv
  7591     //get ber tlv
  7585     CBerTlv berTlv;
  7592     CBerTlv berTlv;
  7586     berTlv.BerTlv( aIsiMessage );
  7593     berTlv.BerTlv( aIsiMessage );
  7587     //get command details tlv
  7594     //get command details tlv
  7605         (
  7612         (
  7606         const TTsyReqHandle /*aReqHandle*/, // Request handle
  7613         const TTsyReqHandle /*aReqHandle*/, // Request handle
  7607         TDes8*              /*aDataPtr*/    // Pointer to data
  7614         TDes8*              /*aDataPtr*/    // Pointer to data
  7608         )
  7615         )
  7609     {
  7616     {
  7610     OstTrace0( TRACE_NORMAL, CSATNOTIFYMORETIME_NOTIFY, "CSatNotifyMoreTime::Notify" );
  7617     OstTrace0( TRACE_NORMAL,  CSATNOTIFYMORETIME_NOTIFY_TD, "CSatNotifyMoreTime::Notify" );
  7611     // MoreTime is completely implemented by SimAtkTsy. Client
  7618     // MoreTime is completely implemented by SimAtkTsy. Client
  7612     // insn't notified about the command.
  7619     // insn't notified about the command.
  7613     }
  7620     }
  7614 
  7621 
  7615 
  7622 
  7626         )
  7633         )
  7627         :
  7634         :
  7628         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  7635         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  7629         iLanguageNotificationV2Pckg( NULL )
  7636         iLanguageNotificationV2Pckg( NULL )
  7630     {
  7637     {
  7631     OstTrace0( TRACE_NORMAL, CSATNOTIFYLANGUAGENOTIFICATION_CSATNOTIFYLANGUAGENOTIFICATION, "CSatNotifyLanguageNotification::CSatNotifyLanguageNotification" );
  7638     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLANGUAGENOTIFICATION_CSATNOTIFYLANGUAGENOTIFICATION_TD, "CSatNotifyLanguageNotification::CSatNotifyLanguageNotification" );
  7632     // Following results are also allowed for this command:
  7639     // Following results are also allowed for this command:
  7633     // (in addition to result declared in base class constructor)
  7640     // (in addition to result declared in base class constructor)
  7634     iAllowedResults += RSat::KErrorRequiredValuesMissing;
  7641     iAllowedResults += RSat::KErrorRequiredValuesMissing;
  7635     }
  7642     }
  7636 
  7643 
  7639 // Destructor
  7646 // Destructor
  7640 // -----------------------------------------------------------------------------
  7647 // -----------------------------------------------------------------------------
  7641 //
  7648 //
  7642 CSatNotifyLanguageNotification::~CSatNotifyLanguageNotification()
  7649 CSatNotifyLanguageNotification::~CSatNotifyLanguageNotification()
  7643     {
  7650     {
  7644     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYLANGUAGENOTIFICATION_CSATNOTIFYLANGUAGENOTIFICATION, "CSatNotifyLanguageNotification::~CSatNotifyLanguageNotification" );
  7651     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYLANGUAGENOTIFICATION_CSATNOTIFYLANGUAGENOTIFICATION_TD, "CSatNotifyLanguageNotification::~CSatNotifyLanguageNotification" );
  7645     // None
  7652     // None
  7646     }
  7653     }
  7647 
  7654 
  7648 // -----------------------------------------------------------------------------
  7655 // -----------------------------------------------------------------------------
  7649 // CSatNotifyLanguageNotification::MessageReceived
  7656 // CSatNotifyLanguageNotification::MessageReceived
  7655 void CSatNotifyLanguageNotification::MessageReceived
  7662 void CSatNotifyLanguageNotification::MessageReceived
  7656         (
  7663         (
  7657         const TIsiReceiveC& aIsiMessage // ISI message
  7664         const TIsiReceiveC& aIsiMessage // ISI message
  7658         )
  7665         )
  7659     {
  7666     {
  7660     OstTrace0( TRACE_NORMAL, CSATNOTIFYLANGUAGENOTIFICATION_MESSAGERECEIVED, "CSatNotifyLanguageNotification::MessageReceived" );
  7667     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLANGUAGENOTIFICATION_MESSAGERECEIVED_TD, "CSatNotifyLanguageNotification::MessageReceived" );
  7661     TFLOGSTRING("TSY: CSatNotifyLanguageNotification::MessageReceived");
  7668     TFLOGSTRING("TSY: CSatNotifyLanguageNotification::MessageReceived");
  7662     TInt ret( KErrNone );
  7669     TInt ret( KErrNone );
  7663     TInt returnValue( KErrNone );
  7670     TInt returnValue( KErrNone );
  7664     // Get ber tlv
  7671     // Get ber tlv
  7665     CBerTlv berTlv;
  7672     CBerTlv berTlv;
  7705         else
  7712         else
  7706             {
  7713             {
  7707             TFLOGSTRING("TSY: \
  7714             TFLOGSTRING("TSY: \
  7708             CSatNotifyLanguageNotification::MessageReceived, \
  7715             CSatNotifyLanguageNotification::MessageReceived, \
  7709             Command qualifier did not match.");
  7716             Command qualifier did not match.");
  7710             OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYLANGUAGENOTIFICATION_MESSAGERECEIVED, "CSatNotifyLanguageNotification::MessageReceived, Command qualifier did not match." );
  7717             OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYLANGUAGENOTIFICATION_MESSAGERECEIVED_TD, "CSatNotifyLanguageNotification::MessageReceived, Command qualifier did not match." );
  7711             }
  7718             }
  7712         CTlv language;
  7719         CTlv language;
  7713         returnValue = berTlv.TlvByTagValue( &language,
  7720         returnValue = berTlv.TlvByTagValue( &language,
  7714             KTlvLanguageTag );
  7721             KTlvLanguageTag );
  7715         // If the Language tag is found
  7722         // If the Language tag is found
  7732         (
  7739         (
  7733         const TTsyReqHandle aReqHandle, // Request handle
  7740         const TTsyReqHandle aReqHandle, // Request handle
  7734         TDes8*              aDataPtr    // Pointer to data
  7741         TDes8*              aDataPtr    // Pointer to data
  7735         )
  7742         )
  7736     {
  7743     {
  7737     OstTrace0( TRACE_NORMAL, CSATNOTIFYLANGUAGENOTIFICATION_NOTIFY, "CSatNotifyLanguageNotification::Notify" );
  7744     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLANGUAGENOTIFICATION_NOTIFY_TD, "CSatNotifyLanguageNotification::Notify" );
  7738     TFLOGSTRING("CSatNotifyLanguageNotification::Notify");
  7745     TFLOGSTRING("CSatNotifyLanguageNotification::Notify");
  7739     iReqHandle = aReqHandle;
  7746     iReqHandle = aReqHandle;
  7740     iLanguageNotificationV2Pckg =
  7747     iLanguageNotificationV2Pckg =
  7741         static_cast< RSat::TLanguageNotificationV2Pckg* >( aDataPtr );
  7748         static_cast< RSat::TLanguageNotificationV2Pckg* >( aDataPtr );
  7742     iSatMessaging->SatReady( KLanguageNotification );
  7749     iSatMessaging->SatReady( KLanguageNotification );
  7753 TInt CSatNotifyLanguageNotification::TerminalResponse
  7760 TInt CSatNotifyLanguageNotification::TerminalResponse
  7754         (
  7761         (
  7755         TDes8* aRsp // Response
  7762         TDes8* aRsp // Response
  7756         )
  7763         )
  7757     {
  7764     {
  7758     OstTrace0( TRACE_NORMAL, CSATNOTIFYLANGUAGENOTIFICATION_TERMINALRESPONSE, "CSatNotifyLanguageNotification::TerminalResponse" );
  7765     OstTrace0( TRACE_NORMAL,  CSATNOTIFYLANGUAGENOTIFICATION_TERMINALRESPONSE_TD, "CSatNotifyLanguageNotification::TerminalResponse" );
  7759     TFLOGSTRING("CSatNotifyLanguageNotification::TerminalResponse");
  7766     TFLOGSTRING("CSatNotifyLanguageNotification::TerminalResponse");
  7760     TUint8 additionalInfo( 0 );
  7767     TUint8 additionalInfo( 0 );
  7761     RSat::TLanguageNotificationRspV2Pckg* aRspPckg =
  7768     RSat::TLanguageNotificationRspV2Pckg* aRspPckg =
  7762             reinterpret_cast< RSat::TLanguageNotificationRspV2Pckg* >( aRsp );
  7769             reinterpret_cast< RSat::TLanguageNotificationRspV2Pckg* >( aRsp );
  7763     RSat::TLanguageNotificationRspV2& rspV1 = ( *aRspPckg ) ();
  7770     RSat::TLanguageNotificationRspV2& rspV1 = ( *aRspPckg ) ();
  7787         iOpenBaseChannelV2Pckg( NULL ),
  7794         iOpenBaseChannelV2Pckg( NULL ),
  7788         iOpenCsChannelV2Pckg( NULL ),
  7795         iOpenCsChannelV2Pckg( NULL ),
  7789         iOpenGprsChannelV4Pckg( NULL ),
  7796         iOpenGprsChannelV4Pckg( NULL ),
  7790         iOpenLocalLinksChannelV2Pckg( NULL )
  7797         iOpenLocalLinksChannelV2Pckg( NULL )
  7791     {
  7798     {
  7792     OstTrace0( TRACE_NORMAL, CSATNOTIFYOPENCHANNEL_CSATNOTIFYOPENCHANNEL, "CSatNotifyOpenChannel::CSatNotifyOpenChannel" );
  7799     OstTrace0( TRACE_NORMAL,  CSATNOTIFYOPENCHANNEL_CSATNOTIFYOPENCHANNEL_TD, "CSatNotifyOpenChannel::CSatNotifyOpenChannel" );
  7793     // Following results are also allowed for this command:
  7800     // Following results are also allowed for this command:
  7794     // (in addition to result declared in base class constructor)
  7801     // (in addition to result declared in base class constructor)
  7795     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  7802     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  7796         + RSat::KPerformedWithModifications+ RSat::KPSessionTerminatedByUser
  7803         + RSat::KPerformedWithModifications+ RSat::KPSessionTerminatedByUser
  7797         + RSat::KNetworkUnableToProcessCmd + RSat::KPCmdNotAcceptedByUser
  7804         + RSat::KNetworkUnableToProcessCmd + RSat::KPCmdNotAcceptedByUser
  7805 // Destructor
  7812 // Destructor
  7806 // -----------------------------------------------------------------------------
  7813 // -----------------------------------------------------------------------------
  7807 //
  7814 //
  7808 CSatNotifyOpenChannel::~CSatNotifyOpenChannel()
  7815 CSatNotifyOpenChannel::~CSatNotifyOpenChannel()
  7809     {
  7816     {
  7810     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYOPENCHANNEL_CSATNOTIFYOPENCHANNEL, "CSatNotifyOpenChannel::~CSatNotifyOpenChannel" );
  7817     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYOPENCHANNEL_CSATNOTIFYOPENCHANNEL_TD, "CSatNotifyOpenChannel::~CSatNotifyOpenChannel" );
  7811     // None
  7818     // None
  7812     }
  7819     }
  7813 
  7820 
  7814 // -----------------------------------------------------------------------------
  7821 // -----------------------------------------------------------------------------
  7815 // CSatNotifyOpenChannel::MessageReceived
  7822 // CSatNotifyOpenChannel::MessageReceived
  7821 void CSatNotifyOpenChannel::MessageReceived
  7828 void CSatNotifyOpenChannel::MessageReceived
  7822         (
  7829         (
  7823         const TIsiReceiveC& aIsiMessage // ISI message
  7830         const TIsiReceiveC& aIsiMessage // ISI message
  7824         )
  7831         )
  7825     {
  7832     {
  7826     OstTrace0( TRACE_NORMAL, CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED, "CSatNotifyOpenChannel::MessageReceived" );
  7833     OstTrace0( TRACE_NORMAL,  CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED_TD, "CSatNotifyOpenChannel::MessageReceived" );
  7827     TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived");
  7834     TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived");
  7828     TInt ret( KErrNone );
  7835     TInt ret( KErrNone );
  7829     // Get ber tlv
  7836     // Get ber tlv
  7830     CBerTlv berTlv;
  7837     CBerTlv berTlv;
  7831     berTlv.BerTlv( aIsiMessage );
  7838     berTlv.BerTlv( aIsiMessage );
  7835     iCommandDetails.Copy( commandDetails.Data() );
  7842     iCommandDetails.Copy( commandDetails.Data() );
  7836     iTransId = aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID );
  7843     iTransId = aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID );
  7837     if ( !iReqHandle )
  7844     if ( !iReqHandle )
  7838         {
  7845         {
  7839         TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - Request Off");
  7846         TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - Request Off");
  7840         OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED, "CSatNotifyOpenChannel::MessageReceived - Request Off" );
  7847         OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED_TD, "CSatNotifyOpenChannel::MessageReceived - Request Off" );
  7841         // Request not on, returning response immediately
  7848         // Request not on, returning response immediately
  7842         TBuf8<1> noBearer( 0 );
  7849         TBuf8<1> noBearer( 0 );
  7843         TBuf8<1> noAdditionalInfo( 0 );
  7850         TBuf8<1> noAdditionalInfo( 0 );
  7844         TUint16 noBufferSize( 0 );
  7851         TUint16 noBufferSize( 0 );
  7845         iSatMessHandler->OpenChannelTerminalResp(
  7852         iSatMessHandler->OpenChannelTerminalResp(
  7955             switch ( openChannelV2.iBearer.iType )
  7962             switch ( openChannelV2.iBearer.iType )
  7956                 {
  7963                 {
  7957                 case RSat::EGPRSBearer:
  7964                 case RSat::EGPRSBearer:
  7958                     {
  7965                     {
  7959                     TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - GPRS Bearer");
  7966                     TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - GPRS Bearer");
  7960                     OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED, "CSatNotifyOpenChannel::MessageReceived - GPRS Bearer" );
  7967                     OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED_TD, "CSatNotifyOpenChannel::MessageReceived - GPRS Bearer" );
  7961                     // Fill in TOpenGprsChannelV4
  7968                     // Fill in TOpenGprsChannelV4
  7962                     RSat::TOpenGprsChannelV4& openGprsChannelV4
  7969                     RSat::TOpenGprsChannelV4& openGprsChannelV4
  7963                         = ( *iOpenGprsChannelV4Pckg )();
  7970                         = ( *iOpenGprsChannelV4Pckg )();
  7964                     openGprsChannelV4
  7971                     openGprsChannelV4
  7965                         = static_cast<RSat::TOpenGprsChannelV4&>( openChannelV2 );
  7972                         = static_cast<RSat::TOpenGprsChannelV4&>( openChannelV2 );
  7973                         }
  7980                         }
  7974                     else
  7981                     else
  7975                         {
  7982                         {
  7976                         TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived -\
  7983                         TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived -\
  7977                             Local Adress - not present");
  7984                             Local Adress - not present");
  7978                         OstTrace0( TRACE_NORMAL, DUP3_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED, "CSatNotifyOpenChannel::MessageReceived - Local Adress - not present" );
  7985                         OstTrace0( TRACE_NORMAL,  DUP3_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED_TD, "CSatNotifyOpenChannel::MessageReceived - Local Adress - not present" );
  7979                         openGprsChannelV4.iLocalAddress.iType =
  7986                         openGprsChannelV4.iLocalAddress.iType =
  7980                             RSat::EAddressNotPresent;
  7987                             RSat::EAddressNotPresent;
  7981                         }
  7988                         }
  7982 
  7989 
  7983                     // Handling GPRS bearer specific data
  7990                     // Handling GPRS bearer specific data
  7989                     break;
  7996                     break;
  7990                     }
  7997                     }
  7991                 case RSat::EDefaultBearer:
  7998                 case RSat::EDefaultBearer:
  7992                     {
  7999                     {
  7993                     TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - Default Bearer");
  8000                     TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - Default Bearer");
  7994                     OstTrace0( TRACE_NORMAL, DUP4_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED, "CSatNotifyOpenChannel::MessageReceived - Default Bearer" );
  8001                     OstTrace0( TRACE_NORMAL,  DUP4_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED_TD, "CSatNotifyOpenChannel::MessageReceived - Default Bearer" );
  7995                     // Fill in TOpenChannelBaseV2
  8002                     // Fill in TOpenChannelBaseV2
  7996                     openChannelV2.iPCmdType = RSat::EAnyBearer;
  8003                     openChannelV2.iPCmdType = RSat::EAnyBearer;
  7997                     break;
  8004                     break;
  7998                     }
  8005                     }
  7999                 case RSat::ECSDBearer:
  8006                 case RSat::ECSDBearer:
  8001                 case RSat::EIrDaBearer:
  8008                 case RSat::EIrDaBearer:
  8002                 case RSat::ERS232Bearer:
  8009                 case RSat::ERS232Bearer:
  8003                 case RSat::EUSBBearer:
  8010                 case RSat::EUSBBearer:
  8004                     {
  8011                     {
  8005                     TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - Bearer not supported");
  8012                     TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - Bearer not supported");
  8006                     OstTrace0( TRACE_NORMAL, DUP5_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED, "CSatNotifyOpenChannel::MessageReceived - Bearer not supported" );
  8013                     OstTrace0( TRACE_NORMAL,  DUP5_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED_TD, "CSatNotifyOpenChannel::MessageReceived - Bearer not supported" );
  8007                     // Bearer not supported
  8014                     // Bearer not supported
  8008                     TBuf8<1> noAdditionalInfo( 0 );
  8015                     TBuf8<1> noAdditionalInfo( 0 );
  8009                     iSatMessHandler->OpenChannelTerminalResp(
  8016                     iSatMessHandler->OpenChannelTerminalResp(
  8010                          iTransId,
  8017                          iTransId,
  8011                          iCommandDetails,
  8018                          iCommandDetails,
  8019                     }
  8026                     }
  8020                 default:
  8027                 default:
  8021                     {
  8028                     {
  8022                     // Bearer not supported (RFU)
  8029                     // Bearer not supported (RFU)
  8023                     TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - Bearer not supported");
  8030                     TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - Bearer not supported");
  8024                     OstTrace0( TRACE_NORMAL, DUP6_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED, "CSatNotifyOpenChannel::MessageReceived - Bearer not supported" );
  8031                     OstTrace0( TRACE_NORMAL,  DUP6_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED_TD, "CSatNotifyOpenChannel::MessageReceived - Bearer not supported" );
  8025                     // Required values missing
  8032                     // Required values missing
  8026                     TBuf8<1> noBearer( 0 );
  8033                     TBuf8<1> noBearer( 0 );
  8027                     TBuf8<1> noAdditionalInfo( 0 );
  8034                     TBuf8<1> noAdditionalInfo( 0 );
  8028                     TUint16 noBufferSize( 0 );
  8035                     TUint16 noBufferSize( 0 );
  8029                     iSatMessHandler->OpenChannelTerminalResp(
  8036                     iSatMessHandler->OpenChannelTerminalResp(
  8040                 } // End of switch according to bearer type
  8047                 } // End of switch according to bearer type
  8041             }
  8048             }
  8042         else
  8049         else
  8043             {
  8050             {
  8044             TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - Required values missing");
  8051             TFLOGSTRING("TSY: CSatNotifyOpenChannel::MessageReceived - Required values missing");
  8045             OstTrace0( TRACE_NORMAL, DUP7_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED, "CSatNotifyOpenChannel::MessageReceived - Required values missing" );
  8052             OstTrace0( TRACE_NORMAL,  DUP7_CSATNOTIFYOPENCHANNEL_MESSAGERECEIVED_TD, "CSatNotifyOpenChannel::MessageReceived - Required values missing" );
  8046             // Required values missing
  8053             // Required values missing
  8047             TBuf8<1> noBearer( 0 );
  8054             TBuf8<1> noBearer( 0 );
  8048             TBuf8<1> noAdditionalInfo( 0 );
  8055             TBuf8<1> noAdditionalInfo( 0 );
  8049             TUint16 noBufferSize( 0 );
  8056             TUint16 noBufferSize( 0 );
  8050             iSatMessHandler->OpenChannelTerminalResp(
  8057             iSatMessHandler->OpenChannelTerminalResp(
  8073         (
  8080         (
  8074         const TTsyReqHandle aReqHandle, // Request handle
  8081         const TTsyReqHandle aReqHandle, // Request handle
  8075         TDes8*              aDataPtr    // Pointer to data
  8082         TDes8*              aDataPtr    // Pointer to data
  8076         )
  8083         )
  8077     {
  8084     {
  8078     OstTrace0( TRACE_NORMAL, CSATNOTIFYOPENCHANNEL_NOTIFY, "CSatNotifyOpenChannel::Notify" );
  8085     OstTrace0( TRACE_NORMAL,  CSATNOTIFYOPENCHANNEL_NOTIFY_TD, "CSatNotifyOpenChannel::Notify" );
  8079     TFLOGSTRING("CSatNotifyOpenChannel::Notify");
  8086     TFLOGSTRING("CSatNotifyOpenChannel::Notify");
  8080     iReqHandle = aReqHandle;
  8087     iReqHandle = aReqHandle;
  8081     iOpenBaseChannelV2Pckg =
  8088     iOpenBaseChannelV2Pckg =
  8082         static_cast< RSat::TOpenChannelBaseV2Pckg* >( aDataPtr );
  8089         static_cast< RSat::TOpenChannelBaseV2Pckg* >( aDataPtr );
  8083     iOpenCsChannelV2Pckg =
  8090     iOpenCsChannelV2Pckg =
  8099 TInt CSatNotifyOpenChannel::TerminalResponse
  8106 TInt CSatNotifyOpenChannel::TerminalResponse
  8100         (
  8107         (
  8101         TDes8* aRsp // Response
  8108         TDes8* aRsp // Response
  8102         )
  8109         )
  8103     {
  8110     {
  8104     OstTrace0( TRACE_NORMAL, CSATNOTIFYOPENCHANNEL_TERMINALRESPONSE, "CSatNotifyOpenChannel::TerminalResponse" );
  8111     OstTrace0( TRACE_NORMAL,  CSATNOTIFYOPENCHANNEL_TERMINALRESPONSE_TD, "CSatNotifyOpenChannel::TerminalResponse" );
  8105     TFLOGSTRING("CSatNotifyOpenChannel::TerminalResponse");
  8112     TFLOGSTRING("CSatNotifyOpenChannel::TerminalResponse");
  8106     TInt   ret( KErrNone );
  8113     TInt   ret( KErrNone );
  8107     TBuf8<RSat::KAdditionalInfoMaxSize> additionalInfo;
  8114     TBuf8<RSat::KAdditionalInfoMaxSize> additionalInfo;
  8108     additionalInfo.Zero();
  8115     additionalInfo.Zero();
  8109     RSat::TOpenChannelRspV2Pckg* aRspPckg =
  8116     RSat::TOpenChannelRspV2Pckg* aRspPckg =
  8154         (
  8161         (
  8155         CTlv& aBearerDescriptionTlv,
  8162         CTlv& aBearerDescriptionTlv,
  8156         RSat::TBearer& aBearer
  8163         RSat::TBearer& aBearer
  8157         )
  8164         )
  8158     {
  8165     {
  8159     OstTrace0( TRACE_NORMAL, CSATNOTIFYOPENCHANNEL_GETBEARERTYPEANDPARAMS, "CSatNotifyOpenChannel::GetBearerTypeAndParams" );
  8166     OstTrace0( TRACE_NORMAL,  CSATNOTIFYOPENCHANNEL_GETBEARERTYPEANDPARAMS_TD, "CSatNotifyOpenChannel::GetBearerTypeAndParams" );
  8160     TFLOGSTRING("TSY: CSatNotifyOpenChannel::GetBearerTypeAndParams");
  8167     TFLOGSTRING("TSY: CSatNotifyOpenChannel::GetBearerTypeAndParams");
  8161     TUint8 bearerType( aBearerDescriptionTlv.GetShortInfo( ETLV_BearerType ) );
  8168     TUint8 bearerType( aBearerDescriptionTlv.GetShortInfo( ETLV_BearerType ) );
  8162 
  8169 
  8163     // Switch for setting bearer type values
  8170     // Switch for setting bearer type values
  8164     switch( bearerType )
  8171     switch( bearerType )
  8223         CBerTlv& aBerTlv,
  8230         CBerTlv& aBerTlv,
  8224         RSat::TSimMeInterface& aSimMeInterface,
  8231         RSat::TSimMeInterface& aSimMeInterface,
  8225         RSat::TOtherAddress& aDestinationAddress
  8232         RSat::TOtherAddress& aDestinationAddress
  8226         )
  8233         )
  8227     {
  8234     {
  8228     OstTrace0( TRACE_NORMAL, CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress" );
  8235     OstTrace0( TRACE_NORMAL,  CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS_TD, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress" );
  8229     TFLOGSTRING("TSY: CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress");
  8236     TFLOGSTRING("TSY: CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress");
  8230 
  8237 
  8231     // SIM/ME Interface transport level ( Optional )
  8238     // SIM/ME Interface transport level ( Optional )
  8232     CTlv simMeInterfaceTlv;
  8239     CTlv simMeInterfaceTlv;
  8233 
  8240 
  8234     if ( KErrNone == aBerTlv.TlvByTagValue( &simMeInterfaceTlv,
  8241     if ( KErrNone == aBerTlv.TlvByTagValue( &simMeInterfaceTlv,
  8235         KTlvSimMeTransportLevelTag ) )
  8242         KTlvSimMeTransportLevelTag ) )
  8236         {
  8243         {
  8237         TFLOGSTRING("CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress -\
  8244         TFLOGSTRING("CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress -\
  8238             SIM/ME Interface");
  8245             SIM/ME Interface");
  8239         OstTrace0( TRACE_NORMAL, DUP5_CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress - SIM/ME Interface" );
  8246         OstTrace0( TRACE_NORMAL,  DUP5_CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS_TD, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress - SIM/ME Interface" );
  8240 
  8247 
  8241         aSimMeInterface.iPrtNumber = simMeInterfaceTlv.GetLongInfo(
  8248         aSimMeInterface.iPrtNumber = simMeInterfaceTlv.GetLongInfo(
  8242             ETLV_PortNumber );
  8249             ETLV_PortNumber );
  8243         TUint8 protocol( simMeInterfaceTlv.GetShortInfo(
  8250         TUint8 protocol( simMeInterfaceTlv.GetShortInfo(
  8244             ETLV_TransportProtocolType ) );
  8251             ETLV_TransportProtocolType ) );
  8258         }
  8265         }
  8259     else
  8266     else
  8260         {
  8267         {
  8261         TFLOGSTRING("TSY: CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress -\
  8268         TFLOGSTRING("TSY: CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress -\
  8262             SIM/ME Interface - Not present");
  8269             SIM/ME Interface - Not present");
  8263         OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress -SIM/ME Interface - Not present" );
  8270         OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS_TD, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress -SIM/ME Interface - Not present" );
  8264         aSimMeInterface.iTransportProto = RSat::EProtocolNotPresent;
  8271         aSimMeInterface.iTransportProto = RSat::EProtocolNotPresent;
  8265         }
  8272         }
  8266 
  8273 
  8267     // Data destination address
  8274     // Data destination address
  8268     // The Data Destination Address is the end point destination
  8275     // The Data Destination Address is the end point destination
  8314         }
  8321         }
  8315     else
  8322     else
  8316         {
  8323         {
  8317         TFLOGSTRING("TSY: CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress,\
  8324         TFLOGSTRING("TSY: CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress,\
  8318             Transport protocol did not match.");
  8325             Transport protocol did not match.");
  8319         OstTrace0( TRACE_NORMAL, DUP2_CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress, Transport protocol did not match." );
  8326         OstTrace0( TRACE_NORMAL,  DUP2_CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS_TD, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress, Transport protocol did not match." );
  8320         }
  8327         }
  8321 
  8328 
  8322     // Other Address - Set Destination Address
  8329     // Other Address - Set Destination Address
  8323     if( dataDestAddressTlv )
  8330     if( dataDestAddressTlv )
  8324         {
  8331         {
  8325         TFLOGSTRING("TSY: CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress -\
  8332         TFLOGSTRING("TSY: CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress -\
  8326             Destination Address");
  8333             Destination Address");
  8327         OstTrace0( TRACE_NORMAL, DUP3_CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress - Destination Address" );
  8334         OstTrace0( TRACE_NORMAL,  DUP3_CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS_TD, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress - Destination Address" );
  8328         TUint8 typeOfAddress( dataDestAddressTlv->GetShortInfo(
  8335         TUint8 typeOfAddress( dataDestAddressTlv->GetShortInfo(
  8329             ETLV_TypeOfAddress ) );
  8336             ETLV_TypeOfAddress ) );
  8330         switch( typeOfAddress )
  8337         switch( typeOfAddress )
  8331             {
  8338             {
  8332             case KIPV4: // IPv4
  8339             case KIPV4: // IPv4
  8354         }
  8361         }
  8355     else
  8362     else
  8356         {
  8363         {
  8357         TFLOGSTRING("TSY: CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress -\
  8364         TFLOGSTRING("TSY: CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress -\
  8358             Destination Address - Not present");
  8365             Destination Address - Not present");
  8359         OstTrace0( TRACE_NORMAL, DUP4_CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress - Destination Address - Not present" );
  8366         OstTrace0( TRACE_NORMAL,  DUP4_CSATNOTIFYOPENCHANNEL_SIMMEINTERFACEANDDATADESTINATIONADDRESS_TD, "CSatNotifyOpenChannel::SimMeInterfaceAndDataDestinationAddress - Destination Address - Not present" );
  8360         aDestinationAddress.iType = RSat::EAddressNotPresent;
  8367         aDestinationAddress.iType = RSat::EAddressNotPresent;
  8361         } // End of Other Address - Set Destination Address
  8368         } // End of Other Address - Set Destination Address
  8362 
  8369 
  8363     return retValueLocalAdd;
  8370     return retValueLocalAdd;
  8364     }
  8371     }
  8372         (
  8379         (
  8373         CBerTlv& aBerTlv,
  8380         CBerTlv& aBerTlv,
  8374         RSat::TOtherAddress& aLocalAddress
  8381         RSat::TOtherAddress& aLocalAddress
  8375         )
  8382         )
  8376     {
  8383     {
  8377     OstTrace0( TRACE_NORMAL, CSATNOTIFYOPENCHANNEL_LOCALADDRESS, "CSatNotifyOpenChannel::LocalAddress" );
  8384     OstTrace0( TRACE_NORMAL,  CSATNOTIFYOPENCHANNEL_LOCALADDRESS_TD, "CSatNotifyOpenChannel::LocalAddress" );
  8378     TFLOGSTRING("TSY: CSatNotifyOpenChannel::LocalAddress");
  8385     TFLOGSTRING("TSY: CSatNotifyOpenChannel::LocalAddress");
  8379 
  8386 
  8380     // Other Address - Set Local Address ( Optional )
  8387     // Other Address - Set Local Address ( Optional )
  8381     CTlv localAddressTlv;
  8388     CTlv localAddressTlv;
  8382 
  8389 
  8405                 }
  8412                 }
  8406             }
  8413             }
  8407         else
  8414         else
  8408             {
  8415             {
  8409             TFLOGSTRING("TSY: CSatNotifyOpenChannel::LocalAddress - not present");
  8416             TFLOGSTRING("TSY: CSatNotifyOpenChannel::LocalAddress - not present");
  8410             OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYOPENCHANNEL_LOCALADDRESS, "CSatNotifyOpenChannel::LocalAddress - not present" );
  8417             OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYOPENCHANNEL_LOCALADDRESS_TD, "CSatNotifyOpenChannel::LocalAddress - not present" );
  8411             aLocalAddress.iType = RSat::EAddressNotPresent;
  8418             aLocalAddress.iType = RSat::EAddressNotPresent;
  8412             } // End of If Other local address present
  8419             } // End of If Other local address present
  8413         }
  8420         }
  8414     }
  8421     }
  8415 
  8422 
  8422         (
  8429         (
  8423         CBerTlv& aBerTlv,
  8430         CBerTlv& aBerTlv,
  8424         RSat::TOpenGprsChannelV4& aOpenGprsChannelV4
  8431         RSat::TOpenGprsChannelV4& aOpenGprsChannelV4
  8425         )
  8432         )
  8426     {
  8433     {
  8427     OstTrace0( TRACE_NORMAL, CSATNOTIFYOPENCHANNEL_GPRSBEARERSPECIFIC, "CSatNotifyOpenChannel::GprsBearerSpecific" );
  8434     OstTrace0( TRACE_NORMAL,  CSATNOTIFYOPENCHANNEL_GPRSBEARERSPECIFIC_TD, "CSatNotifyOpenChannel::GprsBearerSpecific" );
  8428     TFLOGSTRING("TSY: CSatNotifyOpenChannel::GprsBearerSpecific");
  8435     TFLOGSTRING("TSY: CSatNotifyOpenChannel::GprsBearerSpecific");
  8429 
  8436 
  8430     // Network Access Point Name ( Optional )
  8437     // Network Access Point Name ( Optional )
  8431     CTlv nanTlv;
  8438     CTlv nanTlv;
  8432     // If Network Access Point Name present
  8439     // If Network Access Point Name present
  8433     if ( KErrNone == aBerTlv.TlvByTagValue( &nanTlv,
  8440     if ( KErrNone == aBerTlv.TlvByTagValue( &nanTlv,
  8434         KTlvNetworkAccessNameTag ) )
  8441         KTlvNetworkAccessNameTag ) )
  8435         {
  8442         {
  8436         TFLOGSTRING("TSY: CSatNotifyOpenChannel::GprsBearerSpecific -\
  8443         TFLOGSTRING("TSY: CSatNotifyOpenChannel::GprsBearerSpecific -\
  8437             Access Point name");
  8444             Access Point name");
  8438         OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYOPENCHANNEL_GPRSBEARERSPECIFIC, "CSatNotifyOpenChannel::GprsBearerSpecific - Access Point name" );
  8445         OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYOPENCHANNEL_GPRSBEARERSPECIFIC_TD, "CSatNotifyOpenChannel::GprsBearerSpecific - Access Point name" );
  8439         aOpenGprsChannelV4.iAccessName =
  8446         aOpenGprsChannelV4.iAccessName =
  8440             nanTlv.GetData( ETLV_NetworkAccessName );
  8447             nanTlv.GetData( ETLV_NetworkAccessName );
  8441         }
  8448         }
  8442 
  8449 
  8443     // Text string - User Login ( Optional )
  8450     // Text string - User Login ( Optional )
  8460         )
  8467         )
  8461         :
  8468         :
  8462         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  8469         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  8463         iGetChannelStatusRspV2Pckg( NULL )
  8470         iGetChannelStatusRspV2Pckg( NULL )
  8464     {
  8471     {
  8465     OstTrace0( TRACE_NORMAL, CSATNOTIFYGETCHANNELSTATUS_CSATNOTIFYGETCHANNELSTATUS, "CSatNotifyGetChannelStatus::CSatNotifyGetChannelStatus" );
  8472     OstTrace0( TRACE_NORMAL,  CSATNOTIFYGETCHANNELSTATUS_CSATNOTIFYGETCHANNELSTATUS_TD, "CSatNotifyGetChannelStatus::CSatNotifyGetChannelStatus" );
  8466     // Following results are also allowed for this command:
  8473     // Following results are also allowed for this command:
  8467     // (in addition to result declared in base class constructor)
  8474     // (in addition to result declared in base class constructor)
  8468     iAllowedResults += RSat::KPSessionTerminatedByUser
  8475     iAllowedResults += RSat::KPSessionTerminatedByUser
  8469         + RSat::KErrorRequiredValuesMissing;
  8476         + RSat::KErrorRequiredValuesMissing;
  8470     }
  8477     }
  8474 // Destructor
  8481 // Destructor
  8475 // -----------------------------------------------------------------------------
  8482 // -----------------------------------------------------------------------------
  8476 //
  8483 //
  8477 CSatNotifyGetChannelStatus::~CSatNotifyGetChannelStatus()
  8484 CSatNotifyGetChannelStatus::~CSatNotifyGetChannelStatus()
  8478     {
  8485     {
  8479     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYGETCHANNELSTATUS_CSATNOTIFYGETCHANNELSTATUS, "CSatNotifyGetChannelStatus::~CSatNotifyGetChannelStatus" );
  8486     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYGETCHANNELSTATUS_CSATNOTIFYGETCHANNELSTATUS_TD, "CSatNotifyGetChannelStatus::~CSatNotifyGetChannelStatus" );
  8480     // None
  8487     // None
  8481     }
  8488     }
  8482 
  8489 
  8483 // -----------------------------------------------------------------------------
  8490 // -----------------------------------------------------------------------------
  8484 // CSatNotifyGetChannelStatus::MessageReceived
  8491 // CSatNotifyGetChannelStatus::MessageReceived
  8490 void CSatNotifyGetChannelStatus::MessageReceived
  8497 void CSatNotifyGetChannelStatus::MessageReceived
  8491         (
  8498         (
  8492         const TIsiReceiveC& aIsiMessage    // Received isi-message
  8499         const TIsiReceiveC& aIsiMessage    // Received isi-message
  8493         )
  8500         )
  8494     {
  8501     {
  8495     OstTrace0( TRACE_NORMAL, CSATNOTIFYGETCHANNELSTATUS_MESSAGERECEIVED, "CSatNotifyGetChannelStatus::MessageReceived" );
  8502     OstTrace0( TRACE_NORMAL,  CSATNOTIFYGETCHANNELSTATUS_MESSAGERECEIVED_TD, "CSatNotifyGetChannelStatus::MessageReceived" );
  8496     TFLOGSTRING("CSatNotifyGetChannelStatus::MessageReceived");
  8503     TFLOGSTRING("CSatNotifyGetChannelStatus::MessageReceived");
  8497     // Get ber tlv
  8504     // Get ber tlv
  8498     CBerTlv berTlv;
  8505     CBerTlv berTlv;
  8499     berTlv.BerTlv( aIsiMessage );
  8506     berTlv.BerTlv( aIsiMessage );
  8500     // Get command details tlv
  8507     // Get command details tlv
  8536         (
  8543         (
  8537         const TTsyReqHandle aReqHandle, // Request handle
  8544         const TTsyReqHandle aReqHandle, // Request handle
  8538         TDes8*              aDataPtr    // Pointer to data
  8545         TDes8*              aDataPtr    // Pointer to data
  8539         )
  8546         )
  8540     {
  8547     {
  8541     OstTrace1( TRACE_NORMAL, CSATNOTIFYGETCHANNELSTATUS_NOTIFY, "CSatNotifyGetChannelStatus::Notify Handle: %u", aReqHandle );
  8548     OstTrace1( TRACE_NORMAL,  CSATNOTIFYGETCHANNELSTATUS_NOTIFY_TD, "CSatNotifyGetChannelStatus::Notify Handle: %u", aReqHandle );
  8542     TFLOGSTRING2("CSatNotifyGetChannelStatus::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  8549     TFLOGSTRING2("CSatNotifyGetChannelStatus::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  8543                aReqHandle );
  8550                aReqHandle );
  8544     iReqHandle = aReqHandle;
  8551     iReqHandle = aReqHandle;
  8545     iGetChannelStatusRspV2Pckg =
  8552     iGetChannelStatusRspV2Pckg =
  8546         static_cast< RSat::TGetChannelStatusV2Pckg* >( aDataPtr );
  8553         static_cast< RSat::TGetChannelStatusV2Pckg* >( aDataPtr );
  8558 TInt CSatNotifyGetChannelStatus::TerminalResponse
  8565 TInt CSatNotifyGetChannelStatus::TerminalResponse
  8559         (
  8566         (
  8560         TDes8* aRsp     // Response package
  8567         TDes8* aRsp     // Response package
  8561         )
  8568         )
  8562     {
  8569     {
  8563     OstTrace0( TRACE_NORMAL, CSATNOTIFYGETCHANNELSTATUS_TERMINALRESPONSE, "CSatNotifyGetChannelStatus::TerminalResponse" );
  8570     OstTrace0( TRACE_NORMAL,  CSATNOTIFYGETCHANNELSTATUS_TERMINALRESPONSE_TD, "CSatNotifyGetChannelStatus::TerminalResponse" );
  8564     TFLOGSTRING("CSatNotifyGetChannelStatus::TerminalResponse");
  8571     TFLOGSTRING("CSatNotifyGetChannelStatus::TerminalResponse");
  8565     TInt   ret( KErrNone );
  8572     TInt   ret( KErrNone );
  8566     TBuf8<RSat::KAdditionalInfoMaxSize> additionalInfo;
  8573     TBuf8<RSat::KAdditionalInfoMaxSize> additionalInfo;
  8567     additionalInfo.Zero();
  8574     additionalInfo.Zero();
  8568     RSat::TGetChannelStatusRspV2Pckg* aRspPckg =
  8575     RSat::TGetChannelStatusRspV2Pckg* aRspPckg =
  8609         )
  8616         )
  8610         :
  8617         :
  8611         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  8618         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  8612         iCloseChannelRspV2Pckg( NULL )
  8619         iCloseChannelRspV2Pckg( NULL )
  8613     {
  8620     {
  8614     OstTrace0( TRACE_NORMAL, CSATNOTIFYCLOSECHANNEL_CSATNOTIFYCLOSECHANNEL, "CSatNotifyCloseChannel::CSatNotifyCloseChannel" );
  8621     OstTrace0( TRACE_NORMAL,  CSATNOTIFYCLOSECHANNEL_CSATNOTIFYCLOSECHANNEL_TD, "CSatNotifyCloseChannel::CSatNotifyCloseChannel" );
  8615     // Following results are also allowed for this command:
  8622     // Following results are also allowed for this command:
  8616     // (in addition to result declared in base class constructor)
  8623     // (in addition to result declared in base class constructor)
  8617     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  8624     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  8618         + RSat::KPSessionTerminatedByUser + RSat::KErrorRequiredValuesMissing
  8625         + RSat::KPSessionTerminatedByUser + RSat::KErrorRequiredValuesMissing
  8619         + RSat::KBearerIndepProtocolError;
  8626         + RSat::KBearerIndepProtocolError;
  8624 // Destructor
  8631 // Destructor
  8625 // -----------------------------------------------------------------------------
  8632 // -----------------------------------------------------------------------------
  8626 //
  8633 //
  8627 CSatNotifyCloseChannel::~CSatNotifyCloseChannel()
  8634 CSatNotifyCloseChannel::~CSatNotifyCloseChannel()
  8628     {
  8635     {
  8629     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYCLOSECHANNEL_CSATNOTIFYCLOSECHANNEL, "CSatNotifyCloseChannel::~CSatNotifyCloseChannel" );
  8636     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYCLOSECHANNEL_CSATNOTIFYCLOSECHANNEL_TD, "CSatNotifyCloseChannel::~CSatNotifyCloseChannel" );
  8630     // None
  8637     // None
  8631     }
  8638     }
  8632 
  8639 
  8633 // -----------------------------------------------------------------------------
  8640 // -----------------------------------------------------------------------------
  8634 // CSatNotifyCloseChannel::MessageReceived
  8641 // CSatNotifyCloseChannel::MessageReceived
  8640 void CSatNotifyCloseChannel::MessageReceived
  8647 void CSatNotifyCloseChannel::MessageReceived
  8641         (
  8648         (
  8642         const TIsiReceiveC& aIsiMessage    // Received isi-message
  8649         const TIsiReceiveC& aIsiMessage    // Received isi-message
  8643         )
  8650         )
  8644     {
  8651     {
  8645     OstTrace0( TRACE_NORMAL, CSATNOTIFYCLOSECHANNEL_MESSAGERECEIVED, "CSatNotifyCloseChannel::MessageReceived" );
  8652     OstTrace0( TRACE_NORMAL,  CSATNOTIFYCLOSECHANNEL_MESSAGERECEIVED_TD, "CSatNotifyCloseChannel::MessageReceived" );
  8646     TFLOGSTRING("CSatNotifyCloseChannel::MessageReceived");
  8653     TFLOGSTRING("CSatNotifyCloseChannel::MessageReceived");
  8647     // Get ber tlv
  8654     // Get ber tlv
  8648     CBerTlv berTlv;
  8655     CBerTlv berTlv;
  8649     berTlv.BerTlv( aIsiMessage );
  8656     berTlv.BerTlv( aIsiMessage );
  8650     // Get command details tlv
  8657     // Get command details tlv
  8727         (
  8734         (
  8728         const TTsyReqHandle aReqHandle, // Request handle
  8735         const TTsyReqHandle aReqHandle, // Request handle
  8729         TDes8*              aDataPtr    // Pointer to data
  8736         TDes8*              aDataPtr    // Pointer to data
  8730         )
  8737         )
  8731     {
  8738     {
  8732     OstTrace1( TRACE_NORMAL, CSATNOTIFYCLOSECHANNEL_NOTIFY, "CSatNotifyCloseChannel::Notify Handle: %u", aReqHandle );
  8739     OstTrace1( TRACE_NORMAL,  CSATNOTIFYCLOSECHANNEL_NOTIFY_TD, "CSatNotifyCloseChannel::Notify Handle: %u", aReqHandle );
  8733     TFLOGSTRING2("CSatNotifyCloseChannel::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  8740     TFLOGSTRING2("CSatNotifyCloseChannel::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  8734                aReqHandle );
  8741                aReqHandle );
  8735     iReqHandle = aReqHandle;
  8742     iReqHandle = aReqHandle;
  8736     iCloseChannelRspV2Pckg =
  8743     iCloseChannelRspV2Pckg =
  8737         static_cast< RSat::TCloseChannelV2Pckg* >( aDataPtr );
  8744         static_cast< RSat::TCloseChannelV2Pckg* >( aDataPtr );
  8748 TInt CSatNotifyCloseChannel::TerminalResponse
  8755 TInt CSatNotifyCloseChannel::TerminalResponse
  8749         (
  8756         (
  8750         TDes8* aRsp     // Response package
  8757         TDes8* aRsp     // Response package
  8751         )
  8758         )
  8752     {
  8759     {
  8753     OstTrace0( TRACE_NORMAL, CSATNOTIFYCLOSECHANNEL_TERMINALRESPONSE, "CSatNotifyCloseChannel::TerminalResponse" );
  8760     OstTrace0( TRACE_NORMAL,  CSATNOTIFYCLOSECHANNEL_TERMINALRESPONSE_TD, "CSatNotifyCloseChannel::TerminalResponse" );
  8754     TFLOGSTRING("CSatNotifyCloseChannel::TerminalResponse");
  8761     TFLOGSTRING("CSatNotifyCloseChannel::TerminalResponse");
  8755     TInt   ret( KErrNone );
  8762     TInt   ret( KErrNone );
  8756     TBuf8<RSat::KAdditionalInfoMaxSize> additionalInfo;
  8763     TBuf8<RSat::KAdditionalInfoMaxSize> additionalInfo;
  8757     additionalInfo.Zero();
  8764     additionalInfo.Zero();
  8758     RSat::TCloseChannelRspV2Pckg* aRspPckg =
  8765     RSat::TCloseChannelRspV2Pckg* aRspPckg =
  8798         )
  8805         )
  8799         :
  8806         :
  8800         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  8807         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  8801         iSendDataRspV2Pckg( NULL )
  8808         iSendDataRspV2Pckg( NULL )
  8802     {
  8809     {
  8803     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDDATA_CSATNOTIFYSENDDATA, "CSatNotifySendData::CSatNotifySendData" );
  8810     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDDATA_CSATNOTIFYSENDDATA_TD, "CSatNotifySendData::CSatNotifySendData" );
  8804     // Following results are also allowed for this command:
  8811     // Following results are also allowed for this command:
  8805     // (in addition to result declared in base class constructor)
  8812     // (in addition to result declared in base class constructor)
  8806     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  8813     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  8807         + RSat::KPSessionTerminatedByUser + RSat::KNetworkUnableToProcessCmd
  8814         + RSat::KPSessionTerminatedByUser + RSat::KNetworkUnableToProcessCmd
  8808         + RSat::KErrorRequiredValuesMissing + RSat::KBearerIndepProtocolError;
  8815         + RSat::KErrorRequiredValuesMissing + RSat::KBearerIndepProtocolError;
  8813 // Destructor
  8820 // Destructor
  8814 // -----------------------------------------------------------------------------
  8821 // -----------------------------------------------------------------------------
  8815 //
  8822 //
  8816 CSatNotifySendData::~CSatNotifySendData()
  8823 CSatNotifySendData::~CSatNotifySendData()
  8817     {
  8824     {
  8818     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYSENDDATA_CSATNOTIFYSENDDATA, "CSatNotifySendData::~CSatNotifySendData" );
  8825     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYSENDDATA_CSATNOTIFYSENDDATA_TD, "CSatNotifySendData::~CSatNotifySendData" );
  8819     // None
  8826     // None
  8820     }
  8827     }
  8821 
  8828 
  8822 // -----------------------------------------------------------------------------
  8829 // -----------------------------------------------------------------------------
  8823 // CSatNotifySendData::MessageReceived
  8830 // CSatNotifySendData::MessageReceived
  8829 void CSatNotifySendData::MessageReceived
  8836 void CSatNotifySendData::MessageReceived
  8830         (
  8837         (
  8831         const TIsiReceiveC& aIsiMessage    // Received isi-message
  8838         const TIsiReceiveC& aIsiMessage    // Received isi-message
  8832         )
  8839         )
  8833     {
  8840     {
  8834     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDDATA_MESSAGERECEIVED, "CSatNotifySendData::MessageReceived" );
  8841     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDDATA_MESSAGERECEIVED_TD, "CSatNotifySendData::MessageReceived" );
  8835     TFLOGSTRING("CSatNotifySendData::MessageReceived");
  8842     TFLOGSTRING("CSatNotifySendData::MessageReceived");
  8836     // return value for completion of the request
  8843     // return value for completion of the request
  8837     TInt ret( KErrNone );
  8844     TInt ret( KErrNone );
  8838     // Get ber tlv
  8845     // Get ber tlv
  8839     CBerTlv berTlv;
  8846     CBerTlv berTlv;
  8952         (
  8959         (
  8953         const TTsyReqHandle aReqHandle, // Request handle
  8960         const TTsyReqHandle aReqHandle, // Request handle
  8954         TDes8*              aDataPtr    // Pointer to data
  8961         TDes8*              aDataPtr    // Pointer to data
  8955         )
  8962         )
  8956     {
  8963     {
  8957     OstTrace1( TRACE_NORMAL, CSATNOTIFYSENDDATA_NOTIFY, "CSatNotifySendData::Notify Handle: %u", aReqHandle );
  8964     OstTrace1( TRACE_NORMAL,  CSATNOTIFYSENDDATA_NOTIFY_TD, "CSatNotifySendData::Notify Handle: %u", aReqHandle );
  8958     TFLOGSTRING2("CSatNotifySendData::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  8965     TFLOGSTRING2("CSatNotifySendData::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  8959                aReqHandle );
  8966                aReqHandle );
  8960     iReqHandle = aReqHandle;
  8967     iReqHandle = aReqHandle;
  8961     iSendDataRspV2Pckg =
  8968     iSendDataRspV2Pckg =
  8962         static_cast< RSat::TSendDataV2Pckg* >( aDataPtr );
  8969         static_cast< RSat::TSendDataV2Pckg* >( aDataPtr );
  8973 TInt CSatNotifySendData::TerminalResponse
  8980 TInt CSatNotifySendData::TerminalResponse
  8974         (
  8981         (
  8975         TDes8* aRsp     // Response package
  8982         TDes8* aRsp     // Response package
  8976         )
  8983         )
  8977     {
  8984     {
  8978     OstTrace0( TRACE_NORMAL, CSATNOTIFYSENDDATA_TERMINALRESPONSE, "CSatNotifySendData::TerminalResponse" );
  8985     OstTrace0( TRACE_NORMAL,  CSATNOTIFYSENDDATA_TERMINALRESPONSE_TD, "CSatNotifySendData::TerminalResponse" );
  8979     TFLOGSTRING("CSatNotifySendData::TerminalResponse");
  8986     TFLOGSTRING("CSatNotifySendData::TerminalResponse");
  8980     TInt   ret( KErrNone );
  8987     TInt   ret( KErrNone );
  8981     TBuf8<RSat::KAdditionalInfoMaxSize> additionalInfo;
  8988     TBuf8<RSat::KAdditionalInfoMaxSize> additionalInfo;
  8982     additionalInfo.Zero();
  8989     additionalInfo.Zero();
  8983     RSat::TSendDataRspV2Pckg* aRspPckg =
  8990     RSat::TSendDataRspV2Pckg* aRspPckg =
  9024         )
  9031         )
  9025         :
  9032         :
  9026         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  9033         CSatNotificationsBase( aSatMessHandler, aSatMessaging ),
  9027         iReceiveDataRspV2Pckg( NULL )
  9034         iReceiveDataRspV2Pckg( NULL )
  9028     {
  9035     {
  9029     OstTrace0( TRACE_NORMAL, CSATNOTIFYRECEIVEDATA_CSATNOTIFYRECEIVEDATA, "CSatNotifyReceiveData::CSatNotifyReceiveData" );
  9036     OstTrace0( TRACE_NORMAL,  CSATNOTIFYRECEIVEDATA_CSATNOTIFYRECEIVEDATA_TD, "CSatNotifyReceiveData::CSatNotifyReceiveData" );
  9030     // Following results are also allowed for this command:
  9037     // Following results are also allowed for this command:
  9031     // (in addition to result declared in base class constructor)
  9038     // (in addition to result declared in base class constructor)
  9032     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  9039     iAllowedResults += RSat::KSuccessRequestedIconNotDisplayed
  9033         + RSat::KPSessionTerminatedByUser + RSat::KErrorRequiredValuesMissing
  9040         + RSat::KPSessionTerminatedByUser + RSat::KErrorRequiredValuesMissing
  9034         + RSat::KBearerIndepProtocolError;
  9041         + RSat::KBearerIndepProtocolError;
  9039 // Destructor
  9046 // Destructor
  9040 // -----------------------------------------------------------------------------
  9047 // -----------------------------------------------------------------------------
  9041 //
  9048 //
  9042 CSatNotifyReceiveData::~CSatNotifyReceiveData()
  9049 CSatNotifyReceiveData::~CSatNotifyReceiveData()
  9043     {
  9050     {
  9044     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYRECEIVEDATA_CSATNOTIFYRECEIVEDATA, "CSatNotifyReceiveData::~CSatNotifyReceiveData" );
  9051     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYRECEIVEDATA_CSATNOTIFYRECEIVEDATA_TD, "CSatNotifyReceiveData::~CSatNotifyReceiveData" );
  9045     // None
  9052     // None
  9046     }
  9053     }
  9047 
  9054 
  9048 // -----------------------------------------------------------------------------
  9055 // -----------------------------------------------------------------------------
  9049 // CSatNotifyReceiveData::MessageReceived
  9056 // CSatNotifyReceiveData::MessageReceived
  9055 void CSatNotifyReceiveData::MessageReceived
  9062 void CSatNotifyReceiveData::MessageReceived
  9056         (
  9063         (
  9057         const TIsiReceiveC& aIsiMessage    // Received isi-message
  9064         const TIsiReceiveC& aIsiMessage    // Received isi-message
  9058         )
  9065         )
  9059     {
  9066     {
  9060     OstTrace0( TRACE_NORMAL, CSATNOTIFYRECEIVEDATA_MESSAGERECEIVED, "CSatNotifyReceiveData::MessageReceived" );
  9067     OstTrace0( TRACE_NORMAL,  CSATNOTIFYRECEIVEDATA_MESSAGERECEIVED_TD, "CSatNotifyReceiveData::MessageReceived" );
  9061     TFLOGSTRING("CSatNotifyReceiveData::MessageReceived");
  9068     TFLOGSTRING("CSatNotifyReceiveData::MessageReceived");
  9062     // return value for completion of the request
  9069     // return value for completion of the request
  9063     TInt ret( KErrNone );
  9070     TInt ret( KErrNone );
  9064     // Get ber tlv
  9071     // Get ber tlv
  9065     CBerTlv berTlv;
  9072     CBerTlv berTlv;
  9161         (
  9168         (
  9162         const TTsyReqHandle aReqHandle, // Request handle
  9169         const TTsyReqHandle aReqHandle, // Request handle
  9163         TDes8*              aDataPtr    // Pointer to data
  9170         TDes8*              aDataPtr    // Pointer to data
  9164         )
  9171         )
  9165     {
  9172     {
  9166     OstTrace1( TRACE_NORMAL, CSATNOTIFYRECEIVEDATA_NOTIFY, "CSatNotifyReceiveData::Notify Handle: %u", aReqHandle );
  9173     OstTrace1( TRACE_NORMAL,  CSATNOTIFYRECEIVEDATA_NOTIFY_TD, "CSatNotifyReceiveData::Notify Handle: %u", aReqHandle );
  9167     TFLOGSTRING2("CSatNotifyReceiveData::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  9174     TFLOGSTRING2("CSatNotifyReceiveData::Notify. \n\t\t\t Handle:%d\n\t\t\t",
  9168                aReqHandle );
  9175                aReqHandle );
  9169     iReqHandle = aReqHandle;
  9176     iReqHandle = aReqHandle;
  9170     iReceiveDataRspV2Pckg =
  9177     iReceiveDataRspV2Pckg =
  9171         static_cast< RSat::TReceiveDataV2Pckg* >( aDataPtr );
  9178         static_cast< RSat::TReceiveDataV2Pckg* >( aDataPtr );
  9182 TInt CSatNotifyReceiveData::TerminalResponse
  9189 TInt CSatNotifyReceiveData::TerminalResponse
  9183         (
  9190         (
  9184         TDes8* aRsp     // Response package
  9191         TDes8* aRsp     // Response package
  9185         )
  9192         )
  9186     {
  9193     {
  9187     OstTrace0( TRACE_NORMAL, CSATNOTIFYRECEIVEDATA_TERMINALRESPONSE, "CSatNotifyReceiveData::TerminalResponse" );
  9194     OstTrace0( TRACE_NORMAL,  CSATNOTIFYRECEIVEDATA_TERMINALRESPONSE_TD, "CSatNotifyReceiveData::TerminalResponse" );
  9188     TFLOGSTRING("CSatNotifyReceiveData::TerminalResponse");
  9195     TFLOGSTRING("CSatNotifyReceiveData::TerminalResponse");
  9189     TInt   ret( KErrNone );
  9196     TInt   ret( KErrNone );
  9190     TBuf8<RSat::KAdditionalInfoMaxSize> additionalInfo;
  9197     TBuf8<RSat::KAdditionalInfoMaxSize> additionalInfo;
  9191     additionalInfo.Zero();
  9198     additionalInfo.Zero();
  9192     RSat::TReceiveDataRspV2Pckg* aRspPckg =
  9199     RSat::TReceiveDataRspV2Pckg* aRspPckg =
  9233         (
  9240         (
  9234         CSatMessHandler*    aSatMessHandler, //Pointer to the message handler
  9241         CSatMessHandler*    aSatMessHandler, //Pointer to the message handler
  9235         CTsySatMessaging*   aSatMessaging    //Pointer to satmessaging class
  9242         CTsySatMessaging*   aSatMessaging    //Pointer to satmessaging class
  9236         ) : CSatNotificationsBase( aSatMessHandler, aSatMessaging )
  9243         ) : CSatNotificationsBase( aSatMessHandler, aSatMessaging )
  9237     {
  9244     {
  9238     OstTrace0( TRACE_NORMAL, CSATNOTIFYMOSMCONTROLREQUEST_CSATNOTIFYMOSMCONTROLREQUEST, "CSatNotifyMoSmControlRequest::CSatNotifyMoSmControlRequest" );
  9245     OstTrace0( TRACE_NORMAL,  CSATNOTIFYMOSMCONTROLREQUEST_CSATNOTIFYMOSMCONTROLREQUEST_TD, "CSatNotifyMoSmControlRequest::CSatNotifyMoSmControlRequest" );
  9239     }
  9246     }
  9240 
  9247 
  9241 // -----------------------------------------------------------------------------
  9248 // -----------------------------------------------------------------------------
  9242 // CSatNotifyMoSmControlRequest::~CSatNotifyMoSmControlRequest
  9249 // CSatNotifyMoSmControlRequest::~CSatNotifyMoSmControlRequest
  9243 // Destructor
  9250 // Destructor
  9244 // -----------------------------------------------------------------------------
  9251 // -----------------------------------------------------------------------------
  9245 //
  9252 //
  9246 CSatNotifyMoSmControlRequest::~CSatNotifyMoSmControlRequest()
  9253 CSatNotifyMoSmControlRequest::~CSatNotifyMoSmControlRequest()
  9247     {
  9254     {
  9248     OstTrace0( TRACE_NORMAL, DUP1_CSATNOTIFYMOSMCONTROLREQUEST_CSATNOTIFYMOSMCONTROLREQUEST, "CSatNotifyMoSmControlRequest::~CSatNotifyMoSmControlRequest" );
  9255     OstTrace0( TRACE_NORMAL,  DUP1_CSATNOTIFYMOSMCONTROLREQUEST_CSATNOTIFYMOSMCONTROLREQUEST_TD, "CSatNotifyMoSmControlRequest::~CSatNotifyMoSmControlRequest" );
  9249     // None
  9256     // None
  9250     }
  9257     }
  9251 
  9258 
  9252 // -----------------------------------------------------------------------------
  9259 // -----------------------------------------------------------------------------
  9253 // CSatNotifyMoSmControlRequest::MessageReceived
  9260 // CSatNotifyMoSmControlRequest::MessageReceived
  9259 void CSatNotifyMoSmControlRequest::MessageReceived
  9266 void CSatNotifyMoSmControlRequest::MessageReceived
  9260         (
  9267         (
  9261         const TIsiReceiveC& /*aIsiMessage*/    // ISI  message
  9268         const TIsiReceiveC& /*aIsiMessage*/    // ISI  message
  9262         )
  9269         )
  9263     {
  9270     {
  9264     OstTrace0( TRACE_NORMAL, CSATNOTIFYMOSMCONTROLREQUEST_MESSAGERECEIVED, "CSatNotifyMoSmControlRequest::MessageReceived" );
  9271     OstTrace0( TRACE_NORMAL,  CSATNOTIFYMOSMCONTROLREQUEST_MESSAGERECEIVED_TD, "CSatNotifyMoSmControlRequest::MessageReceived" );
  9265     // In S60 phones, the MoSm control request is received via an ISI
  9272     // In S60 phones, the MoSm control request is received via an ISI
  9266     // message coming from the SMS server. That's why the body
  9273     // message coming from the SMS server. That's why the body
  9267     // of this method is empty, see the class CSatMoSmCtrl. The Etel Sat API is used
  9274     // of this method is empty, see the class CSatMoSmCtrl. The Etel Sat API is used
  9268     // to pass to S60 Sat Server the alpha identifier provided by the SIM,
  9275     // to pass to S60 Sat Server the alpha identifier provided by the SIM,
  9269     // if any. The SIM can provide such an alpha id to tell the user that the
  9276     // if any. The SIM can provide such an alpha id to tell the user that the
  9280         (
  9287         (
  9281         TDesC& aAlphaId,                // Alpha Id
  9288         TDesC& aAlphaId,                // Alpha Id
  9282         RSat::TControlResult aResult    // Call Control result
  9289         RSat::TControlResult aResult    // Call Control result
  9283         )
  9290         )
  9284     {
  9291     {
  9285     OstTrace0( TRACE_NORMAL, CSATNOTIFYMOSMCONTROLREQUEST_COMPLETENOTIFICATION, "CSatNotifyMoSmControlRequest::CompleteNotification" );
  9292     OstTrace0( TRACE_NORMAL,  CSATNOTIFYMOSMCONTROLREQUEST_COMPLETENOTIFICATION_TD, "CSatNotifyMoSmControlRequest::CompleteNotification" );
  9286     TFLOGSTRING("CSatNotifyMoSmControlRequest::CompleteNotification");
  9293     TFLOGSTRING("CSatNotifyMoSmControlRequest::CompleteNotification");
  9287     //check that a client has requested this notifications
  9294     //check that a client has requested this notifications
  9288     if ( iReqHandle )
  9295     if ( iReqHandle )
  9289         {
  9296         {
  9290         // Fill the call control structure
  9297         // Fill the call control structure
  9318         (
  9325         (
  9319         const TTsyReqHandle aReqHandle, // Request handle
  9326         const TTsyReqHandle aReqHandle, // Request handle
  9320         TDes8*              aDataPtr    // Pointer to data
  9327         TDes8*              aDataPtr    // Pointer to data
  9321         )
  9328         )
  9322     {
  9329     {
  9323     OstTrace0( TRACE_NORMAL, CSATNOTIFYMOSMCONTROLREQUEST_NOTIFY, "CSatNotifyMoSmControlRequest::Notify" );
  9330     OstTrace0( TRACE_NORMAL,  CSATNOTIFYMOSMCONTROLREQUEST_NOTIFY_TD, "CSatNotifyMoSmControlRequest::Notify" );
  9324     TFLOGSTRING("CSatNotifyMoSmControlRequest::Notify");
  9331     TFLOGSTRING("CSatNotifyMoSmControlRequest::Notify");
  9325     iReqHandle = aReqHandle;
  9332     iReqHandle = aReqHandle;
  9326     iMoSmControlV1Pckg = static_cast< RSat::TMoSmControlV1Pckg* >( aDataPtr );
  9333     iMoSmControlV1Pckg = static_cast< RSat::TMoSmControlV1Pckg* >( aDataPtr );
  9327     }
  9334     }
  9328 
  9335