adaptationlayer/tsy/nokiatsy_dll/src/cmmnetmesshandler.cpp
changeset 9 8486d82aef45
parent 8 6295dc2169f3
equal deleted inserted replaced
8:6295dc2169f3 9:8486d82aef45
     1 /*
     1 /*
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of the License "Eclipse Public License v1.0"
     5 * under the terms of the License "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    37 #include <ctsy/serviceapi/gsmerror.h>
    37 #include <ctsy/serviceapi/gsmerror.h>
    38 #include <net_modemisi.h>
    38 #include <net_modemisi.h>
    39 #include <infoisi.h>
    39 #include <infoisi.h>
    40 #include <tisi.h>
    40 #include <tisi.h>
    41 #include <gpdsisi.h>
    41 #include <gpdsisi.h>
    42 //#include <permisi.h> To be done in CPS
    42 //#include <permisi.h> 
    43 #include <uiccisi.h>
    43 #include <uiccisi.h>
    44 
    44 
    45 #include "OstTraceDefinitions.h"
    45 #include "OstTraceDefinitions.h"
    46 #ifdef OST_TRACE_COMPILER_IN_USE
    46 #ifdef OST_TRACE_COMPILER_IN_USE
    47 #include "cmmnetmesshandlerTraces.h"
    47 #include "cmmnetmesshandlerTraces.h"
   161             {
   161             {
   162             if ( ( firstTime ) &&
   162             if ( ( firstTime ) &&
   163                 ( ( i + 1 ) == length ) ) // All bytes collected and traced.
   163                 ( ( i + 1 ) == length ) ) // All bytes collected and traced.
   164                 {
   164                 {
   165                 firstTime = EFalse;
   165                 firstTime = EFalse;
   166 OstTraceExt1( TRACE_NORMAL, DUP6__TFLOG_PRINT_ISIMESSAGE, "TSY:Queued NET message: [ %s]", trace_msg );
   166 OstTraceExt1( TRACE_NORMAL,  DUP6__TFLOG_PRINT_ISIMESSAGE_TD, "TSY:Queued NET message: [ %s]", trace_msg );
   167                 trace_msg.SetLength( 0 );
   167                 trace_msg.SetLength( 0 );
   168                 }
   168                 }
   169             else if ( firstTime ) // 1st line of the trace.
   169             else if ( firstTime ) // 1st line of the trace.
   170                 {
   170                 {
   171                 firstTime = EFalse;
   171                 firstTime = EFalse;
   172 OstTraceExt1( TRACE_NORMAL, DUP7__TFLOG_PRINT_ISIMESSAGE, "TSY:Queued NET message: [ %s", trace_msg );
   172 OstTraceExt1( TRACE_NORMAL,  DUP7__TFLOG_PRINT_ISIMESSAGE_TD, "TSY:Queued NET message: [ %s", trace_msg );
   173                 trace_msg.SetLength( 0 );
   173                 trace_msg.SetLength( 0 );
   174                 }
   174                 }
   175             else if ( ( i + 1 ) == length ) // The last line.
   175             else if ( ( i + 1 ) == length ) // The last line.
   176                 {
   176                 {
   177 OstTraceExt1( TRACE_NORMAL, DUP8__TFLOG_PRINT_ISIMESSAGE, "TSY:Queued NET message:   %s]", trace_msg );
   177 OstTraceExt1( TRACE_NORMAL,  DUP8__TFLOG_PRINT_ISIMESSAGE_TD, "TSY:Queued NET message:   %s]", trace_msg );
   178                 trace_msg.SetLength( 0 );
   178                 trace_msg.SetLength( 0 );
   179                 }
   179                 }
   180             else // just print bytes.
   180             else // just print bytes.
   181                 {
   181                 {
   182 OstTraceExt1( TRACE_NORMAL, DUP9__TFLOG_PRINT_ISIMESSAGE, "TSY:Queued NET message:   %s", trace_msg );
   182 OstTraceExt1( TRACE_NORMAL,  DUP9__TFLOG_PRINT_ISIMESSAGE_TD, "TSY:Queued NET message:   %s", trace_msg );
   183                 trace_msg.SetLength( 0 );
   183                 trace_msg.SetLength( 0 );
   184                 }
   184                 }
   185             counter = 0;
   185             counter = 0;
   186             }
   186             }
   187         counter++;
   187         counter++;
   210     )
   210     )
   211     {
   211     {
   212     TInt ret( KErrNone );
   212     TInt ret( KErrNone );
   213 
   213 
   214     TFLOGSTRING("TSY: CalculateNetworkInformationSbStartOffset");
   214     TFLOGSTRING("TSY: CalculateNetworkInformationSbStartOffset");
   215     OstTrace0( TRACE_NORMAL, _CALCULATENETWORKINFORMATIONSBSTARTOFFSET, "CalculateNetworkInformationSbStartOffset" );
   215     OstTrace0( TRACE_NORMAL,  _CALCULATENETWORKINFORMATIONSBSTARTOFFSET_TD, "CalculateNetworkInformationSbStartOffset" );
   216 
   216 
   217     TUint8 messageId = aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID );
   217     TUint8 messageId = aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID );
   218     if ( NET_MODEM_REG_STATUS_IND == messageId )
   218     if ( NET_MODEM_REG_STATUS_IND == messageId )
   219         {
   219         {
   220         TFLOGSTRING("TSY: CalculateNetworkInformationSbStartOffset; NET_REG_STATUS_IND");
   220         TFLOGSTRING("TSY: CalculateNetworkInformationSbStartOffset; NET_REG_STATUS_IND");
   221         OstTrace0( TRACE_NORMAL, DUP1__CALCULATENETWORKINFORMATIONSBSTARTOFFSET, "CalculateNetworkInformationSbStartOffset; NET_REG_STATUS_IND" );
   221         OstTrace0( TRACE_NORMAL,  DUP1__CALCULATENETWORKINFORMATIONSBSTARTOFFSET_TD, "CalculateNetworkInformationSbStartOffset; NET_REG_STATUS_IND" );
   222         aSbStartOffset = SIZE_NET_MODEM_REG_STATUS_IND;
   222         aSbStartOffset = SIZE_NET_MODEM_REG_STATUS_IND;
   223         }
   223         }
   224     else if ( NET_MODEM_REG_STATUS_GET_RESP == messageId )
   224     else if ( NET_MODEM_REG_STATUS_GET_RESP == messageId )
   225         {
   225         {
   226         TFLOGSTRING("TSY: CalculateNetworkInformationSbStartOffset; NET_REG_STATUS_GET_RESP");
   226         TFLOGSTRING("TSY: CalculateNetworkInformationSbStartOffset; NET_REG_STATUS_GET_RESP");
   227         OstTrace0( TRACE_NORMAL, DUP2__CALCULATENETWORKINFORMATIONSBSTARTOFFSET, "CalculateNetworkInformationSbStartOffset; NET_REG_STATUS_GET_RESP" );
   227         OstTrace0( TRACE_NORMAL,  DUP2__CALCULATENETWORKINFORMATIONSBSTARTOFFSET_TD, "CalculateNetworkInformationSbStartOffset; NET_REG_STATUS_GET_RESP" );
   228         aSbStartOffset = SIZE_NET_MODEM_REG_STATUS_GET_RESP;
   228         aSbStartOffset = SIZE_NET_MODEM_REG_STATUS_GET_RESP;
   229         }
   229         }
   230     else if ( NET_SET_RESP == messageId )
   230     else if ( NET_SET_RESP == messageId )
   231         {
   231         {
   232         TFLOGSTRING("TSY: CalculateNetworkInformationSbStartOffset; NET_SET_RESP");
   232         TFLOGSTRING("TSY: CalculateNetworkInformationSbStartOffset; NET_SET_RESP");
   233         OstTrace0( TRACE_NORMAL, DUP3__CALCULATENETWORKINFORMATIONSBSTARTOFFSET, "CalculateNetworkInformationSbStartOffset; NET_SET_RESP" );
   233         OstTrace0( TRACE_NORMAL,  DUP3__CALCULATENETWORKINFORMATIONSBSTARTOFFSET_TD, "CalculateNetworkInformationSbStartOffset; NET_SET_RESP" );
   234         aSbStartOffset = SIZE_NET_SET_RESP;
   234         aSbStartOffset = SIZE_NET_SET_RESP;
   235         }
   235         }
   236     else
   236     else
   237         {
   237         {
   238         TFLOGSTRING2("TSY: CalculateNetworkInformationSbStartOffset;unknown messageId=%x", messageId);
   238         TFLOGSTRING2("TSY: CalculateNetworkInformationSbStartOffset;unknown messageId=%x", messageId);
   239         OstTrace1( TRACE_NORMAL, DUP4__CALCULATENETWORKINFORMATIONSBSTARTOFFSET, "CalculateNetworkInformationSbStartOffset;unknown messageId=%x", messageId );
   239         OstTrace1( TRACE_NORMAL,  DUP4__CALCULATENETWORKINFORMATIONSBSTARTOFFSET_TD, "CalculateNetworkInformationSbStartOffset;unknown messageId=%x", messageId );
   240         ret = KErrNotSupported;
   240         ret = KErrNotSupported;
   241         }
   241         }
   242 
   242 
   243     return ret;
   243     return ret;
   244     }
   244     }
   251 // -----------------------------------------------------------------------------
   251 // -----------------------------------------------------------------------------
   252 //
   252 //
   253 CMmNetMessHandler::CMmNetMessHandler()
   253 CMmNetMessHandler::CMmNetMessHandler()
   254     {
   254     {
   255 TFLOGSTRING("TSY: CMmNetMessHandler::CMmNetMessHandler() - Start");
   255 TFLOGSTRING("TSY: CMmNetMessHandler::CMmNetMessHandler() - Start");
   256 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_CMMNETMESSHANDLER, "CMmNetMessHandler::CMmNetMessHandler" );
   256 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_CMMNETMESSHANDLER_TD, "CMmNetMessHandler::CMmNetMessHandler" );
   257     }
   257     }
   258 
   258 
   259 // -----------------------------------------------------------------------------
   259 // -----------------------------------------------------------------------------
   260 // CMmNetMessHandler::NewL
   260 // CMmNetMessHandler::NewL
   261 // Two-phased constructor.
   261 // Two-phased constructor.
   268         CMmMessageRouter* aMessageRouter, // Pointer to the message router
   268         CMmMessageRouter* aMessageRouter, // Pointer to the message router
   269         CMmUiccMessHandler* aUiccMessHandler
   269         CMmUiccMessHandler* aUiccMessHandler
   270         )
   270         )
   271     {
   271     {
   272 TFLOGSTRING("TSY: CMmNetMessHandler::NewL");
   272 TFLOGSTRING("TSY: CMmNetMessHandler::NewL");
   273 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NEWL, "CMmNetMessHandler::NewL" );
   273 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NEWL_TD, "CMmNetMessHandler::NewL" );
   274 
   274 
   275     CMmNetMessHandler* netMessHandler = new ( ELeave ) CMmNetMessHandler();
   275     CMmNetMessHandler* netMessHandler = new ( ELeave ) CMmNetMessHandler();
   276 
   276 
   277     CleanupStack::PushL( netMessHandler );
   277     CleanupStack::PushL( netMessHandler );
   278 
   278 
   315         PN_PERMANENT_DATA,
   315         PN_PERMANENT_DATA,
   316         PERM_PM_RECORD_WRITE_RESP );
   316         PERM_PM_RECORD_WRITE_RESP );
   317     aPhoNetReceiver->RegisterL(
   317     aPhoNetReceiver->RegisterL(
   318         netMessHandler,
   318         netMessHandler,
   319         PN_PERMANENT_DATA,
   319         PN_PERMANENT_DATA,
   320         PERM_PM_RECORD_READ_RESP ); To be done in CPS */
   320         PERM_PM_RECORD_READ_RESP );  */
   321 
   321 
   322     CleanupStack::Pop( netMessHandler );
   322     CleanupStack::Pop( netMessHandler );
   323 
   323 
   324     return netMessHandler;
   324     return netMessHandler;
   325     }
   325     }
   330 // -----------------------------------------------------------------------------
   330 // -----------------------------------------------------------------------------
   331 //
   331 //
   332 void CMmNetMessHandler::ConstructL()
   332 void CMmNetMessHandler::ConstructL()
   333     {
   333     {
   334 TFLOGSTRING("TSY: CMmNetMessHandler::ConstructL()");
   334 TFLOGSTRING("TSY: CMmNetMessHandler::ConstructL()");
   335 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_CONSTRUCTL, "CMmNetMessHandler::ConstructL" );
   335 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_CONSTRUCTL_TD, "CMmNetMessHandler::ConstructL" );
   336 
   336 
   337     iNetOperatorNameHandler = CMmNetOperatorNameHandler::NewL(
   337     iNetOperatorNameHandler = CMmNetOperatorNameHandler::NewL(
   338         this,
   338         this,
   339         iMmUiccMessHandler );
   339         iMmUiccMessHandler );
   340 
   340 
   372 // -----------------------------------------------------------------------------
   372 // -----------------------------------------------------------------------------
   373 //
   373 //
   374 CMmNetMessHandler::~CMmNetMessHandler()
   374 CMmNetMessHandler::~CMmNetMessHandler()
   375     {
   375     {
   376 TFLOGSTRING("TSY: CMmNetMessHandler::~CMmNetMessHandler() - End");
   376 TFLOGSTRING("TSY: CMmNetMessHandler::~CMmNetMessHandler() - End");
   377 OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_CMMNETMESSHANDLER, "CMmNetMessHandler::~CMmNetMessHandler" );
   377 OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_CMMNETMESSHANDLER_TD, "CMmNetMessHandler::~CMmNetMessHandler" );
   378 
   378 
   379     delete iNetOperatorNameHandler;
   379     delete iNetOperatorNameHandler;
   380 
   380 
   381     for ( TInt i = 0; i < iNetMessageQueue.Count(); i++ )
   381     for ( TInt i = 0; i < iNetMessageQueue.Count(); i++ )
   382         {
   382         {
   402     TInt aStatus,
   402     TInt aStatus,
   403     TUint8 /*aDetails*/,
   403     TUint8 /*aDetails*/,
   404     const TDesC8& aFileData )
   404     const TDesC8& aFileData )
   405     {
   405     {
   406 TFLOGSTRING3("TSY: CMmNetMessHandler::ProcessUiccMsg, transaction ID: %d, status: %d", aTraId, aStatus );
   406 TFLOGSTRING3("TSY: CMmNetMessHandler::ProcessUiccMsg, transaction ID: %d, status: %d", aTraId, aStatus );
   407 OstTraceExt2( TRACE_NORMAL, CMMNETMESSHANDLER_PROCESSUICCMSG, "CMmNetMessHandler::ProcessUiccMsg;aTraId=%d;aStatus=%d", aTraId, aStatus );
   407 OstTraceExt2( TRACE_NORMAL,  CMMNETMESSHANDLER_PROCESSUICCMSG_TD, "CMmNetMessHandler::ProcessUiccMsg;aTraId=%d;aStatus=%d", aTraId, aStatus );
   408 
   408 
   409     TInt ret( KErrNone );
   409     TInt ret( KErrNone );
   410 
   410 
   411     switch( aTraId )
   411     switch( aTraId )
   412         {
   412         {
   426             break;
   426             break;
   427             }
   427             }
   428         default:
   428         default:
   429             {
   429             {
   430 TFLOGSTRING("TSY: CMmNetMessHandler::ProcessUiccMsg - unknown transaction ID" );
   430 TFLOGSTRING("TSY: CMmNetMessHandler::ProcessUiccMsg - unknown transaction ID" );
   431 OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_PROCESSUICCMSG, "CMmNetMessHandler::ProcessUiccMsg - - unknown transaction ID" );
   431 OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_PROCESSUICCMSG_TD, "CMmNetMessHandler::ProcessUiccMsg - - unknown transaction ID" );
   432             break;
   432             break;
   433             }
   433             }
   434         }
   434         }
   435     return ret;
   435     return ret;
   436     }
   436     }
   445         TInt aIpc, // Ipc number
   445         TInt aIpc, // Ipc number
   446         const CMmDataPackage* aDataPackage // Packed data
   446         const CMmDataPackage* aDataPackage // Packed data
   447         )
   447         )
   448     {
   448     {
   449 TFLOGSTRING2("TSY: CMmNetMessHandler::ExtFuncL - Ipc: %d", aIpc);
   449 TFLOGSTRING2("TSY: CMmNetMessHandler::ExtFuncL - Ipc: %d", aIpc);
   450 OstTrace1( TRACE_NORMAL, CMMNETMESSHANDLER_EXTFUNCL, "CMmNetMessHandler::ExtFuncL;aIpc=%d", aIpc );
   450 OstTrace1( TRACE_NORMAL,  CMMNETMESSHANDLER_EXTFUNCL_TD, "CMmNetMessHandler::ExtFuncL;aIpc=%d", aIpc );
   451 
   451 
   452     //*************************************************************//
   452     //*************************************************************//
   453     // NOTE:
   453     // NOTE:
   454     //
   454     //
   455     // LICENSEE SPECIFIC MESSAGE HANDLER IMPLEMENTATION STARTS HERE
   455     // LICENSEE SPECIFIC MESSAGE HANDLER IMPLEMENTATION STARTS HERE
   524             break;
   524             break;
   525             }
   525             }
   526         default:
   526         default:
   527             {
   527             {
   528 TFLOGSTRING2("TSY: CMmNetMessHandler::ExtFuncL - Unknown IPC: %d", aIpc);
   528 TFLOGSTRING2("TSY: CMmNetMessHandler::ExtFuncL - Unknown IPC: %d", aIpc);
   529 OstTrace1( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_EXTFUNCL, "CMmNetMessHandler::ExtFuncL;Unknown IPC=%d", aIpc );
   529 OstTrace1( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_EXTFUNCL_TD, "CMmNetMessHandler::ExtFuncL;Unknown IPC=%d", aIpc );
   530             ret = KErrNotSupported;
   530             ret = KErrNotSupported;
   531             break;
   531             break;
   532             }
   532             }
   533         }
   533         }
   534     return ret;
   534     return ret;
   543         (
   543         (
   544         const TIsiReceiveC& aIsiMessage  // ISI-message received
   544         const TIsiReceiveC& aIsiMessage  // ISI-message received
   545         )
   545         )
   546     {
   546     {
   547 TFLOGSTRING("TSY: CMmNetMessHandler::ReceiveMessageL");
   547 TFLOGSTRING("TSY: CMmNetMessHandler::ReceiveMessageL");
   548 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_RECEIVEMESSAGEL, "CMmNetMessHandler::ReceiveMessageL" );
   548 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmNetMessHandler::ReceiveMessageL" );
   549 
   549 
   550     // Resource and message id
   550     // Resource and message id
   551     TInt resource( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_RESOURCEID ) );
   551     TInt resource( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_RESOURCEID ) );
   552     TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) );
   552     TInt messageId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_MESSAGEID ) );
   553 
   553 
   554 TFLOGSTRING3("TSY: CMmNetMessHandler::ReceiveMessageL - MessageId:%d. Resource: %d", messageId, resource);
   554 TFLOGSTRING3("TSY: CMmNetMessHandler::ReceiveMessageL - MessageId:%d. Resource: %d", messageId, resource);
   555 OstTraceExt2( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_RECEIVEMESSAGEL, "CMmNetMessHandler::ReceiveMessageL;messageId=%d;resource=%d", messageId, resource );
   555 OstTraceExt2( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmNetMessHandler::ReceiveMessageL;messageId=%d;resource=%d", messageId, resource );
   556 
   556 
   557     // Transaction id.
   557     // Transaction id.
   558     TUint8 transactId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID ) );
   558     TUint8 transactId( aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID ) );
   559 
   559 
   560     // NET functionality is implemented in NET server and SIM Server
   560     // NET functionality is implemented in NET server and SIM Server
   634                     }
   634                     }
   635                 default:
   635                 default:
   636                     {
   636                     {
   637                     // No appropriate handler methods for ISI-message found.
   637                     // No appropriate handler methods for ISI-message found.
   638 TFLOGSTRING("TSY: CMmNetMessHandler::ReceiveMessageL - no handler for the NETWORK message id");
   638 TFLOGSTRING("TSY: CMmNetMessHandler::ReceiveMessageL - no handler for the NETWORK message id");
   639 OstTrace0( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_RECEIVEMESSAGEL, "CMmNetMessHandler::ReceiveMessageL - no handler for the NETWORK message id" );
   639 OstTrace0( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmNetMessHandler::ReceiveMessageL - no handler for the NETWORK message id" );
   640                     // Server not known
   640                     // Server not known
   641                     break;
   641                     break;
   642                     }
   642                     }
   643                 } // End switch ( messageId )
   643                 } // End switch ( messageId )
   644             break; // End case PN_MODEM_NETWORK
   644             break; // End case PN_MODEM_NETWORK
   678 #endif /* INTERNAL_TESTING_OLD_IMPLEMENTATION_FOR_UICC_TESTING */
   678 #endif /* INTERNAL_TESTING_OLD_IMPLEMENTATION_FOR_UICC_TESTING */
   679                 default:
   679                 default:
   680                     {
   680                     {
   681                     // No appropriate handler methods for ISI-message found.
   681                     // No appropriate handler methods for ISI-message found.
   682 TFLOGSTRING("TSY: CMmNetMessHandler::ReceiveMessageL - no handler for the INFO message id");
   682 TFLOGSTRING("TSY: CMmNetMessHandler::ReceiveMessageL - no handler for the INFO message id");
   683 OstTrace0( TRACE_NORMAL, DUP4_CMMNETMESSHANDLER_RECEIVEMESSAGEL, "CMmNetMessHandler::ReceiveMessageL - no handler for the INFO message id" );
   683 OstTrace0( TRACE_NORMAL,  DUP4_CMMNETMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmNetMessHandler::ReceiveMessageL - no handler for the INFO message id" );
   684                     break;
   684                     break;
   685                     }
   685                     }
   686                 }
   686                 }
   687             break;
   687             break;
   688             }
   688             }
   710                     }
   710                     }
   711                 default:
   711                 default:
   712                     {
   712                     {
   713                     // No appropriate handler methods for ISI-message found.
   713                     // No appropriate handler methods for ISI-message found.
   714 TFLOGSTRING("TSY: CMmNetMessHandler::ReceiveMessageL - no handler for the PERMANENT_DATA message id");
   714 TFLOGSTRING("TSY: CMmNetMessHandler::ReceiveMessageL - no handler for the PERMANENT_DATA message id");
   715 OstTrace0( TRACE_NORMAL, DUP5_CMMNETMESSHANDLER_RECEIVEMESSAGEL, "CMmNetMessHandler::ReceiveMessageL - no handler for the PERMANENT_DATA message id" );
   715 OstTrace0( TRACE_NORMAL,  DUP5_CMMNETMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmNetMessHandler::ReceiveMessageL - no handler for the PERMANENT_DATA message id" );
   716                     break;
   716                     break;
   717                     }
   717                     }
   718                 }
   718                 }
   719             break;
   719             break;
   720             } To be done in CPS */
   720             }  */
   721         default:
   721         default:
   722             {
   722             {
   723 TFLOGSTRING("TSY: CMmNetMessHandler::ReceiveMessageL - Switch resource case default");
   723 TFLOGSTRING("TSY: CMmNetMessHandler::ReceiveMessageL - Switch resource case default");
   724 OstTrace0( TRACE_NORMAL, DUP6_CMMNETMESSHANDLER_RECEIVEMESSAGEL, "CMmNetMessHandler::ReceiveMessageL - Switch resource case default" );
   724 OstTrace0( TRACE_NORMAL,  DUP6_CMMNETMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmNetMessHandler::ReceiveMessageL - Switch resource case default" );
   725             break; // Server not known
   725             break; // Server not known
   726             }
   726             }
   727         } // End switch ( resource )
   727         } // End switch ( resource )
   728     }
   728     }
   729 
   729 
   740         (
   740         (
   741         const TIsiReceiveC& aIsiMessage
   741         const TIsiReceiveC& aIsiMessage
   742         )
   742         )
   743     {
   743     {
   744 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemRegStatusInd");
   744 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemRegStatusInd");
   745 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETMODEMREGSTATUSIND, "CMmNetMessHandler::NetModemRegStatusInd" );
   745 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETMODEMREGSTATUSIND_TD, "CMmNetMessHandler::NetModemRegStatusInd" );
   746 
   746 
   747     // Assistant for packaging.
   747     // Assistant for packaging.
   748     CMmDataPackage dataPackage;
   748     CMmDataPackage dataPackage;
   749 
   749 
   750     RMobilePhone::TMobilePhoneNetworkInfoV5 networkInfo;
   750     RMobilePhone::TMobilePhoneNetworkInfoV5 iNetworkInfoHelper =
       
   751         RMobilePhone::TMobilePhoneNetworkInfoV5();
   751     RMobilePhone::TMobilePhoneLocationAreaV1 locationArea;
   752     RMobilePhone::TMobilePhoneLocationAreaV1 locationArea;
   752 
   753 
   753     // Buffer for Operator code, length is 3.
   754     // Buffer for Operator code, length is 3.
   754     TBuf8<KBCDLength> operatorCode;
   755     TBuf8<KBCDLength> operatorCode;
   755 
   756 
   760     TBool campedInHplmn( EFalse );
   761     TBool campedInHplmn( EFalse );
   761 
   762 
   762     TUint sbStartOffSet( 0 );
   763     TUint sbStartOffSet( 0 );
   763 
   764 
   764     // Network mode received via NET_RAT_IND/NET_RAT_RESP.
   765     // Network mode received via NET_RAT_IND/NET_RAT_RESP.
   765     networkInfo.iMode = iNetworkMode;
   766     iNetworkInfoHelper.iMode = iNetworkMode;
   766         // look for subblock offset to get operator info from
   767         // look for subblock offset to get operator info from
   767     TInt returnValue( FindOperatorInfoSubBlock(
   768     TInt returnValue( FindOperatorInfoSubBlock(
   768         aIsiMessage,
   769         aIsiMessage,
   769         sbStartOffSet ) );
   770         sbStartOffSet ) );
   770 
   771 
   779             sbStartOffSet +
   780             sbStartOffSet +
   780             NET_MODEM_CURRENT_CELL_INFO_OFFSET_CURRENTCELLID );
   781             NET_MODEM_CURRENT_CELL_INFO_OFFSET_CURRENTCELLID );
   781         // Area information is known.
   782         // Area information is known.
   782         locationArea.iAreaKnown = ETrue;
   783         locationArea.iAreaKnown = ETrue;
   783         // Set status to current.
   784         // Set status to current.
   784         networkInfo.iStatus = RMobilePhone::ENetworkStatusCurrent;
   785         iNetworkInfoHelper.iStatus = RMobilePhone::ENetworkStatusCurrent;
   785         // Band info is cdma specific.
   786         // Band info is cdma specific.
   786         networkInfo.iBandInfo = RMobilePhone::EBandUnknown;
   787         iNetworkInfoHelper.iBandInfo = RMobilePhone::EBandUnknown;
   787         // Sid is cdma specific, set it to default value.
   788         // Sid is cdma specific, set it to default value.
   788         networkInfo.iCdmaSID.Zero();
   789         iNetworkInfoHelper.iCdmaSID.Zero();
   789         // Analog SID is cdma specific, set it to default value.
   790         // Analog SID is cdma specific, set it to default value.
   790         networkInfo.iAnalogSID.Zero();
   791         iNetworkInfoHelper.iAnalogSID.Zero();
   791         // Get the operator code. Size is 3 bytes.
   792         // Get the operator code. Size is 3 bytes.
   792         operatorCode = aIsiMessage.GetData(
   793         operatorCode = aIsiMessage.GetData(
   793             sbStartOffSet + NET_MODEM_CURRENT_CELL_INFO_OFFSET_OPERATORCODE,
   794             sbStartOffSet + NET_MODEM_CURRENT_CELL_INFO_OFFSET_OPERATORCODE,
   794             3 );
   795             3 );
   795             // Map the operator and country code to symbian values
   796             // Map the operator and country code to symbian values
   796             MapOperatorAndCountryCode(
   797             MapOperatorAndCountryCode(
   797                 operatorCode,
   798                 operatorCode,
   798                 networkInfo.iNetworkId,
   799                 iNetworkInfoHelper.iNetworkId,
   799                 networkInfo.iCountryCode );
   800                 iNetworkInfoHelper.iCountryCode );
   800 
   801 
   801         // Access technology received via NET_RAT_IND/NET_RAT_RESP.
   802         // Access technology received via NET_RAT_IND/NET_RAT_RESP.
   802         networkInfo.iAccess = iNetworkAccess;
   803         iNetworkInfoHelper.iAccess = iNetworkAccess;
   803 
   804 
   804         // Network type.
   805         // Network type.
   805         networkType = aIsiMessage.Get8bit(
   806         networkType = aIsiMessage.Get8bit(
   806             sbStartOffSet +
   807             sbStartOffSet +
   807             NET_MODEM_CURRENT_CELL_INFO_OFFSET_NETWORKTYPE );
   808             NET_MODEM_CURRENT_CELL_INFO_OFFSET_NETWORKTYPE );
   811             sbStartOffSet +
   812             sbStartOffSet +
   812             NET_MODEM_CURRENT_CELL_INFO_OFFSET_CAMPEDINHPLMN );
   813             NET_MODEM_CURRENT_CELL_INFO_OFFSET_CAMPEDINHPLMN );
   813 
   814 
   814         // HSDPA availability indicator.
   815         // HSDPA availability indicator.
   815         // If TRUE then the cell supports HSDPA.
   816         // If TRUE then the cell supports HSDPA.
   816         networkInfo.iHsdpaAvailableIndicator = aIsiMessage.Get8bit(
   817         iNetworkInfoHelper.iHsdpaAvailableIndicator = aIsiMessage.Get8bit(
   817             sbStartOffSet +
   818             sbStartOffSet +
   818             NET_MODEM_CURRENT_CELL_INFO_OFFSET_HSDPAAVAILABLEINCELL );
   819             NET_MODEM_CURRENT_CELL_INFO_OFFSET_HSDPAAVAILABLEINCELL );
   819 
   820 
   820 TFLOGSTRING2("TSY: CMmNetMessHandler::NetModemRegStatusInd, HSDPA Available Indicator = %d.", networkInfo.iHsdpaAvailableIndicator);
   821 TFLOGSTRING2("TSY: CMmNetMessHandler::NetModemRegStatusInd, HSDPA Available Indicator = %d.", iNetworkInfoHelper.iHsdpaAvailableIndicator);
   821 OstTraceExt1( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_NETMODEMREGSTATUSIND, "CMmNetMessHandler::NetModemRegStatusInd, HSDPA Available Indicator=%hhu", networkInfo.iHsdpaAvailableIndicator );
   822 OstTraceExt1( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_NETMODEMREGSTATUSIND_TD, "CMmNetMessHandler::NetModemRegStatusInd, HSDPA Available Indicator=%hhu", iNetworkInfoHelper.iHsdpaAvailableIndicator );
   822 
   823 
   823 // This is done for SUB 403-7200: NokiaTSY: HSUPA Cell Indicator for S60 (S60 3.2.2 / S_CPR8.1).
   824 // This is done for SUB 403-7200: NokiaTSY: HSUPA Cell Indicator for S60 (S60 3.2.2 / S_CPR8.1).
   824 // This can be removed when actual implementation for HSUPA Cell Indicator is done.
   825 // This can be removed when actual implementation for HSUPA Cell Indicator is done.
   825 // CASW_HSXPA_INDICATOR_SUPPORTED flag.
   826 // CASW_HSXPA_INDICATOR_SUPPORTED flag.
   826 #if defined ( CASW_HSXPA_INDICATOR_SUPPORTED ) || defined ( INTERNAL_TESTING_CASW_HSXPA_INDICATOR_SUPPORT )
   827 #if defined ( CASW_HSXPA_INDICATOR_SUPPORTED ) || defined ( INTERNAL_TESTING_CASW_HSXPA_INDICATOR_SUPPORT )
   836             sbStartOffSet +
   837             sbStartOffSet +
   837             NET_MODEM_CURRENT_CELL_INFO_OFFSET_HSUPAAVAILABLEINCELL );
   838             NET_MODEM_CURRENT_CELL_INFO_OFFSET_HSUPAAVAILABLEINCELL );
   838 
   839 
   839         if ( hsdpaAvailableIndicator || hsupaAvailableIndicator )
   840         if ( hsdpaAvailableIndicator || hsupaAvailableIndicator )
   840             {
   841             {
   841             networkInfo.iHsdpaAvailableIndicator = ETrue;
   842             iNetworkInfoHelper.iHsdpaAvailableIndicator = ETrue;
   842 
   843 
   843 TFLOGSTRING2("TSY: CMmNetMessHandler::NetModemRegStatusInd, HSDPA Available Indicator (HSDPA or HSUPA available) = %d.", networkInfo.iHsdpaAvailableIndicator);
   844 TFLOGSTRING2("TSY: CMmNetMessHandler::NetModemRegStatusInd, HSDPA Available Indicator (HSDPA or HSUPA available) = %d.", iNetworkInfoHelper.iHsdpaAvailableIndicator);
   844 OstTraceExt1( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_NETMODEMREGSTATUSIND, "CMmNetMessHandler::NetModemRegStatusInd, HSDPA Available Indicator (HSDPA or HSUPA available)=%hhu", networkInfo.iHsdpaAvailableIndicator );
   845 OstTraceExt1( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_NETMODEMREGSTATUSIND_TD, "CMmNetMessHandler::NetModemRegStatusInd, HSDPA Available Indicator (HSDPA or HSUPA available)=%hhu", iNetworkInfoHelper.iHsdpaAvailableIndicator );
   845             }
   846             }
   846 #endif // defined ( CASW_HSXPA_INDICATOR_SUPPORTED ) || defined ( INTERNAL_TESTING_CASW_HSXPA_INDICATOR_SUPPORT )
   847 #endif // defined ( CASW_HSXPA_INDICATOR_SUPPORTED ) || defined ( INTERNAL_TESTING_CASW_HSXPA_INDICATOR_SUPPORT )
   847         }
   848         }
   848 
   849 
   849     sbStartOffSet = 0;
   850     sbStartOffSet = 0;
   861 
   862 
   862         // Map the selection mode to symbian values.
   863         // Map the selection mode to symbian values.
   863         MapNWAndRegStatus(
   864         MapNWAndRegStatus(
   864             registrationStatus,
   865             registrationStatus,
   865             regStatus,
   866             regStatus,
   866             networkInfo.iStatus );
   867             iNetworkInfoHelper.iStatus );
   867 
   868 
   868         // Get network selection mode. Will be handled after CAUSE EXTENSION
   869         // Get network selection mode. Will be handled after CAUSE EXTENSION
   869         // handling.
   870         // handling.
   870         TUint8 networkSelectionMode( aIsiMessage.Get8bit(
   871         TUint8 networkSelectionMode( aIsiMessage.Get8bit(
   871             sbStartOffSet +
   872             sbStartOffSet +
   891                 KTsyNetCauseGsm,
   892                 KTsyNetCauseGsm,
   892                 successCode );
   893                 successCode );
   893             }
   894             }
   894 
   895 
   895         // Pack the data for sending to the manager.
   896         // Pack the data for sending to the manager.
   896         dataPackage.PackData( &regStatus, &networkInfo.iStatus );
   897         dataPackage.PackData( &regStatus, &iNetworkInfoHelper.iStatus );
   897         // Inform the manager that the network selection mode has changed.
   898         // Inform the manager that the network selection mode has changed.
   898         iMessageRouter->Complete(
   899         iMessageRouter->Complete(
   899             EMobilePhoneNotifyNetworkRegistrationStatusChange,
   900             EMobilePhoneNotifyNetworkRegistrationStatusChange,
   900             &dataPackage,
   901             &dataPackage,
   901             retValue );
   902             retValue );
   929             iNetOperatorNameHandler->GetOperatorName(
   930             iNetOperatorNameHandler->GetOperatorName(
   930                 campedInHplmn,
   931                 campedInHplmn,
   931                 networkType,
   932                 networkType,
   932                 operatorCode,
   933                 operatorCode,
   933                 locationArea,
   934                 locationArea,
   934                 networkInfo );
   935                 iNetworkInfoHelper );
   935             }
   936             }
   936         else
   937         else
   937             {
   938             {
   938             if ( KCustomTransId == aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID ) )
   939             if ( KCustomTransId == aIsiMessage.Get8bit( ISI_HEADER_OFFSET_TRANSID ) )
   939                 {
   940                 {
   954             // Phone is not registered to any network.
   955             // Phone is not registered to any network.
   955             // Complete EMobilePhoneNotifyCurrentNetworkChange without
   956             // Complete EMobilePhoneNotifyCurrentNetworkChange without
   956             // operator names.
   957             // operator names.
   957             CompleteMobilePhoneNotifyCurrentNetworkChange(
   958             CompleteMobilePhoneNotifyCurrentNetworkChange(
   958                 locationArea,
   959                 locationArea,
   959                 networkInfo );
   960                 iNetworkInfoHelper );
   960             }
   961             }
   961         }
   962         }
   962     else
   963     else
   963         {
   964         {
   964         // No NET_MODEM_REG_INFO_COMMON subblock found,
   965         // No NET_MODEM_REG_INFO_COMMON subblock found,
   979         (
   980         (
   980         TUint8 aTransactionId // Transaction id
   981         TUint8 aTransactionId // Transaction id
   981         ) const
   982         ) const
   982     {
   983     {
   983 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemRegStatusGetReq");
   984 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemRegStatusGetReq");
   984 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETMODEMREGSTATUSGETREQ, "CMmNetMessHandler::NetModemRegStatusGetReq" );
   985 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETMODEMREGSTATUSGETREQ_TD, "CMmNetMessHandler::NetModemRegStatusGetReq" );
   985 
   986 
   986     // Data buffer length is 2
   987     // Data buffer length is 2
   987     TBuf8<2> data;
   988     TBuf8<2> data;
   988     data.Append( aTransactionId );
   989     data.Append( aTransactionId );
   989     data.Append( NET_MODEM_REG_STATUS_GET_REQ );
   990     data.Append( NET_MODEM_REG_STATUS_GET_REQ );
  1005         (
  1006         (
  1006         TUint8 aTransactionId // Transaction id
  1007         TUint8 aTransactionId // Transaction id
  1007         ) const
  1008         ) const
  1008     {
  1009     {
  1009 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetReq");
  1010 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetReq");
  1010 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETMODEMAVAILABLEGETREQ, "CMmNetMessHandler::NetModemAvailableGetReq" );
  1011 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETMODEMAVAILABLEGETREQ_TD, "CMmNetMessHandler::NetModemAvailableGetReq" );
  1011 
  1012 
  1012     // Append data for ISI message. Has room for mode, num of subBlocks
  1013     // Append data for ISI message. Has room for mode, num of subBlocks
  1013     // and NET_MODEM_GSM_BAND_INFO sb.
  1014     // and NET_MODEM_GSM_BAND_INFO sb.
  1014     TBuf8<2 + SIZE_NET_MODEM_GSM_BAND_INFO> netModemAvailableGetReq;
  1015     TBuf8<2 + SIZE_NET_MODEM_GSM_BAND_INFO> netModemAvailableGetReq;
  1015     netModemAvailableGetReq.Append( NET_MANUAL_SEARCH );
  1016     netModemAvailableGetReq.Append( NET_MANUAL_SEARCH );
  1047         (
  1048         (
  1048         const TIsiReceiveC& aIsiMessage
  1049         const TIsiReceiveC& aIsiMessage
  1049         ) const
  1050         ) const
  1050     {
  1051     {
  1051 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetRespL");
  1052 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetRespL");
  1052 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETMODEMAVAILABLEGETRESPL, "CMmNetMessHandler::NetModemAvailableGetRespL" );
  1053 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETMODEMAVAILABLEGETRESPL_TD, "CMmNetMessHandler::NetModemAvailableGetRespL" );
  1053 
  1054 
  1054     // Check the success of the operation.
  1055     // Check the success of the operation.
  1055     TUint8 successCode( aIsiMessage.Get8bit(
  1056     TUint8 successCode( aIsiMessage.Get8bit(
  1056         ISI_HEADER_SIZE + NET_MODEM_AVAILABLE_GET_RESP_OFFSET_SUCCESSCODE ) );
  1057         ISI_HEADER_SIZE + NET_MODEM_AVAILABLE_GET_RESP_OFFSET_SUCCESSCODE ) );
  1057 
  1058 
  1060 
  1061 
  1061     // Check if we have sub blocks in the message.
  1062     // Check if we have sub blocks in the message.
  1062     if ( 0 < nbOfSubBlocks && NET_CAUSE_OK == successCode )
  1063     if ( 0 < nbOfSubBlocks && NET_CAUSE_OK == successCode )
  1063         {
  1064         {
  1064 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetRespL - Success case");
  1065 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetRespL - Success case");
  1065 OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_NETMODEMAVAILABLEGETRESPL, "CMmNetMessHandler::NetModemAvailableGetRespL - Success case" );
  1066 OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_NETMODEMAVAILABLEGETRESPL_TD, "CMmNetMessHandler::NetModemAvailableGetRespL - Success case" );
  1066 
  1067 
  1067         // Handle NET_MODEM_AVAILABLE_GET_RESP ISI-message success case.
  1068         // Handle NET_MODEM_AVAILABLE_GET_RESP ISI-message success case.
  1068         iNetOperatorNameHandler->HandleManualSearchSuccessCaseL( aIsiMessage );
  1069         iNetOperatorNameHandler->HandleManualSearchSuccessCaseL( aIsiMessage );
  1069         }
  1070         }
  1070     else
  1071     else
  1071         {
  1072         {
  1072 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetRespL - Error case");
  1073 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetRespL - Error case");
  1073 OstTrace0( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_NETMODEMAVAILABLEGETRESPL, "CMmNetMessHandler::NetModemAvailableGetRespL - Error case" );
  1074 OstTrace0( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_NETMODEMAVAILABLEGETRESPL_TD, "CMmNetMessHandler::NetModemAvailableGetRespL - Error case" );
  1074 
  1075 
  1075         TInt epocError( KErrGeneral );
  1076         TInt epocError( KErrGeneral );
  1076 
  1077 
  1077         if ( !iSearchNetworkCancelIssued &&
  1078         if ( !iSearchNetworkCancelIssued &&
  1078             NET_CAUSE_REQUEST_INTERRUPTED == successCode )
  1079             NET_CAUSE_REQUEST_INTERRUPTED == successCode )
  1079             {
  1080             {
  1080 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetRespL - Error case - MT call during network search");
  1081 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetRespL - Error case - MT call during network search");
  1081 OstTrace0( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_NETMODEMAVAILABLEGETRESPL, "CMmNetMessHandler::NetModemAvailableGetRespL - Error case - MT call during network search" );
  1082 OstTrace0( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_NETMODEMAVAILABLEGETRESPL_TD, "CMmNetMessHandler::NetModemAvailableGetRespL - Error case - MT call during network search" );
  1082             // In case of MT call during network search, NET server can
  1083             // In case of MT call during network search, NET server can
  1083             // interrupt network search before client has chance to cancel
  1084             // interrupt network search before client has chance to cancel
  1084             // the search request. Thus in this case we need to convert the
  1085             // the search request. Thus in this case we need to convert the
  1085             // error to more suitable like KErrAbort.
  1086             // error to more suitable like KErrAbort.
  1086             epocError = CMmStaticUtility::EpocErrorCode(
  1087             epocError = CMmStaticUtility::EpocErrorCode(
  1088                 KErrGsmNetCauseCallActive );
  1089                 KErrGsmNetCauseCallActive );
  1089             }
  1090             }
  1090         else
  1091         else
  1091             {
  1092             {
  1092 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetRespL - Error case - Cancel or Other error");
  1093 TFLOGSTRING("TSY: CMmNetMessHandler::NetModemAvailableGetRespL - Error case - Cancel or Other error");
  1093 OstTrace0( TRACE_NORMAL, DUP4_CMMNETMESSHANDLER_NETMODEMAVAILABLEGETRESPL, "CMmNetMessHandler::NetModemAvailableGetRespL - Error case - Cancel or Other error" );
  1094 OstTrace0( TRACE_NORMAL,  DUP4_CMMNETMESSHANDLER_NETMODEMAVAILABLEGETRESPL_TD, "CMmNetMessHandler::NetModemAvailableGetRespL - Error case - Cancel or Other error" );
  1094             // If some other error or cancel is called, then complete
  1095             // If some other error or cancel is called, then complete
  1095             // with mapped error code.
  1096             // with mapped error code.
  1096             epocError = CMmStaticUtility::CSCauseToEpocError(
  1097             epocError = CMmStaticUtility::CSCauseToEpocError(
  1097                 PN_MODEM_NETWORK,
  1098                 PN_MODEM_NETWORK,
  1098                 KTsyNetCauseCommon,
  1099                 KTsyNetCauseCommon,
  1116         (
  1117         (
  1117         TUint8 aTransactionId // Transaction id
  1118         TUint8 aTransactionId // Transaction id
  1118         )
  1119         )
  1119     {
  1120     {
  1120 TFLOGSTRING("TSY: CMmNetMessHandler::NetAvailableCancelReq");
  1121 TFLOGSTRING("TSY: CMmNetMessHandler::NetAvailableCancelReq");
  1121 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETAVAILABLECANCELREQ, "CMmNetMessHandler::NetAvailableCancelReq" );
  1122 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETAVAILABLECANCELREQ_TD, "CMmNetMessHandler::NetAvailableCancelReq" );
  1122 
  1123 
  1123     // Set the network search flag to ETrue.
  1124     // Set the network search flag to ETrue.
  1124     iSearchNetworkCancelIssued = ETrue;
  1125     iSearchNetworkCancelIssued = ETrue;
  1125 
  1126 
  1126     // Data buffer length is 2. Has room for transaction id and message id.
  1127     // Data buffer length is 2. Has room for transaction id and message id.
  1146         (
  1147         (
  1147         const TIsiReceiveC& aIsiMessage
  1148         const TIsiReceiveC& aIsiMessage
  1148         )
  1149         )
  1149     {
  1150     {
  1150 TFLOGSTRING("TSY: CMmNetMessHandler::NetAvailableCancelResp");
  1151 TFLOGSTRING("TSY: CMmNetMessHandler::NetAvailableCancelResp");
  1151 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETAVAILABLECANCELRESP, "CMmNetMessHandler::NetAvailableCancelResp" );
  1152 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETAVAILABLECANCELRESP_TD, "CMmNetMessHandler::NetAvailableCancelResp" );
  1152 
  1153 
  1153     // Get success code
  1154     // Get success code
  1154     TUint8 successCode( aIsiMessage.Get8bit(
  1155     TUint8 successCode( aIsiMessage.Get8bit(
  1155         ISI_HEADER_SIZE + NET_AVAILABLE_CANCEL_RESP_OFFSET_SUCCESSCODE ) );
  1156         ISI_HEADER_SIZE + NET_AVAILABLE_CANCEL_RESP_OFFSET_SUCCESSCODE ) );
  1156 
  1157 
  1187     {
  1188     {
  1188     // NW selection mode: Manual or reselection. Initialise variable.
  1189     // NW selection mode: Manual or reselection. Initialise variable.
  1189     TUint8 networkSelectionMode( NET_SELECT_MODE_NO_SELECTION );
  1190     TUint8 networkSelectionMode( NET_SELECT_MODE_NO_SELECTION );
  1190 
  1191 
  1191 TFLOGSTRING2("TSY: CMmNetMessHandler::NetSetReq -- Manual NW selection(T/F): %d", aIsManual);
  1192 TFLOGSTRING2("TSY: CMmNetMessHandler::NetSetReq -- Manual NW selection(T/F): %d", aIsManual);
  1192 OstTrace1( TRACE_NORMAL, CMMNETMESSHANDLER_NETSETREQ, "CMmNetMessHandler::NetSetReq;aIsManual=%d", aIsManual );
  1193 OstTrace1( TRACE_NORMAL,  CMMNETMESSHANDLER_NETSETREQ_TD, "CMmNetMessHandler::NetSetReq;aIsManual=%d", aIsManual );
  1193 
  1194 
  1194 TFLOGSTRING3("TSY: CMmNetMessHandler::NetSetReq -- MNC: %S MCC: %S", &aMnc, &aMcc);
  1195 TFLOGSTRING3("TSY: CMmNetMessHandler::NetSetReq -- MNC: %S MCC: %S", &aMnc, &aMcc);
  1195 OstTraceExt2( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_NETSETREQ, "CMmNetMessHandler::NetSetReq;aMnc=%S;aMcc=%S", aMnc, aMcc );
  1196 OstTraceExt2( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_NETSETREQ_TD, "CMmNetMessHandler::NetSetReq;aMnc=%S;aMcc=%S", aMnc, aMcc );
  1196 
  1197 
  1197     // If NW selection mode is changed from manual to automatic
  1198     // If NW selection mode is changed from manual to automatic
  1198     if ( NET_SELECT_MODE_MANUAL == iSelectionMethod
  1199     if ( NET_SELECT_MODE_MANUAL == iSelectionMethod
  1199         && !aIsManual )
  1200         && !aIsManual )
  1200         {
  1201         {
  1210         {
  1211         {
  1211         networkSelectionMode = NET_SELECT_MODE_MANUAL;
  1212         networkSelectionMode = NET_SELECT_MODE_MANUAL;
  1212         }
  1213         }
  1213 
  1214 
  1214 TFLOGSTRING2("TSY: CMmNetMessHandler::NetSetReq -- NW Selection Mode: %d", networkSelectionMode);
  1215 TFLOGSTRING2("TSY: CMmNetMessHandler::NetSetReq -- NW Selection Mode: %d", networkSelectionMode);
  1215 OstTraceExt1( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_NETSETREQ, "CMmNetMessHandler::NetSetReq;networkSelectionMode=%hhu", networkSelectionMode );
  1216 OstTraceExt1( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_NETSETREQ_TD, "CMmNetMessHandler::NetSetReq;networkSelectionMode=%hhu", networkSelectionMode );
  1216 
  1217 
  1217     // Append data for ISI message.
  1218     // Append data for ISI message.
  1218     // Has room for registered in another protocol, num of subBlocks,
  1219     // Has room for registered in another protocol, num of subBlocks,
  1219     // net operator info common sb and net gsm operator info sb.
  1220     // net operator info common sb and net gsm operator info sb.
  1220     TBuf8<2 + SIZE_NET_OPERATOR_INFO_COMMON + SIZE_NET_MODEM_GSM_OPERATOR_INFO>
  1221     TBuf8<2 + SIZE_NET_OPERATOR_INFO_COMMON + SIZE_NET_MODEM_GSM_OPERATOR_INFO>
  1238         }
  1239         }
  1239 
  1240 
  1240     if ( NET_SELECT_MODE_USER_RESELECTION != networkSelectionMode )
  1241     if ( NET_SELECT_MODE_USER_RESELECTION != networkSelectionMode )
  1241         {
  1242         {
  1242 TFLOGSTRING("TSY: CMmNetMessHandler::NetSetReq -- Adding NET_MODEM_GSM_OPERATOR_INFO SubBlock");
  1243 TFLOGSTRING("TSY: CMmNetMessHandler::NetSetReq -- Adding NET_MODEM_GSM_OPERATOR_INFO SubBlock");
  1243 OstTrace0( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_NETSETREQ, "CMmNetMessHandler::NetSetReq, Adding NET_MODEM_GSM_OPERATOR_INFO SubBlock" );
  1244 OstTrace0( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_NETSETREQ_TD, "CMmNetMessHandler::NetSetReq, Adding NET_MODEM_GSM_OPERATOR_INFO SubBlock" );
  1244         // We add NET_MODEM_GSM_OPERATOR_INFO subblock to ISI.
  1245         // We add NET_MODEM_GSM_OPERATOR_INFO subblock to ISI.
  1245         // The information about the Band is not send trough MM ETEL Api, thus
  1246         // The information about the Band is not send trough MM ETEL Api, thus
  1246         // the value is set to unknown
  1247         // the value is set to unknown
  1247 
  1248 
  1248         // Size is 3 bytes for operator code
  1249         // Size is 3 bytes for operator code
  1260 
  1261 
  1261         netSetReqData.Append( netModemGsmOperatorInfoSb.CompleteSubBlock() );
  1262         netSetReqData.Append( netModemGsmOperatorInfoSb.CompleteSubBlock() );
  1262         }
  1263         }
  1263 
  1264 
  1264 TFLOGSTRING("TSY: CMmNetMessHandler::NetSetReq -- Adding NET_OPERATOR_INFO_COMMON SubBlock");
  1265 TFLOGSTRING("TSY: CMmNetMessHandler::NetSetReq -- Adding NET_OPERATOR_INFO_COMMON SubBlock");
  1265 OstTrace0( TRACE_NORMAL, DUP4_CMMNETMESSHANDLER_NETSETREQ, "CMmNetMessHandler::NetSetReq, Adding NET_OPERATOR_INFO_COMMON SubBlock" );
  1266 OstTrace0( TRACE_NORMAL,  DUP4_CMMNETMESSHANDLER_NETSETREQ_TD, "CMmNetMessHandler::NetSetReq, Adding NET_OPERATOR_INFO_COMMON SubBlock" );
  1266 
  1267 
  1267     // Data buffer for net operator info common sb.
  1268     // Data buffer for net operator info common sb.
  1268     TBuf8<SIZE_NET_OPERATOR_INFO_COMMON> operatorInfoCommonBuf;
  1269     TBuf8<SIZE_NET_OPERATOR_INFO_COMMON> operatorInfoCommonBuf;
  1269     TIsiSubBlock operatorInfoCommonSb( operatorInfoCommonBuf,
  1270     TIsiSubBlock operatorInfoCommonSb( operatorInfoCommonBuf,
  1270         NET_OPERATOR_INFO_COMMON,
  1271         NET_OPERATOR_INFO_COMMON,
  1291         (
  1292         (
  1292         TUint8 aTransactionId
  1293         TUint8 aTransactionId
  1293         )
  1294         )
  1294     {
  1295     {
  1295 TFLOGSTRING("TSY: CMmNetMessHandler::NetSetCancelReq");
  1296 TFLOGSTRING("TSY: CMmNetMessHandler::NetSetCancelReq");
  1296 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETSETCANCELREQ, "CMmNetMessHandler::NetSetCancelReq" );
  1297 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETSETCANCELREQ_TD, "CMmNetMessHandler::NetSetCancelReq" );
  1297 
  1298 
  1298     // Set the network select flag to ETrue.
  1299     // Set the network select flag to ETrue.
  1299     // This flag is checked in NetSetCancelResp.
  1300     // This flag is checked in NetSetCancelResp.
  1300     iSelectNetworkCancelIssued = ETrue;
  1301     iSelectNetworkCancelIssued = ETrue;
  1301 
  1302 
  1323         (
  1324         (
  1324         const TIsiReceiveC& aIsiMessage
  1325         const TIsiReceiveC& aIsiMessage
  1325         )
  1326         )
  1326     {
  1327     {
  1327 TFLOGSTRING("TSY: CMmNetMessHandler::NetSetCancelResp");
  1328 TFLOGSTRING("TSY: CMmNetMessHandler::NetSetCancelResp");
  1328 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETSETCANCELRESP, "CMmNetMessHandler::NetSetCancelResp" );
  1329 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETSETCANCELRESP_TD, "CMmNetMessHandler::NetSetCancelResp" );
  1329 
  1330 
  1330     // Get success code
  1331     // Get success code
  1331     TUint8 successCode( aIsiMessage.Get8bit(
  1332     TUint8 successCode( aIsiMessage.Get8bit(
  1332         ISI_HEADER_SIZE + NET_SET_CANCEL_RESP_OFFSET_SUCCESSCODE ) );
  1333         ISI_HEADER_SIZE + NET_SET_CANCEL_RESP_OFFSET_SUCCESSCODE ) );
  1333 
  1334 
  1353         (
  1354         (
  1354         const TIsiReceiveC& aIsiMessage
  1355         const TIsiReceiveC& aIsiMessage
  1355         )
  1356         )
  1356     {
  1357     {
  1357 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatInd");
  1358 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatInd");
  1358 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETRATIND, "CMmNetMessHandler::NetRatInd" );
  1359 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETRATIND_TD, "CMmNetMessHandler::NetRatInd" );
  1359 
  1360 
  1360     // Call NetRatResp to do the common job
  1361     // Call NetRatResp to do the common job
  1361     NetRatResp( aIsiMessage );
  1362     NetRatResp( aIsiMessage );
  1362     }
  1363     }
  1363 
  1364 
  1371         (
  1372         (
  1372         TUint8 /* aTransactionId */
  1373         TUint8 /* aTransactionId */
  1373         ) const
  1374         ) const
  1374     {
  1375     {
  1375 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatReq");
  1376 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatReq");
  1376 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETRATREQ, "CMmNetMessHandler::NetRatReq" );
  1377 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETRATREQ_TD, "CMmNetMessHandler::NetRatReq" );
  1377 
  1378 
  1378     // Message data size is 1
  1379     // Message data size is 1
  1379     TBuf8<1> data;
  1380     TBuf8<1> data;
  1380 
  1381 
  1381     // we need to know the current RAT
  1382     // we need to know the current RAT
  1400         (
  1401         (
  1401         const TIsiReceiveC& aIsiMessage
  1402         const TIsiReceiveC& aIsiMessage
  1402         )
  1403         )
  1403     {
  1404     {
  1404 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatResp");
  1405 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatResp");
  1405 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETRATRESP, "CMmNetMessHandler::NetRatResp" );
  1406 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETRATRESP_TD, "CMmNetMessHandler::NetRatResp" );
  1406     TUint sbStartOffSet( 0 );
  1407     TUint sbStartOffSet( 0 );
  1407 
  1408 
  1408     // NET_RAT_INFO sub block
  1409     // NET_RAT_INFO sub block
  1409     TInt retValue( aIsiMessage.FindSubBlockOffsetById(
  1410     TInt retValue( aIsiMessage.FindSubBlockOffsetById(
  1410         ISI_HEADER_SIZE + SIZE_NET_RAT_RESP,
  1411         ISI_HEADER_SIZE + SIZE_NET_RAT_RESP,
  1424             case NET_GSM_RAT:
  1425             case NET_GSM_RAT:
  1425                 {
  1426                 {
  1426                 iNetworkMode = RMobilePhone::ENetworkModeGsm;
  1427                 iNetworkMode = RMobilePhone::ENetworkModeGsm;
  1427                 iNetworkAccess = RMobilePhone::ENetworkAccessGsm;
  1428                 iNetworkAccess = RMobilePhone::ENetworkAccessGsm;
  1428 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatResp - network mode GSM");
  1429 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatResp - network mode GSM");
  1429 OstTrace0( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_NETRATRESP, "CMmNetMessHandler::NetRatResp - network mode GSM" );
  1430 OstTrace0( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_NETRATRESP_TD, "CMmNetMessHandler::NetRatResp - network mode GSM" );
  1430                 break;
  1431                 break;
  1431                 }
  1432                 }
  1432             case NET_UMTS_RAT:
  1433             case NET_UMTS_RAT:
  1433                 {
  1434                 {
  1434                 iNetworkMode = RMobilePhone::ENetworkModeWcdma;
  1435                 iNetworkMode = RMobilePhone::ENetworkModeWcdma;
  1435                 iNetworkAccess = RMobilePhone::ENetworkAccessUtran;
  1436                 iNetworkAccess = RMobilePhone::ENetworkAccessUtran;
  1436 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatResp - network mode UMTS");
  1437 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatResp - network mode UMTS");
  1437 OstTrace0( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_NETRATRESP, "CMmNetMessHandler::NetRatResp - network mode UMTS" );
  1438 OstTrace0( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_NETRATRESP_TD, "CMmNetMessHandler::NetRatResp - network mode UMTS" );
  1438                 break;
  1439                 break;
  1439                 }
  1440                 }
  1440             default:
  1441             default:
  1441                 {
  1442                 {
  1442 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatResp. default network mode");
  1443 TFLOGSTRING("TSY: CMmNetMessHandler::NetRatResp. default network mode");
  1443 OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_NETRATRESP, "CMmNetMessHandler::NetRatResp, default network mode" );
  1444 OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_NETRATRESP_TD, "CMmNetMessHandler::NetRatResp, default network mode" );
  1444                 iNetworkMode = RMobilePhone::ENetworkModeUnknown;
  1445                 iNetworkMode = RMobilePhone::ENetworkModeUnknown;
  1445                 iNetworkAccess = RMobilePhone::ENetworkAccessUnknown;
  1446                 iNetworkAccess = RMobilePhone::ENetworkAccessUnknown;
  1446                 break;
  1447                 break;
  1447                 }
  1448                 }
  1448             }
  1449             }
  1470         // Network selection
  1471         // Network selection
  1471         const RMobilePhone::TMobilePhoneNetworkSelectionV1& aNetworkSelection
  1472         const RMobilePhone::TMobilePhoneNetworkSelectionV1& aNetworkSelection
  1472         ) const
  1473         ) const
  1473     {
  1474     {
  1474 TFLOGSTRING("TSY: CMmNetMessHandler::NetNetworkSelectModeSetReq");
  1475 TFLOGSTRING("TSY: CMmNetMessHandler::NetNetworkSelectModeSetReq");
  1475 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETNETWORKSELECTMODESETREQ, "CMmNetMessHandler::NetNetworkSelectModeSetReq" );
  1476 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETNETWORKSELECTMODESETREQ_TD, "CMmNetMessHandler::NetNetworkSelectModeSetReq" );
  1476 
  1477 
  1477     TInt ret( KErrNone );
  1478     TInt ret( KErrNone );
  1478 
  1479 
  1479     // Check the selection Mode from the selection structure
  1480     // Check the selection Mode from the selection structure
  1480     TUint8 networkSelectionMode( NET_SELECT_MODE_UNKNOWN );
  1481     TUint8 networkSelectionMode( NET_SELECT_MODE_UNKNOWN );
  1524         (
  1525         (
  1525         const TIsiReceiveC& aIsiMessage
  1526         const TIsiReceiveC& aIsiMessage
  1526         ) const
  1527         ) const
  1527     {
  1528     {
  1528 TFLOGSTRING("TSY: CMmNetMessHandler::NetNetworkSelectModeSetResp");
  1529 TFLOGSTRING("TSY: CMmNetMessHandler::NetNetworkSelectModeSetResp");
  1529 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETNETWORKSELECTMODESETRESP, "CMmNetMessHandler::NetNetworkSelectModeSetResp" );
  1530 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETNETWORKSELECTMODESETRESP_TD, "CMmNetMessHandler::NetNetworkSelectModeSetResp" );
  1530 
  1531 
  1531     // Get success code
  1532     // Get success code
  1532     TUint8 successCode( aIsiMessage.Get8bit(
  1533     TUint8 successCode( aIsiMessage.Get8bit(
  1533         ISI_HEADER_SIZE +
  1534         ISI_HEADER_SIZE +
  1534         NET_NETWORK_SELECT_MODE_SET_RESP_OFFSET_SUCCESSCODE ) );
  1535         NET_NETWORK_SELECT_MODE_SET_RESP_OFFSET_SUCCESSCODE ) );
  1550 // -----------------------------------------------------------------------------
  1551 // -----------------------------------------------------------------------------
  1551 //
  1552 //
  1552 TInt CMmNetMessHandler::NetRssiGetReq() const
  1553 TInt CMmNetMessHandler::NetRssiGetReq() const
  1553     {
  1554     {
  1554 TFLOGSTRING("TSY: CMmNetMessHandler::NetRssiGetReq");
  1555 TFLOGSTRING("TSY: CMmNetMessHandler::NetRssiGetReq");
  1555 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETRSSIGETREQ, "CMmNetMessHandler::NetRssiGetReq" );
  1556 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETRSSIGETREQ_TD, "CMmNetMessHandler::NetRssiGetReq" );
  1556 
  1557 
  1557     // Data buffer length is 2 (message size minus transId, msgId)
  1558     // Data buffer length is 2 (message size minus transId, msgId)
  1558     TBuf8< SIZE_NET_RSSI_GET_REQ - 2 > reqData;
  1559     TBuf8< SIZE_NET_RSSI_GET_REQ - 2 > reqData;
  1559     reqData.Append( NET_CS_GSM );            // CS type
  1560     reqData.Append( NET_CS_GSM );            // CS type
  1560     reqData.Append( NET_CURRENT_CELL_RSSI ); // measurement type
  1561     reqData.Append( NET_CURRENT_CELL_RSSI ); // measurement type
  1578     {
  1579     {
  1579     TUint8 successCode( aIsiMessage.Get8bit(
  1580     TUint8 successCode( aIsiMessage.Get8bit(
  1580         ISI_HEADER_SIZE + NET_RSSI_GET_RESP_OFFSET_SUCCESSCODE ) );
  1581         ISI_HEADER_SIZE + NET_RSSI_GET_RESP_OFFSET_SUCCESSCODE ) );
  1581 
  1582 
  1582 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRssiGetResp, successcode=%d", successCode);
  1583 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRssiGetResp, successcode=%d", successCode);
  1583 OstTraceExt1( TRACE_NORMAL, CMMNETMESSHANDLER_NETRSSIGETRESP, "CMmNetMessHandler::NetRssiGetResp;successCode=%hhu", successCode );
  1584 OstTraceExt1( TRACE_NORMAL,  CMMNETMESSHANDLER_NETRSSIGETRESP_TD, "CMmNetMessHandler::NetRssiGetResp;successCode=%hhu", successCode );
  1584 
  1585 
  1585     if ( NET_CAUSE_OK == successCode )
  1586     if ( NET_CAUSE_OK == successCode )
  1586         {
  1587         {
  1587         TUint sbOffset( 0 );
  1588         TUint sbOffset( 0 );
  1588 
  1589 
  1615         (
  1616         (
  1616         const TIsiReceiveC& aIsiMessage
  1617         const TIsiReceiveC& aIsiMessage
  1617         )
  1618         )
  1618     {
  1619     {
  1619 TFLOGSTRING("TSY: CMmNetMessHandler::NetRssiInd");
  1620 TFLOGSTRING("TSY: CMmNetMessHandler::NetRssiInd");
  1620 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETRSSIIND, "CMmNetMessHandler::NetRssiInd" );
  1621 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETRSSIIND_TD, "CMmNetMessHandler::NetRssiInd" );
  1621 
  1622 
  1622     // Note: the unsigned value gathered from the ISI is percentages
  1623     // Note: the unsigned value gathered from the ISI is percentages
  1623     TUint8 bars( aIsiMessage.Get8bit(
  1624     TUint8 bars( aIsiMessage.Get8bit(
  1624         ISI_HEADER_SIZE + NET_RSSI_IND_OFFSET_SIGNALSBAR ) );
  1625         ISI_HEADER_SIZE + NET_RSSI_IND_OFFSET_SIGNALSBAR ) );
  1625 
  1626 
  1656 
  1657 
  1657     // Copy RSSI in dBm into 32 bit integer
  1658     // Copy RSSI in dBm into 32 bit integer
  1658     TInt32 rssiInDbm( aRSSIIsi );
  1659     TInt32 rssiInDbm( aRSSIIsi );
  1659 
  1660 
  1660 TFLOGSTRING3("TSY: CMmNetMessHandler::HandleRssi -- signalBars=%d rssiInDbm=%d", signalBars, aRSSIIsi);
  1661 TFLOGSTRING3("TSY: CMmNetMessHandler::HandleRssi -- signalBars=%d rssiInDbm=%d", signalBars, aRSSIIsi);
  1661 OstTraceExt2( TRACE_NORMAL, CMMNETMESSHANDLER_HANDLERSSI, "CMmNetMessHandler::HandleRssi;signalBars=%hhd;rssiInDbm=%hhu", signalBars, aRSSIIsi );
  1662 OstTraceExt2( TRACE_NORMAL,  CMMNETMESSHANDLER_HANDLERSSI_TD, "CMmNetMessHandler::HandleRssi;signalBars=%hhd;rssiInDbm=%hhu", signalBars, aRSSIIsi );
  1662 
  1663 
  1663     CMmDataPackage dataPackage;
  1664     CMmDataPackage dataPackage;
  1664     dataPackage.PackData( &signalBars, &rssiInDbm );
  1665     dataPackage.PackData( &signalBars, &rssiInDbm );
  1665 
  1666 
  1666     iMessageRouter->Complete(
  1667     iMessageRouter->Complete(
  1679         (
  1680         (
  1680         const TIsiReceiveC& aIsiMessage
  1681         const TIsiReceiveC& aIsiMessage
  1681         ) const
  1682         ) const
  1682     {
  1683     {
  1683 TFLOGSTRING("TSY: CMmNetMessHandler::NetTimeInd");
  1684 TFLOGSTRING("TSY: CMmNetMessHandler::NetTimeInd");
  1684 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETTIMEIND, "CMmNetMessHandler::NetTimeInd" );
  1685 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETTIMEIND_TD, "CMmNetMessHandler::NetTimeInd" );
  1685 
  1686 
  1686     TUint sbStartOffSet( 0 );
  1687     TUint sbStartOffSet( 0 );
  1687 
  1688 
  1688     TInt ret( aIsiMessage.FindSubBlockOffsetById(
  1689     TInt ret( aIsiMessage.FindSubBlockOffsetById(
  1689         ISI_HEADER_SIZE + SIZE_NET_TIME_IND,
  1690         ISI_HEADER_SIZE + SIZE_NET_TIME_IND,
  1728         TInt totalYear; // Four digits year
  1729         TInt totalYear; // Four digits year
  1729 
  1730 
  1730         totalYear = KNitzYearOffset + year;
  1731         totalYear = KNitzYearOffset + year;
  1731 
  1732 
  1732 TFLOGSTRING2("TSY: CMmNetMessHandler::NetTimeInd year: %d", totalYear );
  1733 TFLOGSTRING2("TSY: CMmNetMessHandler::NetTimeInd year: %d", totalYear );
  1733 OstTrace1( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_NETTIMEIND, "CMmNetMessHandler::NetTimeInd;NetTimeInd year=%d", totalYear );
  1734 OstTrace1( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_NETTIMEIND_TD, "CMmNetMessHandler::NetTimeInd;NetTimeInd year=%d", totalYear );
  1734 
  1735 
  1735         // NITZ information
  1736         // NITZ information
  1736         RMobilePhone::TMobilePhoneNITZ timeDate;
  1737         RMobilePhone::TMobilePhoneNITZ timeDate;
  1737         // Default caps, will be updated below if not valid.
  1738         // Default caps, will be updated below if not valid.
  1738         timeDate.iNitzFieldsUsed = KMmTsyNITZCaps;
  1739         timeDate.iNitzFieldsUsed = KMmTsyNITZCaps;
  1804         RMobilePhone::TMobilePhoneRegistrationStatus& aRegStatus, // Registration status
  1805         RMobilePhone::TMobilePhoneRegistrationStatus& aRegStatus, // Registration status
  1805         RMobilePhone::TMobilePhoneNetworkStatus& aNWStatus // Network status
  1806         RMobilePhone::TMobilePhoneNetworkStatus& aNWStatus // Network status
  1806         )
  1807         )
  1807     {
  1808     {
  1808 TFLOGSTRING2("TSY: CMmNetMessHandler::MapNWAndRegStatus. ISARegistrationStatus:%d", aISARegistrationStatus);
  1809 TFLOGSTRING2("TSY: CMmNetMessHandler::MapNWAndRegStatus. ISARegistrationStatus:%d", aISARegistrationStatus);
  1809 OstTrace1( TRACE_NORMAL, CMMNETMESSHANDLER_MAPNWANDREGSTATUS, "CMmNetMessHandler::MapNWAndRegStatus;aRegStatus=%d", aRegStatus );
  1810 OstTrace1( TRACE_NORMAL,  CMMNETMESSHANDLER_MAPNWANDREGSTATUS_TD, "CMmNetMessHandler::MapNWAndRegStatus;aRegStatus=%d", aRegStatus );
  1810 
  1811 
  1811      switch ( aISARegistrationStatus )
  1812      switch ( aISARegistrationStatus )
  1812         {
  1813         {
  1813         // Registered home
  1814         // Registered home
  1814         case NET_REG_STATUS_HOME:
  1815         case NET_REG_STATUS_HOME:
  1858             }
  1859             }
  1859         // Defaul case
  1860         // Defaul case
  1860         default:
  1861         default:
  1861             {
  1862             {
  1862 TFLOGSTRING("TSY: CMmNetMessHandler::MapNWAndRegStatus. default registration status");
  1863 TFLOGSTRING("TSY: CMmNetMessHandler::MapNWAndRegStatus. default registration status");
  1863 OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_MAPNWANDREGSTATUS, "CMmNetMessHandler::MapNWAndRegStatus, default registration status" );
  1864 OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_MAPNWANDREGSTATUS_TD, "CMmNetMessHandler::MapNWAndRegStatus, default registration status" );
  1864             aNWStatus = RMobilePhone::ENetworkStatusUnknown;
  1865             aNWStatus = RMobilePhone::ENetworkStatusUnknown;
  1865             aRegStatus = RMobilePhone::ERegistrationUnknown;
  1866             aRegStatus = RMobilePhone::ERegistrationUnknown;
  1866             break;
  1867             break;
  1867             }
  1868             }
  1868         }
  1869         }
  1879         TUint8 aISASelectionMode, // Isa network selection mode
  1880         TUint8 aISASelectionMode, // Isa network selection mode
  1880         RMobilePhone::TMobilePhoneNetworkSelectionV1& aSelectionMode // Network selection mode
  1881         RMobilePhone::TMobilePhoneNetworkSelectionV1& aSelectionMode // Network selection mode
  1881         )
  1882         )
  1882     {
  1883     {
  1883 TFLOGSTRING2("TSY: CMmNetMessHandler::MapNWSelectionMode. ISA selectionmode:%d", aISASelectionMode);
  1884 TFLOGSTRING2("TSY: CMmNetMessHandler::MapNWSelectionMode. ISA selectionmode:%d", aISASelectionMode);
  1884 OstTraceExt1( TRACE_NORMAL, CMMNETMESSHANDLER_MAPNWSELECTIONMODE, "CMmNetMessHandler::MapNWSelectionMode;aISASelectionMode=%hhu", aISASelectionMode );
  1885 OstTraceExt1( TRACE_NORMAL,  CMMNETMESSHANDLER_MAPNWSELECTIONMODE_TD, "CMmNetMessHandler::MapNWSelectionMode;aISASelectionMode=%hhu", aISASelectionMode );
  1885 
  1886 
  1886     if ( NET_SELECT_MODE_AUTOMATIC == aISASelectionMode )
  1887     if ( NET_SELECT_MODE_AUTOMATIC == aISASelectionMode )
  1887         {
  1888         {
  1888         aSelectionMode.iMethod = RMobilePhone::ENetworkSelectionAutomatic;
  1889         aSelectionMode.iMethod = RMobilePhone::ENetworkSelectionAutomatic;
  1889         }
  1890         }
  1915         TInt aMNCLength
  1916         TInt aMNCLength
  1916         )
  1917         )
  1917     {
  1918     {
  1918     TFLOGSTRING2("TSY: CMmNetMessHandler::MapOperatorAndCountryCode - MNCLenght: %d",
  1919     TFLOGSTRING2("TSY: CMmNetMessHandler::MapOperatorAndCountryCode - MNCLenght: %d",
  1919         aMNCLength);
  1920         aMNCLength);
  1920 OstTrace1( TRACE_NORMAL, CMMNETMESSHANDLER_MAPOPERATORANDCOUNTRYCODE, "CMmNetMessHandler::MapOperatorAndCountryCode;aMNCLength=%d", aMNCLength );
  1921 OstTrace1( TRACE_NORMAL,  CMMNETMESSHANDLER_MAPOPERATORANDCOUNTRYCODE_TD, "CMmNetMessHandler::MapOperatorAndCountryCode;aMNCLength=%d", aMNCLength );
  1921 
  1922 
  1922     // Country code mapping
  1923     // Country code mapping
  1923     TUint16 mcc1( 0 );
  1924     TUint16 mcc1( 0 );
  1924     TUint16 mcc2( 0 );
  1925     TUint16 mcc2( 0 );
  1925     TUint16 mcc3( 0 );
  1926     TUint16 mcc3( 0 );
  2001         TUint8 aISANetworkStatus, // Isa network status value
  2002         TUint8 aISANetworkStatus, // Isa network status value
  2002         RMobilePhone::TMobilePhoneNetworkStatus& aNWStatus // Network status
  2003         RMobilePhone::TMobilePhoneNetworkStatus& aNWStatus // Network status
  2003         )
  2004         )
  2004     {
  2005     {
  2005 TFLOGSTRING2("TSY: CMmNetMessHandler::MapNwStatus. ISANetworkStatus:%d", aISANetworkStatus);
  2006 TFLOGSTRING2("TSY: CMmNetMessHandler::MapNwStatus. ISANetworkStatus:%d", aISANetworkStatus);
  2006 OstTraceExt1( TRACE_NORMAL, CMMNETMESSHANDLER_MAPNWSTATUS, "CMmNetMessHandler::MapNwStatus;aISANetworkStatus=%hhu", aISANetworkStatus );
  2007 OstTraceExt1( TRACE_NORMAL,  CMMNETMESSHANDLER_MAPNWSTATUS_TD, "CMmNetMessHandler::MapNwStatus;aISANetworkStatus=%hhu", aISANetworkStatus );
  2007 
  2008 
  2008      switch ( aISANetworkStatus )
  2009      switch ( aISANetworkStatus )
  2009         {
  2010         {
  2010         case NET_OPER_STATUS_UNKNOWN:
  2011         case NET_OPER_STATUS_UNKNOWN:
  2011             {
  2012             {
  2028             break;
  2029             break;
  2029             }
  2030             }
  2030         default:
  2031         default:
  2031             {
  2032             {
  2032 TFLOGSTRING("TSY: CMmNetMessHandler::MapNwStatus. mapped default network status");
  2033 TFLOGSTRING("TSY: CMmNetMessHandler::MapNwStatus. mapped default network status");
  2033 OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_MAPNWSTATUS, "CMmNetMessHandler::MapNwStatus, mapped default network status" );
  2034 OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_MAPNWSTATUS_TD, "CMmNetMessHandler::MapNwStatus, mapped default network status" );
  2034             aNWStatus = RMobilePhone::ENetworkStatusUnknown;
  2035             aNWStatus = RMobilePhone::ENetworkStatusUnknown;
  2035             break;
  2036             break;
  2036             }
  2037             }
  2037         }
  2038         }
  2038     }
  2039     }
  2055 
  2056 
  2056     TUint8 cipheringStatus( aIsiMessage.Get8bit(
  2057     TUint8 cipheringStatus( aIsiMessage.Get8bit(
  2057         ISI_HEADER_SIZE + NET_CIPHERING_IND_OFFSET_CIPHERINGSTATUS ) );
  2058         ISI_HEADER_SIZE + NET_CIPHERING_IND_OFFSET_CIPHERINGSTATUS ) );
  2058 
  2059 
  2059 TFLOGSTRING2("TSY: CMmNetMessHandler::NetCipheringInd. CipheringStatus:%d", cipheringStatus);
  2060 TFLOGSTRING2("TSY: CMmNetMessHandler::NetCipheringInd. CipheringStatus:%d", cipheringStatus);
  2060 OstTraceExt1( TRACE_NORMAL, CMMNETMESSHANDLER_NETCIPHERINGIND, "CMmNetMessHandler::NetCipheringInd;cipheringStatus=%hhu", cipheringStatus );
  2061 OstTraceExt1( TRACE_NORMAL,  CMMNETMESSHANDLER_NETCIPHERINGIND_TD, "CMmNetMessHandler::NetCipheringInd;cipheringStatus=%hhu", cipheringStatus );
  2061 
  2062 
  2062     switch( cipheringStatus )
  2063     switch( cipheringStatus )
  2063         {
  2064         {
  2064         case NET_CIPHERING_INDICATOR_OFF:
  2065         case NET_CIPHERING_INDICATOR_OFF:
  2065             {
  2066             {
  2074             break;
  2075             break;
  2075             }
  2076             }
  2076         default:
  2077         default:
  2077             {
  2078             {
  2078 TFLOGSTRING("TSY: CMmNetMessHandler::NetCipheringInd. no ciphering status");
  2079 TFLOGSTRING("TSY: CMmNetMessHandler::NetCipheringInd. no ciphering status");
  2079 OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_NETCIPHERINGIND, "CMmNetMessHandler::NetCipheringInd, no ciphering status" );
  2080 OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_NETCIPHERINGIND_TD, "CMmNetMessHandler::NetCipheringInd, no ciphering status" );
  2080             break;
  2081             break;
  2081             }
  2082             }
  2082         }
  2083         }
  2083 
  2084 
  2084     CMmDataPackage package;
  2085     CMmDataPackage package;
  2108         (
  2109         (
  2109         const TIsiReceiveC& aIsiMessage    // Received ISI message
  2110         const TIsiReceiveC& aIsiMessage    // Received ISI message
  2110         )
  2111         )
  2111     {
  2112     {
  2112 TFLOGSTRING("TSY: CMmNetMessHandler::NetRadioInfoInd");
  2113 TFLOGSTRING("TSY: CMmNetMessHandler::NetRadioInfoInd");
  2113 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_NETRADIOINFOIND, "CMmNetMessHandler::NetRadioInfoInd" );
  2114 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_NETRADIOINFOIND_TD, "CMmNetMessHandler::NetRadioInfoInd" );
  2114 
  2115 
  2115     TBool oldCell_DCH = iCell_DCH;
  2116     TBool oldCell_DCH = iCell_DCH;
  2116 
  2117 
  2117     // Find NET_UTRAN_RADIO_INFO sub block
  2118     // Find NET_UTRAN_RADIO_INFO sub block
  2118     TUint sbStartOffSet( 0 );
  2119     TUint sbStartOffSet( 0 );
  2128         TUint8 radioState( aIsiMessage.Get8bit(
  2129         TUint8 radioState( aIsiMessage.Get8bit(
  2129             sbStartOffSet + NET_UTRAN_RADIO_INFO_OFFSET_RADIOSTATE ) );
  2130             sbStartOffSet + NET_UTRAN_RADIO_INFO_OFFSET_RADIOSTATE ) );
  2130 
  2131 
  2131         // iCell_DCH is true if and only if UTRAN radio state is Cell_DCH
  2132         // iCell_DCH is true if and only if UTRAN radio state is Cell_DCH
  2132 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, UTRAN radio state=%d.", radioState);
  2133 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, UTRAN radio state=%d.", radioState);
  2133 OstTraceExt1( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_NETRADIOINFOIND, "CMmNetMessHandler::NetRadioInfoInd;UTRAN radioState=%hhu", radioState );
  2134 OstTraceExt1( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_NETRADIOINFOIND_TD, "CMmNetMessHandler::NetRadioInfoInd;UTRAN radioState=%hhu", radioState );
  2134 
  2135 
  2135         iCell_DCH = ( ( NET_UTRAN_RADIO_CELL_DCH == radioState ) ?
  2136         iCell_DCH = ( ( NET_UTRAN_RADIO_CELL_DCH == radioState ) ?
  2136             ETrue : EFalse );
  2137             ETrue : EFalse );
  2137         }
  2138         }
  2138     else
  2139     else
  2139         {
  2140         {
  2140 TFLOGSTRING("TSY: CMmNetMessHandler::NetRadioInfoInd, no UTRAN radio state info.");
  2141 TFLOGSTRING("TSY: CMmNetMessHandler::NetRadioInfoInd, no UTRAN radio state info.");
  2141 OstTrace0( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_NETRADIOINFOIND, "CMmNetMessHandler::NetRadioInfoInd, no UTRAN radio state info" );
  2142 OstTrace0( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_NETRADIOINFOIND_TD, "CMmNetMessHandler::NetRadioInfoInd, no UTRAN radio state info" );
  2142         iCell_DCH = EFalse;
  2143         iCell_DCH = EFalse;
  2143         }
  2144         }
  2144 
  2145 
  2145     // State changed?
  2146     // State changed?
  2146 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, iCell_DCH = %d.", iCell_DCH);
  2147 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, iCell_DCH = %d.", iCell_DCH);
  2147 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, oldCell_DCH = %d.", oldCell_DCH);
  2148 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, oldCell_DCH = %d.", oldCell_DCH);
  2148 OstTrace1( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_NETRADIOINFOIND, "CMmNetMessHandler::NetRadioInfoInd;oldCell_DCH=%d", oldCell_DCH );
  2149 OstTrace1( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_NETRADIOINFOIND_TD, "CMmNetMessHandler::NetRadioInfoInd;oldCell_DCH=%d", oldCell_DCH );
  2149 
  2150 
  2150     if ( iCell_DCH != oldCell_DCH )
  2151     if ( iCell_DCH != oldCell_DCH )
  2151         {
  2152         {
  2152         if ( iCell_DCH )
  2153         if ( iCell_DCH )
  2153             {
  2154             {
  2157             location.iAreaKnown = EFalse;
  2158             location.iAreaKnown = EFalse;
  2158             location.iLocationAreaCode = iLastLocInfo.iLocationAreaCode;
  2159             location.iLocationAreaCode = iLastLocInfo.iLocationAreaCode;
  2159             location.iCellId = iLastLocInfo.iCellId;
  2160             location.iCellId = iLastLocInfo.iCellId;
  2160 
  2161 
  2161 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, location.iAreaKnown = %d.", location.iAreaKnown);
  2162 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, location.iAreaKnown = %d.", location.iAreaKnown);
  2162 OstTrace1( TRACE_NORMAL, DUP4_CMMNETMESSHANDLER_NETRADIOINFOIND, "CMmNetMessHandler::NetRadioInfoInd;location.iAreaKnown=%d", location.iAreaKnown );
  2163 OstTrace1( TRACE_NORMAL,  DUP4_CMMNETMESSHANDLER_NETRADIOINFOIND_TD, "CMmNetMessHandler::NetRadioInfoInd;location.iAreaKnown=%d", location.iAreaKnown );
  2163 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, location.iLocationAreaCode = %d.", location.iLocationAreaCode);
  2164 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, location.iLocationAreaCode = %d.", location.iLocationAreaCode);
  2164 OstTrace1( TRACE_NORMAL, DUP5_CMMNETMESSHANDLER_NETRADIOINFOIND, "CMmNetMessHandler::NetRadioInfoInd;location.iLocationAreaCode=%d", location.iLocationAreaCode );
  2165 OstTrace1( TRACE_NORMAL,  DUP5_CMMNETMESSHANDLER_NETRADIOINFOIND_TD, "CMmNetMessHandler::NetRadioInfoInd;location.iLocationAreaCode=%d", location.iLocationAreaCode );
  2165 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, location.iCellId = %d.", location.iCellId );
  2166 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, location.iCellId = %d.", location.iCellId );
  2166 OstTrace1( TRACE_NORMAL, DUP6_CMMNETMESSHANDLER_NETRADIOINFOIND, "CMmNetMessHandler::NetRadioInfoInd;location.iCellId=%d", location.iCellId );
  2167 OstTrace1( TRACE_NORMAL,  DUP6_CMMNETMESSHANDLER_NETRADIOINFOIND_TD, "CMmNetMessHandler::NetRadioInfoInd;location.iCellId=%d", location.iCellId );
  2167 
  2168 
  2168             CMmDataPackage dataPackage;
  2169             CMmDataPackage dataPackage;
  2169             dataPackage.PackData( &iLastNWInfo, &location );
  2170             dataPackage.PackData( &iLastNWInfo, &location );
  2170 
  2171 
  2171             iMessageRouter->Complete(
  2172             iMessageRouter->Complete(
  2186                 KErrNone );
  2187                 KErrNone );
  2187             }
  2188             }
  2188         }
  2189         }
  2189 
  2190 
  2190 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, iLastLocInfo.iAreaKnown = %d.", iLastLocInfo.iAreaKnown);
  2191 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, iLastLocInfo.iAreaKnown = %d.", iLastLocInfo.iAreaKnown);
  2191 OstTrace1( TRACE_NORMAL, DUP7_CMMNETMESSHANDLER_NETRADIOINFOIND, "CMmNetMessHandler::NetRadioInfoInd;iLastLocInfo.iAreaKnown=%d", iLastLocInfo.iAreaKnown );
  2192 OstTrace1( TRACE_NORMAL,  DUP7_CMMNETMESSHANDLER_NETRADIOINFOIND_TD, "CMmNetMessHandler::NetRadioInfoInd;iLastLocInfo.iAreaKnown=%d", iLastLocInfo.iAreaKnown );
  2192 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, iLastLocInfo.iLocationAreaCode = %d.", iLastLocInfo.iLocationAreaCode);
  2193 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, iLastLocInfo.iLocationAreaCode = %d.", iLastLocInfo.iLocationAreaCode);
  2193 OstTrace1( TRACE_NORMAL, DUP8_CMMNETMESSHANDLER_NETRADIOINFOIND, "CMmNetMessHandler::NetRadioInfoInd;iLastLocInfo.iLocationAreaCode=%d", iLastLocInfo.iLocationAreaCode );
  2194 OstTrace1( TRACE_NORMAL,  DUP8_CMMNETMESSHANDLER_NETRADIOINFOIND_TD, "CMmNetMessHandler::NetRadioInfoInd;iLastLocInfo.iLocationAreaCode=%d", iLastLocInfo.iLocationAreaCode );
  2194 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, iLastLocInfo.iCellId = %d.", iLastLocInfo.iCellId);
  2195 TFLOGSTRING2("TSY: CMmNetMessHandler::NetRadioInfoInd, iLastLocInfo.iCellId = %d.", iLastLocInfo.iCellId);
  2195 OstTrace1( TRACE_NORMAL, DUP9_CMMNETMESSHANDLER_NETRADIOINFOIND, "CMmNetMessHandler::NetRadioInfoInd;iLastLocInfo.iCellId=%d", iLastLocInfo.iCellId );
  2196 OstTrace1( TRACE_NORMAL,  DUP9_CMMNETMESSHANDLER_NETRADIOINFOIND_TD, "CMmNetMessHandler::NetRadioInfoInd;iLastLocInfo.iCellId=%d", iLastLocInfo.iCellId );
  2196     }
  2197     }
  2197 
  2198 
  2198 // -----------------------------------------------------------------------------
  2199 // -----------------------------------------------------------------------------
  2199 // CMmNetMessHandler::UiccReadCiReq
  2200 // CMmNetMessHandler::UiccReadCiReq
  2200 // Read ciphering information status from UICC
  2201 // Read ciphering information status from UICC
  2201 // -----------------------------------------------------------------------------
  2202 // -----------------------------------------------------------------------------
  2202 //
  2203 //
  2203 TInt CMmNetMessHandler::UiccReadCiReq()
  2204 TInt CMmNetMessHandler::UiccReadCiReq()
  2204     {
  2205     {
  2205 TFLOGSTRING("TSY: CMmNetMessHandler::UiccReadCiReq");
  2206 TFLOGSTRING("TSY: CMmNetMessHandler::UiccReadCiReq");
  2206 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_UICCREADCIREQ, "CMmNetMessHandler::UiccReadCiReq" );
  2207 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_UICCREADCIREQ_TD, "CMmNetMessHandler::UiccReadCiReq" );
  2207 
  2208 
  2208     // Set parameters for UICC_APPL_CMD_REQ message
  2209     // Set parameters for UICC_APPL_CMD_REQ message
  2209     TUiccReadTransparent params;
  2210     TUiccReadTransparent params;
  2210     params.messHandlerPtr = static_cast<MUiccOperationBase*>( this );
  2211     params.messHandlerPtr = static_cast<MUiccOperationBase*>( this );
  2211     params.trId = ETrIdReadCipheringIndicatorStatus;
  2212     params.trId = ETrIdReadCipheringIndicatorStatus;
  2232 // -----------------------------------------------------------------------------
  2233 // -----------------------------------------------------------------------------
  2233 //
  2234 //
  2234 void CMmNetMessHandler::UiccReadCiResp( TInt aStatus, const TDesC8& aFileData )
  2235 void CMmNetMessHandler::UiccReadCiResp( TInt aStatus, const TDesC8& aFileData )
  2235     {
  2236     {
  2236 TFLOGSTRING("TSY: CMmNetMessHandler::UiccReadCiResp");
  2237 TFLOGSTRING("TSY: CMmNetMessHandler::UiccReadCiResp");
  2237 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_UICCREADCIRESP, "CMmNetMessHandler::UiccReadCiResp" );
  2238 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_UICCREADCIRESP_TD, "CMmNetMessHandler::UiccReadCiResp" );
  2238 
  2239 
  2239     // Initialize ret value
  2240     // Initialize ret value
  2240     TInt ret( KErrNone );
  2241     TInt ret( KErrNone );
  2241 
  2242 
  2242     // Ciphering indicator information
  2243     // Ciphering indicator information
  2270 // -----------------------------------------------------------------------------
  2271 // -----------------------------------------------------------------------------
  2271 //
  2272 //
  2272 TInt CMmNetMessHandler::UiccCsReadReq()
  2273 TInt CMmNetMessHandler::UiccCsReadReq()
  2273     {
  2274     {
  2274 TFLOGSTRING("TSY: CMmNetMessHandler::UiccCsReadReq");
  2275 TFLOGSTRING("TSY: CMmNetMessHandler::UiccCsReadReq");
  2275 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_UICCCSREADREQ, "CMmNetMessHandler::UiccCsReadReq" );
  2276 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_UICCCSREADREQ_TD, "CMmNetMessHandler::UiccCsReadReq" );
  2276 
  2277 
  2277     // At first we try to read EHPLMN, SIM file '6FD9'
  2278     // At first we try to read EHPLMN, SIM file '6FD9'
  2278     // When response is received and if EHPLMN is not supported
  2279     // When response is received and if EHPLMN is not supported
  2279     // we need to read HPLMN from IMSI (EF '6F07')
  2280     // we need to read HPLMN from IMSI (EF '6F07')
  2280 
  2281 
  2305 void CMmNetMessHandler::UiccCsReadEhpmlnResp(
  2306 void CMmNetMessHandler::UiccCsReadEhpmlnResp(
  2306     TInt aStatus,
  2307     TInt aStatus,
  2307     const TDesC8& aFileData )
  2308     const TDesC8& aFileData )
  2308     {
  2309     {
  2309 TFLOGSTRING("TSY: CMmNetMessHandler::UiccCsReadEhpmlnResp");
  2310 TFLOGSTRING("TSY: CMmNetMessHandler::UiccCsReadEhpmlnResp");
  2310 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_UICCCSREADEHPMLNRESP, "CMmNetMessHandler::UiccCsReadEhpmlnResp" );
  2311 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_UICCCSREADEHPMLNRESP_TD, "CMmNetMessHandler::UiccCsReadEhpmlnResp" );
  2311 
  2312 
  2312     // If status was OK, EHPLMN was supported
  2313     // If status was OK, EHPLMN was supported
  2313     if ( KErrNone ==  aStatus )
  2314     if ( UICC_STATUS_OK ==  aStatus )
  2314         {
  2315         {
  2315         iHplmn = aFileData;
  2316         iHplmn = aFileData;
  2316         }
  2317         }
  2317     else // EHPLMN was not supported, read HPLMN
  2318     else // EHPLMN was not supported, read HPLMN
  2318         {
  2319         {
  2347 void CMmNetMessHandler::UiccCsReadHpmlnResp(
  2348 void CMmNetMessHandler::UiccCsReadHpmlnResp(
  2348     TInt aStatus,
  2349     TInt aStatus,
  2349     const TDesC8& aFileData )
  2350     const TDesC8& aFileData )
  2350     {
  2351     {
  2351 TFLOGSTRING("TSY: CMmNetMessHandler::UiccCsReadHpmlnResp");
  2352 TFLOGSTRING("TSY: CMmNetMessHandler::UiccCsReadHpmlnResp");
  2352 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_UICCCSREADHPMLNRESP, "CMmNetMessHandler::UiccCsReadHpmlnResp" );
  2353 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_UICCCSREADHPMLNRESP_TD, "CMmNetMessHandler::UiccCsReadHpmlnResp" );
  2353 
  2354 
  2354     if ( KErrNone ==  aStatus )
  2355     if ( UICC_STATUS_OK ==  aStatus )
  2355         {
  2356         {
  2356         TUint8 tempByte( 0 );
  2357         TUint8 tempByte( 0 );
  2357         // Coding of HPMLN is defined in TS 24.008
  2358         // Coding of HPMLN is defined in TS 24.008
  2358         // First byte is MCC2|MCC1
  2359         // First byte is MCC2|MCC1
  2359         tempByte = ( ( aFileData[1] & 0x0F ) << 4 ) |
  2360         tempByte = ( ( aFileData[1] & 0x0F ) << 4 ) |
  2384 // -----------------------------------------------------------------------------
  2385 // -----------------------------------------------------------------------------
  2385 //
  2386 //
  2386 void CMmNetMessHandler::SetSimNetworkInfo()
  2387 void CMmNetMessHandler::SetSimNetworkInfo()
  2387     {
  2388     {
  2388 TFLOGSTRING("TSY: CMmNetMessHandler::SetSimNetworkInfo");
  2389 TFLOGSTRING("TSY: CMmNetMessHandler::SetSimNetworkInfo");
  2389 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_SETSIMNETWORKINFO, "CMmNetMessHandler::SetSimNetworkInfo" );
  2390 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_SETSIMNETWORKINFO_TD, "CMmNetMessHandler::SetSimNetworkInfo" );
  2390 
  2391 
  2391     // iHomeInfo is declared in cmmnetmesshandler.h (class private parameter
  2392     // iHomeInfo is declared in cmmnetmesshandler.h (class private parameter
  2392     // to store the network information during the operator name is requested.
  2393     // to store the network information during the operator name is requested.
  2393 
  2394 
  2394     // Remember to zero-fill the buffers before appending.
  2395     // Remember to zero-fill the buffers before appending.
  2424     CMmStaticUtility::GetIntFromDescriptor(
  2425     CMmStaticUtility::GetIntFromDescriptor(
  2425         mncNumber,
  2426         mncNumber,
  2426         iHomeInfo.iNetworkId );
  2427         iHomeInfo.iNetworkId );
  2427 
  2428 
  2428 TFLOGSTRING2("TSY: CMmNetMessHandler::SetSimNetworkInfo - CountryCode: %S", &iHomeInfo.iCountryCode);
  2429 TFLOGSTRING2("TSY: CMmNetMessHandler::SetSimNetworkInfo - CountryCode: %S", &iHomeInfo.iCountryCode);
  2429 OstTraceExt1( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_SETSIMNETWORKINFO, "CMmNetMessHandler::SetSimNetworkInfo - CountryCode=%S", iHomeInfo.iCountryCode );
  2430 OstTraceExt1( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_SETSIMNETWORKINFO_TD, "CMmNetMessHandler::SetSimNetworkInfo - CountryCode=%S", iHomeInfo.iCountryCode );
  2430 TFLOGSTRING2("TSY: CMmNetMessHandler::SetSimNetworkInfo - NetworkId: %S", &iHomeInfo.iNetworkId);
  2431 TFLOGSTRING2("TSY: CMmNetMessHandler::SetSimNetworkInfo - NetworkId: %S", &iHomeInfo.iNetworkId);
  2431 OstTraceExt1( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_SETSIMNETWORKINFO, "CMmNetMessHandler::SetSimNetworkInfo - NetworkId=%S", iHomeInfo.iNetworkId );
  2432 OstTraceExt1( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_SETSIMNETWORKINFO_TD, "CMmNetMessHandler::SetSimNetworkInfo - NetworkId=%S", iHomeInfo.iNetworkId );
  2432 
  2433 
  2433     // Buffer for Display tag.
  2434     // Buffer for Display tag.
  2434     TBuf<KDisplayTagLength> alphaTag;
  2435     TBuf<KDisplayTagLength> alphaTag;
  2435 
  2436 
  2436     // Get Hard coded name from operators.h.
  2437     // Get Hard coded name from operators.h.
  2438         mccNumber,
  2439         mccNumber,
  2439         mncNumber,
  2440         mncNumber,
  2440         alphaTag );
  2441         alphaTag );
  2441 
  2442 
  2442 TFLOGSTRING2("TSY: CMmNetMessHandler::SetSimNetworkInfo - Name: %S", &alphaTag);
  2443 TFLOGSTRING2("TSY: CMmNetMessHandler::SetSimNetworkInfo - Name: %S", &alphaTag);
  2443 OstTraceExt1( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_SETSIMNETWORKINFO, "CMmNetMessHandler::SetSimNetworkInfo - Name=%S", alphaTag );
  2444 OstTraceExt1( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_SETSIMNETWORKINFO_TD, "CMmNetMessHandler::SetSimNetworkInfo - Name=%S", alphaTag );
  2444 
  2445 
  2445     // Copy hard coded name to iDisplayTag. Long and short names not handled
  2446     // Copy hard coded name to iDisplayTag. Long and short names not handled
  2446     // in this case and they will left empty.
  2447     // in this case and they will left empty.
  2447     iHomeInfo.iDisplayTag.Copy( alphaTag );
  2448     iHomeInfo.iDisplayTag.Copy( alphaTag );
  2448 
  2449 
  2461         const TIsiReceiveC& /*aIsiMessage*/,    // Isi message
  2462         const TIsiReceiveC& /*aIsiMessage*/,    // Isi message
  2462         TInt /*aError*/    // Error code
  2463         TInt /*aError*/    // Error code
  2463         )
  2464         )
  2464     {
  2465     {
  2465 TFLOGSTRING("TSY: CMmNetMessHandler::HandleError");
  2466 TFLOGSTRING("TSY: CMmNetMessHandler::HandleError");
  2466 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_HANDLEERROR, "CMmNetMessHandler::HandleError" );
  2467 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_HANDLEERROR_TD, "CMmNetMessHandler::HandleError" );
  2467     }
  2468     }
  2468 
  2469 
  2469 // -----------------------------------------------------------------------------
  2470 // -----------------------------------------------------------------------------
  2470 // CMmNetMessHandler::GetImsPinVerifyStatus
  2471 // CMmNetMessHandler::GetImsPinVerifyStatus
  2471 // Return status of SIM PIN verify
  2472 // Return status of SIM PIN verify
  2472 // -----------------------------------------------------------------------------
  2473 // -----------------------------------------------------------------------------
  2473 //
  2474 //
  2474 TBool CMmNetMessHandler::GetImsPinVerifyStatus()
  2475 TBool CMmNetMessHandler::GetImsPinVerifyStatus()
  2475     {
  2476     {
  2476 TFLOGSTRING("TSY: CMmNetMessHandler::GetImsPinVerifyStatus");
  2477 TFLOGSTRING("TSY: CMmNetMessHandler::GetImsPinVerifyStatus");
  2477 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_GETIMSPINVERIFYSTATUS, "CMmNetMessHandler::GetImsPinVerifyStatus" );
  2478 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_GETIMSPINVERIFYSTATUS_TD, "CMmNetMessHandler::GetImsPinVerifyStatus" );
  2478 
  2479 
  2479     return iImsPinVerifyRequired;
  2480     return iImsPinVerifyRequired;
  2480     }
  2481     }
  2481 
  2482 
  2482 // -----------------------------------------------------------------------------
  2483 // -----------------------------------------------------------------------------
  2488         (
  2489         (
  2489         const TIsiReceiveC& aIsiMessage // Received ISI message
  2490         const TIsiReceiveC& aIsiMessage // Received ISI message
  2490         )
  2491         )
  2491     {
  2492     {
  2492 TFLOGSTRING2("TSY: CMmNetMessHandler::GpdsRadioActivityInd, NetworkMode = %d.", iNetworkMode);
  2493 TFLOGSTRING2("TSY: CMmNetMessHandler::GpdsRadioActivityInd, NetworkMode = %d.", iNetworkMode);
  2493 OstTrace1( TRACE_NORMAL, CMMNETMESSHANDLER_GPDSRADIOACTIVITYIND, "CMmNetMessHandler::GpdsRadioActivityInd;iNetworkMode=%d", iNetworkMode );
  2494 OstTrace1( TRACE_NORMAL,  CMMNETMESSHANDLER_GPDSRADIOACTIVITYIND_TD, "CMmNetMessHandler::GpdsRadioActivityInd;iNetworkMode=%d", iNetworkMode );
  2494 
  2495 
  2495     // Should be ignored in 3G (information not valid).
  2496     // Should be ignored in 3G (information not valid).
  2496     if ( RMobilePhone::ENetworkModeGsm == iNetworkMode )
  2497     if ( RMobilePhone::ENetworkModeGsm == iNetworkMode )
  2497         {
  2498         {
  2498         TUint8 radioActivityStatus( aIsiMessage.Get8bit(
  2499         TUint8 radioActivityStatus( aIsiMessage.Get8bit(
  2499             ISI_HEADER_SIZE + GPDS_RADIO_ACTIVITY_IND_OFFSET_STATUS ) );
  2500             ISI_HEADER_SIZE + GPDS_RADIO_ACTIVITY_IND_OFFSET_STATUS ) );
  2500         // iPacketTransfer is true if and only
  2501         // iPacketTransfer is true if and only
  2501         // if radio activity state is GPDS_RADIO_ON
  2502         // if radio activity state is GPDS_RADIO_ON
  2502 TFLOGSTRING2("TSY: CMmNetMessHandler::GpdsRadioActivityInd, radio activity state=%d.", radioActivityStatus);
  2503 TFLOGSTRING2("TSY: CMmNetMessHandler::GpdsRadioActivityInd, radio activity state=%d.", radioActivityStatus);
  2503 OstTraceExt1( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_GPDSRADIOACTIVITYIND, "CMmNetMessHandler::GpdsRadioActivityInd;radio activity state=%hhu", radioActivityStatus );
  2504 OstTraceExt1( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_GPDSRADIOACTIVITYIND_TD, "CMmNetMessHandler::GpdsRadioActivityInd;radio activity state=%hhu", radioActivityStatus );
  2504 
  2505 
  2505         TBool newPacketTransfer = ( ( GPDS_RADIO_ON == radioActivityStatus ) ?
  2506         TBool newPacketTransfer = ( ( GPDS_RADIO_ON == radioActivityStatus ) ?
  2506             ETrue : EFalse );
  2507             ETrue : EFalse );
  2507 
  2508 
  2508         if ( GPDS_RADIO_OFF == radioActivityStatus )
  2509         if ( GPDS_RADIO_OFF == radioActivityStatus )
  2535         (
  2536         (
  2536         const TIsiReceiveC& /*aIsiMessage*/
  2537         const TIsiReceiveC& /*aIsiMessage*/
  2537         )
  2538         )
  2538     {
  2539     {
  2539 TFLOGSTRING("TSY: CMmNetMessHandler::GpdsContextDeactivateInd");
  2540 TFLOGSTRING("TSY: CMmNetMessHandler::GpdsContextDeactivateInd");
  2540 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_GPDSCONTEXTDEACTIVATEIND, "CMmNetMessHandler::GpdsContextDeactivateInd" );
  2541 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_GPDSCONTEXTDEACTIVATEIND_TD, "CMmNetMessHandler::GpdsContextDeactivateInd" );
  2541     // GPDS_RADIO_ACTIVITY_IND / RADIO_OFF is not received when
  2542     // GPDS_RADIO_ACTIVITY_IND / RADIO_OFF is not received when
  2542     // last context is closed => iPacketTransfer remains to ETrue
  2543     // last context is closed => iPacketTransfer remains to ETrue
  2543     // => simulate GPDS_RADIO_OFF from GPDS_CONTEXT_DEACTIVATE_IND.
  2544     // => simulate GPDS_RADIO_OFF from GPDS_CONTEXT_DEACTIVATE_IND.
  2544     //
  2545     //
  2545     // When PDP context is deactivated, it is still on the list at this point.
  2546     // When PDP context is deactivated, it is still on the list at this point.
  2564         TBool aNewPacketTrancferStatus
  2565         TBool aNewPacketTrancferStatus
  2565         )
  2566         )
  2566     {
  2567     {
  2567     // State changed?
  2568     // State changed?
  2568 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, NEW transfer status = %d.", aNewPacketTrancferStatus);
  2569 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, NEW transfer status = %d.", aNewPacketTrancferStatus);
  2569 OstTrace1( TRACE_NORMAL, CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;NEW transfer status=%d", aNewPacketTrancferStatus );
  2570 OstTrace1( TRACE_NORMAL,  CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND_TD, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;NEW transfer status=%d", aNewPacketTrancferStatus );
  2570 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, OLD transfer status = %d.", iPacketTransfer);
  2571 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, OLD transfer status = %d.", iPacketTransfer);
  2571 OstTrace1( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;OLD transfer status=%d", iPacketTransfer );
  2572 OstTrace1( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND_TD, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;OLD transfer status=%d", iPacketTransfer );
  2572 
  2573 
  2573     if ( iPacketTransfer != aNewPacketTrancferStatus )
  2574     if ( iPacketTransfer != aNewPacketTrancferStatus )
  2574         {
  2575         {
  2575         // Save new state
  2576         // Save new state
  2576         iPacketTransfer = aNewPacketTrancferStatus;
  2577         iPacketTransfer = aNewPacketTrancferStatus;
  2583             location.iAreaKnown = EFalse;
  2584             location.iAreaKnown = EFalse;
  2584             location.iLocationAreaCode = iLastLocInfo.iLocationAreaCode;
  2585             location.iLocationAreaCode = iLastLocInfo.iLocationAreaCode;
  2585             location.iCellId = iLastLocInfo.iCellId;
  2586             location.iCellId = iLastLocInfo.iCellId;
  2586 
  2587 
  2587 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, location.iAreaKnown = %d.", location.iAreaKnown);
  2588 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, location.iAreaKnown = %d.", location.iAreaKnown);
  2588 OstTrace1( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;location.iAreaKnown=%d", location.iAreaKnown );
  2589 OstTrace1( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND_TD, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;location.iAreaKnown=%d", location.iAreaKnown );
  2589 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, location.iLocationAreaCode = %d.", location.iLocationAreaCode);
  2590 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, location.iLocationAreaCode = %d.", location.iLocationAreaCode);
  2590 OstTrace1( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;location.iLocationAreaCode=%d", location.iLocationAreaCode );
  2591 OstTrace1( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND_TD, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;location.iLocationAreaCode=%d", location.iLocationAreaCode );
  2591 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, location.iCellId = %d.", location.iCellId);
  2592 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, location.iCellId = %d.", location.iCellId);
  2592 OstTrace1( TRACE_NORMAL, DUP4_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;location.iCellId=%d", location.iCellId );
  2593 OstTrace1( TRACE_NORMAL,  DUP4_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND_TD, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;location.iCellId=%d", location.iCellId );
  2593 
  2594 
  2594             CMmDataPackage dataPackage;
  2595             CMmDataPackage dataPackage;
  2595             dataPackage.PackData( &iLastNWInfo, &location );
  2596             dataPackage.PackData( &iLastNWInfo, &location );
  2596             iMessageRouter->Complete(
  2597             iMessageRouter->Complete(
  2597                 EMobilePhoneNotifyCurrentNetworkChange,
  2598                 EMobilePhoneNotifyCurrentNetworkChange,
  2611             }
  2612             }
  2612         }
  2613         }
  2613     // No else
  2614     // No else
  2614 
  2615 
  2615 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, iLastLocInfo.iAreaKnown = %d.", iLastLocInfo.iAreaKnown);
  2616 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, iLastLocInfo.iAreaKnown = %d.", iLastLocInfo.iAreaKnown);
  2616 OstTrace1( TRACE_NORMAL, DUP5_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;iLastLocInfo.iAreaKnown=%d", iLastLocInfo.iAreaKnown );
  2617 OstTrace1( TRACE_NORMAL,  DUP5_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND_TD, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;iLastLocInfo.iAreaKnown=%d", iLastLocInfo.iAreaKnown );
  2617 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, iLastLocInfo.iLocationAreaCode = %d.", iLastLocInfo.iLocationAreaCode);
  2618 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, iLastLocInfo.iLocationAreaCode = %d.", iLastLocInfo.iLocationAreaCode);
  2618 OstTrace1( TRACE_NORMAL, DUP6_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;iLastLocInfo.iLocationAreaCode=%d", iLastLocInfo.iLocationAreaCode );
  2619 OstTrace1( TRACE_NORMAL,  DUP6_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND_TD, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;iLastLocInfo.iLocationAreaCode=%d", iLastLocInfo.iLocationAreaCode );
  2619 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, iLastLocInfo.iCellId = %d.", iLastLocInfo.iCellId);
  2620 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteGpdsRadioActivityInd, iLastLocInfo.iCellId = %d.", iLastLocInfo.iCellId);
  2620 OstTrace1( TRACE_NORMAL, DUP7_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;iLastLocInfo.iCellId=%d", iLastLocInfo.iCellId );
  2621 OstTrace1( TRACE_NORMAL,  DUP7_CMMNETMESSHANDLER_COMPLETEGPDSRADIOACTIVITYIND_TD, "CMmNetMessHandler::CompleteGpdsRadioActivityInd;iLastLocInfo.iCellId=%d", iLastLocInfo.iCellId );
  2621     }
  2622     }
  2622 
  2623 
  2623 // -----------------------------------------------------------------------------
  2624 // -----------------------------------------------------------------------------
  2624 // CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork
  2625 // CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork
  2625 // This function completes EMobilePhoneGetHomeNetwork.
  2626 // This function completes EMobilePhoneGetHomeNetwork.
  2626 // -----------------------------------------------------------------------------
  2627 // -----------------------------------------------------------------------------
  2627 //
  2628 //
  2628 void CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork()
  2629 void CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork()
  2629     {
  2630     {
  2630 TFLOGSTRING("TSY: CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork");
  2631 TFLOGSTRING("TSY: CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork");
  2631 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_COMPLETEMOBILEPHONEGETHOMENETWORK, "CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork" );
  2632 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_COMPLETEMOBILEPHONEGETHOMENETWORK_TD, "CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork" );
  2632 
  2633 
  2633 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork - Operator display tag: %S", &iHomeInfo.iDisplayTag);
  2634 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork - Operator display tag: %S", &iHomeInfo.iDisplayTag);
  2634 OstTraceExt1( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_COMPLETEMOBILEPHONEGETHOMENETWORK, "CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork;Operator display tag=%S", iHomeInfo.iDisplayTag );
  2635 OstTraceExt1( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_COMPLETEMOBILEPHONEGETHOMENETWORK_TD, "CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork;Operator display tag=%S", iHomeInfo.iDisplayTag );
  2635 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork - Operator short name: %S", &iHomeInfo.iShortName);
  2636 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork - Operator short name: %S", &iHomeInfo.iShortName);
  2636 OstTraceExt1( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_COMPLETEMOBILEPHONEGETHOMENETWORK, "CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork;Operator short name=%S", iHomeInfo.iShortName );
  2637 OstTraceExt1( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_COMPLETEMOBILEPHONEGETHOMENETWORK_TD, "CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork;Operator short name=%S", iHomeInfo.iShortName );
  2637 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork - Operator long name: %S", &iHomeInfo.iLongName);
  2638 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork - Operator long name: %S", &iHomeInfo.iLongName);
  2638 OstTraceExt1( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_COMPLETEMOBILEPHONEGETHOMENETWORK, "CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork;Operator long name=%S", iHomeInfo.iLongName );
  2639 OstTraceExt1( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_COMPLETEMOBILEPHONEGETHOMENETWORK_TD, "CMmNetMessHandler::CompleteMobilePhoneGetHomeNetwork;Operator long name=%S", iHomeInfo.iLongName );
  2639 
  2640 
  2640     // Pack the data
  2641     // Pack the data
  2641     CMmDataPackage package;
  2642     CMmDataPackage package;
  2642     package.PackData( &iHomeInfo );
  2643     package.PackData( &iHomeInfo );
  2643 
  2644 
  2662     ) const
  2663     ) const
  2663     {
  2664     {
  2664     TUint sbStartOffSet( 0 );
  2665     TUint sbStartOffSet( 0 );
  2665 
  2666 
  2666     TFLOGSTRING("TSY: CMmNetMessHandler::FindOperatorInfoSubBlock");
  2667     TFLOGSTRING("TSY: CMmNetMessHandler::FindOperatorInfoSubBlock");
  2667     OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_FINDOPERATORINFOSUBBLOCK, "CMmNetMessHandler::FindOperatorInfoSubBlock" );
  2668     OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_FINDOPERATORINFOSUBBLOCK_TD, "CMmNetMessHandler::FindOperatorInfoSubBlock" );
  2668 
  2669 
  2669     TInt ret( CalculateNetworkInformationSbStartOffset(
  2670     TInt ret( CalculateNetworkInformationSbStartOffset(
  2670         aIsiMessage, sbStartOffSet ) );
  2671         aIsiMessage, sbStartOffSet ) );
  2671 
  2672 
  2672     if ( KErrNone == ret )
  2673     if ( KErrNone == ret )
  2677             NET_MODEM_CURRENT_CELL_INFO,
  2678             NET_MODEM_CURRENT_CELL_INFO,
  2678             EIsiSubBlockTypeId8Len8,
  2679             EIsiSubBlockTypeId8Len8,
  2679             sbStartOffSet );
  2680             sbStartOffSet );
  2680         if ( KErrNone != ret )
  2681         if ( KErrNone != ret )
  2681             { // look for NET_MODEM_GSM_REG_INFO subblock
  2682             { // look for NET_MODEM_GSM_REG_INFO subblock
  2682             OstTrace0( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_FINDOPERATORINFOSUBBLOCK, "CMmNetMessHandler::FindOperatorInfoSubBlock - NET_MODEM_CURRENT_CELL_INFO NOT FOUND" );
  2683             OstTrace0( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_FINDOPERATORINFOSUBBLOCK_TD, "CMmNetMessHandler::FindOperatorInfoSubBlock - NET_MODEM_CURRENT_CELL_INFO NOT FOUND" );
  2683             TFLOGSTRING("TSY: CMmNetMessHandler::FindOperatorInfoSubBlock - NET_MODEM_CURRENT_CELL_INFO NOT FOUND");
  2684             TFLOGSTRING("TSY: CMmNetMessHandler::FindOperatorInfoSubBlock - NET_MODEM_CURRENT_CELL_INFO NOT FOUND");
  2684             ret = aIsiMessage.FindSubBlockOffsetById(
  2685             ret = aIsiMessage.FindSubBlockOffsetById(
  2685                 ISI_HEADER_SIZE + sbStartOffSet,
  2686                 ISI_HEADER_SIZE + sbStartOffSet,
  2686                 NET_MODEM_GSM_REG_INFO,
  2687                 NET_MODEM_GSM_REG_INFO,
  2687                 EIsiSubBlockTypeId8Len8,
  2688                 EIsiSubBlockTypeId8Len8,
  2691             {
  2692             {
  2692             aSbOffset = sbStartOffSet;
  2693             aSbOffset = sbStartOffSet;
  2693             }
  2694             }
  2694         else
  2695         else
  2695             {
  2696             {
  2696             OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_FINDOPERATORINFOSUBBLOCK, "CMmNetMessHandler::FindOperatorInfoSubBlock - NOTHING FOUND!" );
  2697             OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_FINDOPERATORINFOSUBBLOCK_TD, "CMmNetMessHandler::FindOperatorInfoSubBlock - NOTHING FOUND!" );
  2697             TFLOGSTRING("TSY: CMmNetMessHandler::FindOperatorInfoSubBlock - NOTHING FOUND!");
  2698             TFLOGSTRING("TSY: CMmNetMessHandler::FindOperatorInfoSubBlock - NOTHING FOUND!");
  2698             }
  2699             }
  2699         }
  2700         }
  2700     return ret;
  2701     return ret;
  2701     }
  2702     }
  2713     TUint8& aRegistrationStatus,
  2714     TUint8& aRegistrationStatus,
  2714     TUint& aSbStartOffset
  2715     TUint& aSbStartOffset
  2715     ) const
  2716     ) const
  2716     {
  2717     {
  2717     TFLOGSTRING("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus");
  2718     TFLOGSTRING("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus");
  2718     OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS, "CMmNetMessHandler::ExtractNetworkRegistrationStatus" );
  2719     OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS_TD, "CMmNetMessHandler::ExtractNetworkRegistrationStatus" );
  2719     TUint sbStartOffSet( 0 );
  2720     TUint sbStartOffSet( 0 );
  2720 
  2721 
  2721     TInt ret( CalculateNetworkInformationSbStartOffset(
  2722     TInt ret( CalculateNetworkInformationSbStartOffset(
  2722         aIsiMessage, sbStartOffSet ) );
  2723         aIsiMessage, sbStartOffSet ) );
  2723 
  2724 
  2733         {
  2734         {
  2734         aSbStartOffset = sbStartOffSet;
  2735         aSbStartOffset = sbStartOffSet;
  2735         aRegistrationStatus = aIsiMessage.Get8bit( sbStartOffSet +
  2736         aRegistrationStatus = aIsiMessage.Get8bit( sbStartOffSet +
  2736              NET_MODEM_REG_INFO_COMMON_OFFSET_REGISTRATIONSTATUS );
  2737              NET_MODEM_REG_INFO_COMMON_OFFSET_REGISTRATIONSTATUS );
  2737         TFLOGSTRING2("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus;registrationStatus=%d", aRegistrationStatus);
  2738         TFLOGSTRING2("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus;registrationStatus=%d", aRegistrationStatus);
  2738         OstTraceExt1( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS, "CMmNetMessHandler::ExtractNetworkRegistrationStatus;registrationStatus=%hhu", aRegistrationStatus );
  2739         OstTraceExt1( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS_TD, "CMmNetMessHandler::ExtractNetworkRegistrationStatus;registrationStatus=%hhu", aRegistrationStatus );
  2739         // patch registration status if this is SIM-card
  2740         // patch registration status if this is SIM-card
  2740         if ( 0 < iHplmn.Length() )
  2741         if ( 0 < iHplmn.Length() )
  2741             {
  2742             {
  2742             if ( NET_REG_STATUS_ROAM == aRegistrationStatus &&
  2743             if ( NET_REG_STATUS_ROAM == aRegistrationStatus &&
  2743                  aOperatorCode == KO2NetworkId &&
  2744                  aOperatorCode == KO2NetworkId &&
  2744                  iHplmn == KO2Hplmn
  2745                  iHplmn == KO2Hplmn
  2745                  )
  2746                  )
  2746                 {
  2747                 {
  2747                 TFLOGSTRING("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus; NET_REG_STATUS_ROAM --> NET_REG_STATUS_HOME");
  2748                 TFLOGSTRING("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus; NET_REG_STATUS_ROAM --> NET_REG_STATUS_HOME");
  2748                 OstTrace0( TRACE_NORMAL, DUP4_CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS, "CMmNetMessHandler::ExtractNetworkRegistrationStatus; NET_REG_STATUS_ROAM --> NET_REG_STATUS_HOME" );
  2749                 OstTrace0( TRACE_NORMAL,  DUP4_CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS_TD, "CMmNetMessHandler::ExtractNetworkRegistrationStatus; NET_REG_STATUS_ROAM --> NET_REG_STATUS_HOME" );
  2749                 aRegistrationStatus = NET_REG_STATUS_HOME;
  2750                 aRegistrationStatus = NET_REG_STATUS_HOME;
  2750                 }
  2751                 }
  2751             }
  2752             }
  2752         else
  2753         else
  2753             {
  2754             {
  2754             TFLOGSTRING("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus; cant patch, HPLMN is empty");
  2755             TFLOGSTRING("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus; cant patch, HPLMN is empty");
  2755             OstTrace0( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS, "CMmNetMessHandler::ExtractNetworkRegistrationStatus - cant patch, HPLMN is empty" );
  2756             OstTrace0( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS_TD, "CMmNetMessHandler::ExtractNetworkRegistrationStatus - cant patch, HPLMN is empty" );
  2756             }
  2757             }
  2757         }
  2758         }
  2758     else
  2759     else
  2759         {
  2760         {
  2760         TFLOGSTRING("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus; NET_MODEM_REG_INFO_COMMON not found");
  2761         TFLOGSTRING("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus; NET_MODEM_REG_INFO_COMMON not found");
  2761         OstTrace0( TRACE_NORMAL, DUP5_CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS, "CMmNetMessHandler::ExtractNetworkRegistrationStatus; NET_MODEM_REG_INFO_COMMON not found" );
  2762         OstTrace0( TRACE_NORMAL,  DUP5_CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS_TD, "CMmNetMessHandler::ExtractNetworkRegistrationStatus; NET_MODEM_REG_INFO_COMMON not found" );
  2762         }
  2763         }
  2763     return ret;
  2764     return ret;
  2764     }
  2765     }
  2765 
  2766 
  2766 // -----------------------------------------------------------------------------
  2767 // -----------------------------------------------------------------------------
  2774         const RMobilePhone::TMobilePhoneLocationAreaV1& aLocationAreaData, // LAC info
  2775         const RMobilePhone::TMobilePhoneLocationAreaV1& aLocationAreaData, // LAC info
  2775         const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfoData // Network info
  2776         const RMobilePhone::TMobilePhoneNetworkInfoV5& aNetworkInfoData // Network info
  2776         )
  2777         )
  2777     {
  2778     {
  2778 TFLOGSTRING("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange");
  2779 TFLOGSTRING("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange");
  2779 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange" );
  2780 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE_TD, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange" );
  2780 
  2781 
  2781     // Assistant for packaging.
  2782     // Assistant for packaging.
  2782     CMmDataPackage dataPackage;
  2783     CMmDataPackage dataPackage;
  2783 
  2784 
  2784     // Take possible Cell_DCH or packet transfer state into account
  2785     // Take possible Cell_DCH or packet transfer state into account
  2798         location.iCellId = iLastLocInfo.iCellId;
  2799         location.iCellId = iLastLocInfo.iCellId;
  2799 
  2800 
  2800 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iAreaKnown = %d", location.iAreaKnown);
  2801 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iAreaKnown = %d", location.iAreaKnown);
  2801 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iLocationAreaCode = %d", location.iLocationAreaCode);
  2802 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iLocationAreaCode = %d", location.iLocationAreaCode);
  2802 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iCellId = %d", location.iCellId);
  2803 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iCellId = %d", location.iCellId);
  2803 OstTraceExt1( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iAreaKnown=%hhu", location.iAreaKnown );
  2804 OstTraceExt1( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE_TD, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iAreaKnown=%hhu", location.iAreaKnown );
  2804 OstTrace1( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iLocationAreaCode=%u", location.iLocationAreaCode );
  2805 OstTrace1( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE_TD, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iLocationAreaCode=%u", location.iLocationAreaCode );
  2805 OstTrace1( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iCellId=%u", location.iCellId );
  2806 OstTrace1( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE_TD, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - location.iCellId=%u", location.iCellId );
  2806 
  2807 
  2807         dataPackage.PackData( &iLastNWInfo, &location );
  2808         dataPackage.PackData( &iLastNWInfo, &location );
  2808         }
  2809         }
  2809     else
  2810     else
  2810         {
  2811         {
  2811 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iAreaKnown = %d", iLastLocInfo.iAreaKnown);
  2812 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iAreaKnown = %d", iLastLocInfo.iAreaKnown);
  2812 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iLocationAreaCode = %d", iLastLocInfo.iLocationAreaCode);
  2813 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iLocationAreaCode = %d", iLastLocInfo.iLocationAreaCode);
  2813 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iCellId = %d", iLastLocInfo.iCellId);
  2814 TFLOGSTRING2("TSY: CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iCellId = %d", iLastLocInfo.iCellId);
  2814 OstTraceExt1( TRACE_NORMAL, DUP4_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iAreaKnown=%hhu", iLastLocInfo.iAreaKnown );
  2815 OstTraceExt1( TRACE_NORMAL,  DUP4_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE_TD, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iAreaKnown=%hhu", iLastLocInfo.iAreaKnown );
  2815 OstTrace1( TRACE_NORMAL, DUP5_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iLocationAreaCode=%u", iLastLocInfo.iLocationAreaCode );
  2816 OstTrace1( TRACE_NORMAL,  DUP5_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE_TD, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iLocationAreaCode=%u", iLastLocInfo.iLocationAreaCode );
  2816 OstTrace1( TRACE_NORMAL, DUP7_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iCellId=%u", iLastLocInfo.iCellId );
  2817 OstTrace1( TRACE_NORMAL,  DUP7_CMMNETMESSHANDLER_COMPLETEMOBILEPHONENOTIFYCURRENTNETWORKCHANGE_TD, "CMmNetMessHandler::CompleteMobilePhoneNotifyCurrentNetworkChange - iLastLocInfo.iCellId=%u", iLastLocInfo.iCellId );
  2817 
  2818 
  2818         // Pack the data for sending to the manager.
  2819         // Pack the data for sending to the manager.
  2819         dataPackage.PackData( &iLastNWInfo, &iLastLocInfo );
  2820         dataPackage.PackData( &iLastNWInfo, &iLastLocInfo );
  2820         }
  2821         }
  2821 
  2822 
  2843         (
  2844         (
  2844         const TIsiReceiveC& aIsiMessage
  2845         const TIsiReceiveC& aIsiMessage
  2845         )
  2846         )
  2846     {
  2847     {
  2847 TFLOGSTRING("TSY: CMmNetMessHandler::QueueNetModemRegStatusMessagesL");
  2848 TFLOGSTRING("TSY: CMmNetMessHandler::QueueNetModemRegStatusMessagesL");
  2848 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_QUEUENETMODEMREGSTATUSMESSAGESL, "CMmNetMessHandler::QueueNetModemRegStatusMessagesL" );
  2849 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_QUEUENETMODEMREGSTATUSMESSAGESL_TD, "CMmNetMessHandler::QueueNetModemRegStatusMessagesL" );
  2849 
  2850 
  2850     // Make a copy of received message. Allocate heap memory.
  2851     // Make a copy of received message. Allocate heap memory.
  2851     // Can leave if out of mem.
  2852     // Can leave if out of mem.
  2852     HBufC8* tempHBuf = HBufC8::NewL( aIsiMessage.GetBuffer().Length() );
  2853     HBufC8* tempHBuf = HBufC8::NewL( aIsiMessage.GetBuffer().Length() );
  2853     // Copy data.
  2854     // Copy data.
  2877 // -----------------------------------------------------------------------------
  2878 // -----------------------------------------------------------------------------
  2878 //
  2879 //
  2879 void CMmNetMessHandler::StartHandlingNetModemRegStatusMessages()
  2880 void CMmNetMessHandler::StartHandlingNetModemRegStatusMessages()
  2880     {
  2881     {
  2881 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages");
  2882 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages");
  2882 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages" );
  2883 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES_TD, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages" );
  2883 
  2884 
  2884     // Continue handling if there is messages in queue
  2885     // Continue handling if there is messages in queue
  2885     // and handling not already ongoing.
  2886     // and handling not already ongoing.
  2886     if ( !iNetMessageHandlingOngoing
  2887     if ( !iNetMessageHandlingOngoing
  2887         && 0 < iNetMessageQueue.Count() )
  2888         && 0 < iNetMessageQueue.Count() )
  2888         {
  2889         {
  2889 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - Start handling next queued message");
  2890 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - Start handling next queued message");
  2890 OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - Start handling next queued message" );
  2891 OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES_TD, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - Start handling next queued message" );
  2891 
  2892 
  2892         // Set flag ON as message handling start.
  2893         // Set flag ON as message handling start.
  2893         iNetMessageHandlingOngoing = ETrue;
  2894         iNetMessageHandlingOngoing = ETrue;
  2894 
  2895 
  2895         // Copy message from array.
  2896         // Copy message from array.
  2911 
  2912 
  2912         // Check message id.
  2913         // Check message id.
  2913         if ( NET_MODEM_REG_STATUS_IND == messageId )
  2914         if ( NET_MODEM_REG_STATUS_IND == messageId )
  2914             {
  2915             {
  2915 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_IND");
  2916 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_IND");
  2916 OstTrace0( TRACE_NORMAL, DUP2_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_IND" );
  2917 OstTrace0( TRACE_NORMAL,  DUP2_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES_TD, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_IND" );
  2917 
  2918 
  2918             // destroy previous ind and store current NET_MODEM_REG_STATUS_IND 
  2919             // destroy previous ind and store current NET_MODEM_REG_STATUS_IND
  2919             // for later use
  2920             // for later use
  2920             delete iLastNetModemRegStatusInd;
  2921             delete iLastNetModemRegStatusInd;
  2921             iLastNetModemRegStatusInd = tempHBuf;
  2922             iLastNetModemRegStatusInd = tempHBuf;
  2922 
  2923 
  2923             // Start handling NET_MODEM_REG_STATUS_IND message.
  2924             // Start handling NET_MODEM_REG_STATUS_IND message.
  2924             NetModemRegStatusInd( isimessage );
  2925             NetModemRegStatusInd( isimessage );
  2925             }
  2926             }
  2926         else if ( NET_MODEM_REG_STATUS_GET_RESP == messageId )
  2927         else if ( NET_MODEM_REG_STATUS_GET_RESP == messageId )
  2927             {
  2928             {
  2928 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_GET_RESP");
  2929 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_GET_RESP");
  2929 OstTrace0( TRACE_NORMAL, DUP3_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_GET_RESP" );
  2930 OstTrace0( TRACE_NORMAL,  DUP3_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES_TD, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_GET_RESP" );
  2930 
  2931 
  2931             // Get the success code.
  2932             // Get the success code.
  2932             TUint8 successCode( isimessage.Get8bit(
  2933             TUint8 successCode( isimessage.Get8bit(
  2933                 ISI_HEADER_SIZE +
  2934                 ISI_HEADER_SIZE +
  2934                 NET_MODEM_REG_STATUS_GET_RESP_OFFSET_SUCCESSCODE ) );
  2935                 NET_MODEM_REG_STATUS_GET_RESP_OFFSET_SUCCESSCODE ) );
  2947                     PN_MODEM_NETWORK,
  2948                     PN_MODEM_NETWORK,
  2948                     KTsyNetCauseCommon,
  2949                     KTsyNetCauseCommon,
  2949                     successCode ) );
  2950                     successCode ) );
  2950 
  2951 
  2951 TFLOGSTRING2("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_GET_RESP - Error value: %d", error);
  2952 TFLOGSTRING2("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_GET_RESP - Error value: %d", error);
  2952 OstTrace1( TRACE_NORMAL, DUP4_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_GET_RESP - Error value=%d", error );
  2953 OstTrace1( TRACE_NORMAL,  DUP4_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES_TD, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_MODEM_REG_STATUS_GET_RESP - Error value=%d", error );
  2953 
  2954 
  2954                 // Initialize default return values to ECustomGetOperatorNameIPC
  2955                 // Initialize default return values to ECustomGetOperatorNameIPC
  2955                 // complete.
  2956                 // complete.
  2956                 RMmCustomAPI::TOperatorNameInfo operNameInfo;
  2957                 RMmCustomAPI::TOperatorNameInfo operNameInfo;
  2957                 operNameInfo.iType = RMmCustomAPI::EOperatorNameFlexiblePlmn;
  2958                 operNameInfo.iType = RMmCustomAPI::EOperatorNameFlexiblePlmn;
  2978                 }
  2979                 }
  2979             }
  2980             }
  2980         else if ( NET_SET_RESP == messageId )
  2981         else if ( NET_SET_RESP == messageId )
  2981             {
  2982             {
  2982 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_SET_RESP");
  2983 TFLOGSTRING("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_SET_RESP");
  2983 OstTrace0( TRACE_NORMAL, DUP5_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_SET_RESP" );
  2984 OstTrace0( TRACE_NORMAL,  DUP5_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES_TD, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_SET_RESP" );
  2984 
  2985 
  2985             // Check if the NW selection was done ok.
  2986             // Check if the NW selection was done ok.
  2986             TUint8 successCode( isimessage.Get8bit(
  2987             TUint8 successCode( isimessage.Get8bit(
  2987                 ISI_HEADER_SIZE + NET_SET_RESP_OFFSET_SUCCESSCODE ) );
  2988                 ISI_HEADER_SIZE + NET_SET_RESP_OFFSET_SUCCESSCODE ) );
  2988 
  2989 
  3015                     }
  3016                     }
  3016                 }
  3017                 }
  3017             else
  3018             else
  3018                 {
  3019                 {
  3019 TFLOGSTRING2("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_SET_RESP - Error cause value: %d", successCode);
  3020 TFLOGSTRING2("TSY: CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_SET_RESP - Error cause value: %d", successCode);
  3020 OstTraceExt1( TRACE_NORMAL, DUP6_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_SET_RESP - Error cause value=%hhu", successCode );
  3021 OstTraceExt1( TRACE_NORMAL,  DUP6_CMMNETMESSHANDLER_STARTHANDLINGNETMODEMREGSTATUSMESSAGES_TD, "CMmNetMessHandler::StartHandlingNetModemRegStatusMessages - NET_SET_RESP - Error cause value=%hhu", successCode );
  3021 
  3022 
  3022                 // SuccessCode is not ok, check also for GSM specific error code.
  3023                 // SuccessCode is not ok, check also for GSM specific error code.
  3023 
  3024 
  3024                 TUint sbStartOffSet( 0 );
  3025                 TUint sbStartOffSet( 0 );
  3025 
  3026 
  3083 // -----------------------------------------------------------------------------
  3084 // -----------------------------------------------------------------------------
  3084 //
  3085 //
  3085 void CMmNetMessHandler::ContinueHandlingNetModemRegStatusMessages()
  3086 void CMmNetMessHandler::ContinueHandlingNetModemRegStatusMessages()
  3086     {
  3087     {
  3087 TFLOGSTRING("TSY: CMmNetMessHandler::ContinueHandlingNetModemRegStatusMessages - Continue handling queued messages");
  3088 TFLOGSTRING("TSY: CMmNetMessHandler::ContinueHandlingNetModemRegStatusMessages - Continue handling queued messages");
  3088 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_CONTINUEHANDLINGNETMODEMREGSTATUSMESSAGES, "CMmNetMessHandler::ContinueHandlingNetModemRegStatusMessages - Continue handling queued messages" );
  3089 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_CONTINUEHANDLINGNETMODEMREGSTATUSMESSAGES_TD, "CMmNetMessHandler::ContinueHandlingNetModemRegStatusMessages - Continue handling queued messages" );
  3089 
  3090 
  3090     // Message handling done.
  3091     // Message handling done.
  3091     // Reset flag to OFF as message handling is finished.
  3092     // Reset flag to OFF as message handling is finished.
  3092     iNetMessageHandlingOngoing = EFalse;
  3093     iNetMessageHandlingOngoing = EFalse;
  3093 
  3094 
  3102 // -----------------------------------------------------------------------------
  3103 // -----------------------------------------------------------------------------
  3103 //
  3104 //
  3104 void CMmNetMessHandler::InitializeOnsAndOplReading()
  3105 void CMmNetMessHandler::InitializeOnsAndOplReading()
  3105     {
  3106     {
  3106 TFLOGSTRING("TSY: CMmNetMessHandler::InitializeOnsAndOplReading");
  3107 TFLOGSTRING("TSY: CMmNetMessHandler::InitializeOnsAndOplReading");
  3107 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_INITIALIZEONSANDOPLREADING, "CMmNetMessHandler::InitializeOnsAndOplReading" );
  3108 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_INITIALIZEONSANDOPLREADING_TD, "CMmNetMessHandler::InitializeOnsAndOplReading" );
  3108 
  3109 
  3109     // Set iNetMessageHandlingOngoing flag to ETrue.
  3110     // Set iNetMessageHandlingOngoing flag to ETrue.
  3110     iNetMessageHandlingOngoing = ETrue;
  3111     iNetMessageHandlingOngoing = ETrue;
  3111 
  3112 
  3112     // Start Operator Name String (ONS Name) reading.
  3113     // Start Operator Name String (ONS Name) reading.
  3122 // ---------------------------------------------------------------------------
  3123 // ---------------------------------------------------------------------------
  3123 //
  3124 //
  3124 CMmMessageRouter* CMmNetMessHandler::GetMessageRouter()
  3125 CMmMessageRouter* CMmNetMessHandler::GetMessageRouter()
  3125     {
  3126     {
  3126 TFLOGSTRING("TSY: CMmNetMessHandler::GetMessageRouter");
  3127 TFLOGSTRING("TSY: CMmNetMessHandler::GetMessageRouter");
  3127 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_GETMESSAGEROUTER, "CMmNetMessHandler::GetMessageRouter" );
  3128 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_GETMESSAGEROUTER_TD, "CMmNetMessHandler::GetMessageRouter" );
  3128     return iMessageRouter;
  3129     return iMessageRouter;
  3129     }
  3130     }
  3130 
  3131 
  3131 // ---------------------------------------------------------------------------
  3132 // ---------------------------------------------------------------------------
  3132 // CMmNetMessHandler::GetPhoNetSender
  3133 // CMmNetMessHandler::GetPhoNetSender
  3134 // ---------------------------------------------------------------------------
  3135 // ---------------------------------------------------------------------------
  3135 //
  3136 //
  3136 CMmPhoNetSender* CMmNetMessHandler::GetPhoNetSender()
  3137 CMmPhoNetSender* CMmNetMessHandler::GetPhoNetSender()
  3137     {
  3138     {
  3138 TFLOGSTRING("TSY: CMmNetMessHandler::GetPhoNetSender");
  3139 TFLOGSTRING("TSY: CMmNetMessHandler::GetPhoNetSender");
  3139 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_GETPHONETSENDER, "CMmNetMessHandler::GetPhoNetSender" );
  3140 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_GETPHONETSENDER_TD, "CMmNetMessHandler::GetPhoNetSender" );
  3140     return iPhoNetSender;
  3141     return iPhoNetSender;
  3141     }
  3142     }
  3142 
  3143 
  3143 // -----------------------------------------------------------------------------
  3144 // -----------------------------------------------------------------------------
  3144 // CMmNetMessHandler::ExtractNetworkRegistrationStatus
  3145 // CMmNetMessHandler::ExtractNetworkRegistrationStatus
  3149 TInt CMmNetMessHandler::ExtractNetworkRegistrationStatus(
  3150 TInt CMmNetMessHandler::ExtractNetworkRegistrationStatus(
  3150     const TIsiReceiveC& aIsiMessage,
  3151     const TIsiReceiveC& aIsiMessage,
  3151     TUint8& aRegistrationStatus
  3152     TUint8& aRegistrationStatus
  3152     ) const
  3153     ) const
  3153     {
  3154     {
  3154     OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS, "CMmNetMessHandler::ExtractNetworkRegistrationStatus" );
  3155     OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_EXTRACTNETWORKREGISTRATIONSTATUS_TD, "CMmNetMessHandler::ExtractNetworkRegistrationStatus" );
  3155     TFLOGSTRING("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus");
  3156     TFLOGSTRING("TSY: CMmNetMessHandler::ExtractNetworkRegistrationStatus");
  3156 
  3157 
  3157     TUint sbStartOffSet( 0 );
  3158     TUint sbStartOffSet( 0 );
  3158     // find offset to subblock from which operator code can be read
  3159     // find offset to subblock from which operator code can be read
  3159     TInt returnValue( FindOperatorInfoSubBlock(
  3160     TInt returnValue( FindOperatorInfoSubBlock(
  3188 // ---------------------------------------------------------------------------
  3189 // ---------------------------------------------------------------------------
  3189 //
  3190 //
  3190 CMmNetOperatorNameHandler* CMmNetMessHandler::GetNetOperatorNameHandler()
  3191 CMmNetOperatorNameHandler* CMmNetMessHandler::GetNetOperatorNameHandler()
  3191     {
  3192     {
  3192 TFLOGSTRING("TSY: CMmNetMessHandler::GetNetOperatorNameHandler");
  3193 TFLOGSTRING("TSY: CMmNetMessHandler::GetNetOperatorNameHandler");
  3193 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_GETNETOPERATORNAMEHANDLER, "CMmNetMessHandler::GetNetOperatorNameHandler" );
  3194 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_GETNETOPERATORNAMEHANDLER_TD, "CMmNetMessHandler::GetNetOperatorNameHandler" );
  3194     return iNetOperatorNameHandler;
  3195     return iNetOperatorNameHandler;
  3195     }
  3196     }
  3196 
  3197 
  3197 // ---------------------------------------------------------------------------
  3198 // ---------------------------------------------------------------------------
  3198 // CMmNetMessHandler::HandleLastNetModemRegStatusInd
  3199 // CMmNetMessHandler::HandleLastNetModemRegStatusInd
  3201 // ---------------------------------------------------------------------------
  3202 // ---------------------------------------------------------------------------
  3202 //
  3203 //
  3203 void CMmNetMessHandler::HandleLastNetModemRegStatusInd()
  3204 void CMmNetMessHandler::HandleLastNetModemRegStatusInd()
  3204     {
  3205     {
  3205 TFLOGSTRING("TSY: CMmNetMessHandler::HandleLastNetModemRegStatusInd");
  3206 TFLOGSTRING("TSY: CMmNetMessHandler::HandleLastNetModemRegStatusInd");
  3206 OstTrace0( TRACE_NORMAL, CMMNETMESSHANDLER_HANDLELASTNETMODEMREGSTATUSIND, "CMmNetMessHandler::HandleLastNetModemRegStatusInd" );
  3207 OstTrace0( TRACE_NORMAL,  CMMNETMESSHANDLER_HANDLELASTNETMODEMREGSTATUSIND_TD, "CMmNetMessHandler::HandleLastNetModemRegStatusInd" );
  3207 
  3208 
  3208     TBool handlingNeeded( ETrue );
  3209     TBool handlingNeeded( ETrue );
  3209     if( iNetMessageQueue.Count() )
  3210     if( iNetMessageQueue.Count() )
  3210         {
  3211         {
  3211         // we need to check is there any NET_MODEM_REG_STATUS_IND or
  3212         // we need to check is there any NET_MODEM_REG_STATUS_IND or
  3220 
  3221 
  3221             if( NET_MODEM_REG_STATUS_IND == messageId ||
  3222             if( NET_MODEM_REG_STATUS_IND == messageId ||
  3222                 NET_MODEM_REG_STATUS_GET_RESP == messageId )
  3223                 NET_MODEM_REG_STATUS_GET_RESP == messageId )
  3223                 {
  3224                 {
  3224 TFLOGSTRING("TSY: CMmNetMessHandler::HandleLastNetModemRegStatusInd: Similar messages already in queue, no need to handle last received ind");
  3225 TFLOGSTRING("TSY: CMmNetMessHandler::HandleLastNetModemRegStatusInd: Similar messages already in queue, no need to handle last received ind");
  3225 OstTrace0( TRACE_NORMAL, DUP1_CMMNETMESSHANDLER_HANDLELASTNETMODEMREGSTATUSIND, "CMmNetMessHandler::HandleLastNetModemRegStatusInd:: Similar messages already in queue, no need to handle last received ind" );
  3226 OstTrace0( TRACE_NORMAL,  DUP1_CMMNETMESSHANDLER_HANDLELASTNETMODEMREGSTATUSIND_TD, "CMmNetMessHandler::HandleLastNetModemRegStatusInd:: Similar messages already in queue, no need to handle last received ind" );
  3226                 handlingNeeded = EFalse;
  3227                 handlingNeeded = EFalse;
  3227                 break;
  3228                 break;
  3228                 }
  3229                 }
  3229             }
  3230             }
  3230         }
  3231         }
  3251 //
  3252 //
  3252 CDelayTimer* CDelayTimer::NewL(
  3253 CDelayTimer* CDelayTimer::NewL(
  3253     CMmNetMessHandler* aNetMessHandler )
  3254     CMmNetMessHandler* aNetMessHandler )
  3254     {
  3255     {
  3255 TFLOGSTRING("TSY: CDelayTimer::NewL");
  3256 TFLOGSTRING("TSY: CDelayTimer::NewL");
  3256 OstTrace0( TRACE_NORMAL, CDELAYTIMER_NEWL, "CDelayTimer::NewL" );
  3257 OstTrace0( TRACE_NORMAL,  CDELAYTIMER_NEWL_TD, "CDelayTimer::NewL" );
  3257 
  3258 
  3258     CDelayTimer* self = new( ELeave ) CDelayTimer();
  3259     CDelayTimer* self = new( ELeave ) CDelayTimer();
  3259 
  3260 
  3260     CleanupStack::PushL( self );
  3261     CleanupStack::PushL( self );
  3261 
  3262 
  3273 // -----------------------------------------------------------------------------
  3274 // -----------------------------------------------------------------------------
  3274 //
  3275 //
  3275 CDelayTimer::CDelayTimer() : CTimer( CActive::EPriorityStandard )
  3276 CDelayTimer::CDelayTimer() : CTimer( CActive::EPriorityStandard )
  3276     {
  3277     {
  3277 TFLOGSTRING("TSY: CDelayTimer::CDelayTimer");
  3278 TFLOGSTRING("TSY: CDelayTimer::CDelayTimer");
  3278 OstTrace0( TRACE_NORMAL, CDELAYTIMER_CDELAYTIMER, "CDelayTimer::CDelayTimer" );
  3279 OstTrace0( TRACE_NORMAL,  CDELAYTIMER_CDELAYTIMER_TD, "CDelayTimer::CDelayTimer" );
  3279     }
  3280     }
  3280 
  3281 
  3281 // -----------------------------------------------------------------------------
  3282 // -----------------------------------------------------------------------------
  3282 // CDelayTimer::ConstructL()
  3283 // CDelayTimer::ConstructL()
  3283 // Symbian 2nd phase constructor can leave.
  3284 // Symbian 2nd phase constructor can leave.
  3284 // -----------------------------------------------------------------------------
  3285 // -----------------------------------------------------------------------------
  3285 //
  3286 //
  3286 void CDelayTimer::ConstructL()
  3287 void CDelayTimer::ConstructL()
  3287     {
  3288     {
  3288 TFLOGSTRING("TSY: CDelayTimer::ConstructL");
  3289 TFLOGSTRING("TSY: CDelayTimer::ConstructL");
  3289 OstTrace0( TRACE_NORMAL, CDELAYTIMER_CONSTRUCTL, "CDelayTimer::ConstructL" );
  3290 OstTrace0( TRACE_NORMAL,  CDELAYTIMER_CONSTRUCTL_TD, "CDelayTimer::ConstructL" );
  3290 
  3291 
  3291     iNewPacketTransferState = ETrue;
  3292     iNewPacketTransferState = ETrue;
  3292 
  3293 
  3293     CTimer::ConstructL();
  3294     CTimer::ConstructL();
  3294     CActiveScheduler::Add( this );
  3295     CActiveScheduler::Add( this );
  3300 // -----------------------------------------------------------------------------
  3301 // -----------------------------------------------------------------------------
  3301 //
  3302 //
  3302 CDelayTimer::~CDelayTimer()
  3303 CDelayTimer::~CDelayTimer()
  3303     {
  3304     {
  3304 TFLOGSTRING("TSY: CDelayTimer::~CDelayTimer");
  3305 TFLOGSTRING("TSY: CDelayTimer::~CDelayTimer");
  3305 OstTrace0( TRACE_NORMAL, DUP1_CDELAYTIMER_CDELAYTIMER, "CDelayTimer::~CDelayTimer" );
  3306 OstTrace0( TRACE_NORMAL,  DUP1_CDELAYTIMER_CDELAYTIMER_TD, "CDelayTimer::~CDelayTimer" );
  3306     Cancel();
  3307     Cancel();
  3307     }
  3308     }
  3308 
  3309 
  3309 // -----------------------------------------------------------------------------
  3310 // -----------------------------------------------------------------------------
  3310 // CDelayTimer::StartDelayTimer()
  3311 // CDelayTimer::StartDelayTimer()
  3315     TBool aNewPacketTransferState, TInt aTimeOut )
  3316     TBool aNewPacketTransferState, TInt aTimeOut )
  3316     {
  3317     {
  3317     if ( iNewPacketTransferState != aNewPacketTransferState )
  3318     if ( iNewPacketTransferState != aNewPacketTransferState )
  3318         {
  3319         {
  3319 TFLOGSTRING("TSY: CDelayTimer::StartDelayTimer, Restart.");
  3320 TFLOGSTRING("TSY: CDelayTimer::StartDelayTimer, Restart.");
  3320 OstTrace0( TRACE_NORMAL, CDELAYTIMER_STARTDELAYTIMER, "CDelayTimer::StartDelayTimer,Restart" );
  3321 OstTrace0( TRACE_NORMAL,  CDELAYTIMER_STARTDELAYTIMER_TD, "CDelayTimer::StartDelayTimer,Restart" );
  3321         Cancel();
  3322         Cancel();
  3322         iNewPacketTransferState = aNewPacketTransferState;
  3323         iNewPacketTransferState = aNewPacketTransferState;
  3323         After( aTimeOut );
  3324         After( aTimeOut );
  3324         }
  3325         }
  3325     // No else
  3326     // No else
  3331 // -----------------------------------------------------------------------------
  3332 // -----------------------------------------------------------------------------
  3332 //
  3333 //
  3333 void CDelayTimer::RunL()
  3334 void CDelayTimer::RunL()
  3334     {
  3335     {
  3335 TFLOGSTRING2("TSY: CDelayTimer::RunL, status = %d.", iStatus.Int());
  3336 TFLOGSTRING2("TSY: CDelayTimer::RunL, status = %d.", iStatus.Int());
  3336 OstTrace1( TRACE_NORMAL, CDELAYTIMER_RUNL, "CDelayTimer::RunL;iStatus.Int=%d", iStatus.Int() );
  3337 OstTrace1( TRACE_NORMAL,  CDELAYTIMER_RUNL_TD, "CDelayTimer::RunL;iStatus.Int=%d", iStatus.Int() );
  3337 
  3338 
  3338     // Timer request has completed, so notify the timer's owner
  3339     // Timer request has completed, so notify the timer's owner
  3339     if ( iStatus == KErrNone )
  3340     if ( iStatus == KErrNone )
  3340         {
  3341         {
  3341         iNetMessHandler->CompleteGpdsRadioActivityInd(
  3342         iNetMessHandler->CompleteGpdsRadioActivityInd(
  3352 // -----------------------------------------------------------------------------
  3353 // -----------------------------------------------------------------------------
  3353 //
  3354 //
  3354 void CDelayTimer::DoCancel()
  3355 void CDelayTimer::DoCancel()
  3355     {
  3356     {
  3356 TFLOGSTRING("TSY: CDelayTimer::DoCancel");
  3357 TFLOGSTRING("TSY: CDelayTimer::DoCancel");
  3357 OstTrace0( TRACE_NORMAL, CDELAYTIMER_DOCANCEL, "CDelayTimer::DoCancel" );
  3358 OstTrace0( TRACE_NORMAL,  CDELAYTIMER_DOCANCEL_TD, "CDelayTimer::DoCancel" );
  3358 
  3359 
  3359     CTimer::DoCancel();
  3360     CTimer::DoCancel();
  3360 
  3361 
  3361     iNewPacketTransferState = ETrue;
  3362     iNewPacketTransferState = ETrue;
  3362     }
  3363     }