telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmnettsy.cpp
branchRCL_3
changeset 19 630d2f34d719
parent 18 17af172ffa5f
child 20 07a122eea281
equal deleted inserted replaced
18:17af172ffa5f 19:630d2f34d719
    14 //
    14 //
    15 
    15 
    16 
    16 
    17 
    17 
    18 //INCLUDE FILES
    18 //INCLUDE FILES
       
    19 
       
    20 #include "OstTraceDefinitions.h"
       
    21 #ifdef OST_TRACE_COMPILER_IN_USE
       
    22 #include "cmmnettsyTraces.h"
       
    23 #endif
       
    24 
    19 #include "cmmnettsy.h"
    25 #include "cmmnettsy.h"
    20 #include "cmmphonetsy.h"
    26 #include "cmmphonetsy.h"
    21 #include "cmmtsyreqhandlestore.h"
    27 #include "cmmtsyreqhandlestore.h"
    22 #include <ctsy/pluginapi/cmmdatapackage.h>
    28 #include <ctsy/pluginapi/cmmdatapackage.h>
    23 #include "cmmmessagemanagerbase.h"
    29 #include "cmmmessagemanagerbase.h"
    24 #include "cmmphoneextinterface.h"
    30 #include "cmmphoneextinterface.h"
    25 #include "cmmcalllist.h"
    31 #include "cmmcalllist.h"
    26 #include "cmmcalltsy.h"
    32 #include "cmmcalltsy.h"
    27 #include "CMmCommonStaticUtility.h"
    33 #include "CMmCommonStaticUtility.h"
    28 #include "mmtsy_ipcdefs.h"
       
    29 #include <ctsy/serviceapi/gsmerror.h>
    34 #include <ctsy/serviceapi/gsmerror.h>
    30 
    35 
    31 // ======== MEMBER FUNCTIONS ========
    36 // ======== MEMBER FUNCTIONS ========
    32 
    37 
    33 CMmNetTsy* CMmNetTsy::NewL(    
    38 CMmNetTsy* CMmNetTsy::NewL(    
    45     {
    50     {
    46     }
    51     }
    47 
    52 
    48 void CMmNetTsy::ConstructL()
    53 void CMmNetTsy::ConstructL()
    49     {
    54     {
    50 TFLOGSTRING("TSY: CMmNetTsy::ConstructL");
    55 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_CONSTRUCTL_1, "TSY: CMmNetTsy::ConstructL");
    51 
    56 
    52     //set current NW mode
    57     //set current NW mode
    53     iMode = RMobilePhone::ENetworkModeUnknown;
    58     iMode = RMobilePhone::ENetworkModeUnknown;
    54 
    59 
    55     //initialise network related attributes
    60     //initialise network related attributes
    81     iCachedCellInfoV9.SetCacheDirty();
    86     iCachedCellInfoV9.SetCacheDirty();
    82     }
    87     }
    83     
    88     
    84 CMmNetTsy::~CMmNetTsy()
    89 CMmNetTsy::~CMmNetTsy()
    85     {
    90     {
    86 TFLOGSTRING("TSY: CMmNetTsy::~CMmNetTsy");
    91 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_DTOR_1, "TSY: CMmNetTsy::~CMmNetTsy");
    87 
    92 
    88     // Delete get detected networks list
    93     // Delete get detected networks list
    89     if ( iGetDetectedNetworks )
    94     if ( iGetDetectedNetworks )
    90         {
    95         {
    91         iGetDetectedNetworks->ResetAndDestroy();
    96         iGetDetectedNetworks->ResetAndDestroy();
   105     iCellInfoRequests.Close();
   110     iCellInfoRequests.Close();
   106     iNotifyCellInfoRequests.Close();
   111     iNotifyCellInfoRequests.Close();
   107     
   112     
   108     // Destroy array        			
   113     // Destroy array        			
   109     iRegisterationStatusRequests.ResetAndDestroy();
   114     iRegisterationStatusRequests.ResetAndDestroy();
   110     
       
   111     // delete buffers for PLMN List 
       
   112 	delete iClientIdGetPrefPLMN;
       
   113 	delete iGetPrefPLMNList;
       
   114 	delete iStorePrefPLMNList;
       
   115 	
       
   116     }
   115     }
   117     
   116     
   118     
   117     
   119 // ---------------------------------------------------------------------------
   118 // ---------------------------------------------------------------------------
   120 // CMmNetTsy::DoExtFunc
   119 // CMmNetTsy::DoExtFunc
   125 TInt CMmNetTsy::DoExtFuncL( 
   124 TInt CMmNetTsy::DoExtFuncL( 
   126     const TTsyReqHandle aTsyReqHandle,  // Request handle
   125     const TTsyReqHandle aTsyReqHandle,  // Request handle
   127     const TInt aIpc, // IPC number of request          
   126     const TInt aIpc, // IPC number of request          
   128     const TDataPackage& aPackage ) // Contains parameters for request
   127     const TDataPackage& aPackage ) // Contains parameters for request
   129     {
   128     {
   130 TFLOGSTRING3("TSY: CMmPhoneTsy::DoExtFuncL.\n  \t\t\t IPC:%d\n \t\t\t Handle:%d", 
   129 OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_DOEXTFUNCL_1, "TSY: CMmPhoneTsy::DoExtFuncL.\n  \t\t\t IPC:%d\n \t\t\t Handle:%d", aIpc, aTsyReqHandle);
   131     aIpc, aTsyReqHandle);
       
   132 
   130 
   133     TInt ret ( KErrNone );
   131     TInt ret ( KErrNone );
   134 
   132 
   135     TAny* dataPtr = aPackage.Ptr1();
   133     TAny* dataPtr = aPackage.Ptr1();
   136     TAny* dataPtr2 = aPackage.Ptr2();
   134     TAny* dataPtr2 = aPackage.Ptr2();
   171             ret = GetCurrentNetwork( aTsyReqHandle, aPackage.Des1n(),
   169             ret = GetCurrentNetwork( aTsyReqHandle, aPackage.Des1n(),
   172                 reinterpret_cast<RMobilePhone::TMobilePhoneLocationAreaV1*>( 
   170                 reinterpret_cast<RMobilePhone::TMobilePhoneLocationAreaV1*>( 
   173                 dataPtr2 ) );
   171                 dataPtr2 ) );
   174             break;
   172             break;
   175         case EMobilePhoneGetNetworkName:
   173         case EMobilePhoneGetNetworkName:
   176 TFLOGSTRING("TSY: CMmNetTsy::DoExtFuncL - EMobilePhoneGetNetworkName");
   174 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_DOEXTFUNCL_2, "TSY: CMmNetTsy::DoExtFuncL - EMobilePhoneGetNetworkName");
   177             ret = GetNetworkName( 
   175             ret = GetNetworkName( 
   178                 aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n() );
   176                 aTsyReqHandle, aPackage.Des1n(), aPackage.Des2n() );
   179             break;
   177             break;
   180         // Get Current Network, no location
   178         // Get Current Network, no location
   181         case EMobilePhoneGetCurrentNetworkNoLocation:
   179         case EMobilePhoneGetCurrentNetworkNoLocation:
   182             ret = GetCurrentNetworkNoLocation( 
   180             ret = GetCurrentNetworkNoLocation( 
   183                 aTsyReqHandle, aPackage.Des1n() );
   181                 aTsyReqHandle, aPackage.Des1n() );
   184             break;
   182             break;
   185         // Get Cell information
   183         // Get Cell information
   186         case EMobilePhoneGetCellInfo:
   184         case EMobilePhoneGetCellInfo:
   187         	TFLOGSTRING("TSY: CMmNetTsy::DoExtFuncL - EMobilePhoneGetCellInfo");
   185         	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_DOEXTFUNCL_3, "TSY: CMmNetTsy::DoExtFuncL - EMobilePhoneGetCellInfo");
   188         	ret = GetCellInfoL(aTsyReqHandle, aPackage.Des1n());
   186         	ret = GetCellInfoL(aTsyReqHandle, aPackage.Des1n());
   189         	break;
   187         	break;
   190         // Notify cell information change
   188         // Notify cell information change
   191         case EMobilePhoneNotifyCellInfoChange:
   189         case EMobilePhoneNotifyCellInfoChange:
   192         	TFLOGSTRING("TSY: CMmNetTsy::DoExtFuncL - EMobilePhoneNotifyCellInfoChange");
   190         	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_DOEXTFUNCL_4, "TSY: CMmNetTsy::DoExtFuncL - EMobilePhoneNotifyCellInfoChange");
   193         	ret = NotifyCellInfoChangeL(aTsyReqHandle, aPackage.Des1n());
   191         	ret = NotifyCellInfoChangeL(aTsyReqHandle, aPackage.Des1n());
   194         	break;
   192         	break;
   195         // Notify Current Network Change, no location
   193         // Notify Current Network Change, no location
   196         case EMobilePhoneNotifyCurrentNetworkNoLocationChange:
   194         case EMobilePhoneNotifyCurrentNetworkNoLocationChange:
   197             ret = NotifyCurrentNetworkNoLocationChangeL( 
   195             ret = NotifyCurrentNetworkNoLocationChangeL( 
   288             break;
   286             break;
   289         // Get Current Active USim Application 
   287         // Get Current Active USim Application 
   290         case EMobilePhoneGetCurrentActiveUSimApplication:
   288         case EMobilePhoneGetCurrentActiveUSimApplication:
   291             ret = GetCurrentActiveUSimApplicationL( aTsyReqHandle,
   289             ret = GetCurrentActiveUSimApplicationL( aTsyReqHandle,
   292                 reinterpret_cast<RMobilePhone::TAID*>( dataPtr ) );
   290                 reinterpret_cast<RMobilePhone::TAID*>( dataPtr ) );
   293             break;
   291             break;                        
   294 		case EMobilePhoneGetPreferredNetworksPhase1:
       
   295 			ret = GetPreferredNetworksListPhase1L(aTsyReqHandle, 
       
   296 				                                  reinterpret_cast< RMobilePhone::TClientId*>( dataPtr ),
       
   297                                                   reinterpret_cast< TInt* >( dataPtr2 ) );
       
   298 			break;
       
   299         case EMobilePhoneGetPreferredNetworksPhase2:
       
   300 			ret = GetPreferredNetworksListPhase2
       
   301 				    (aTsyReqHandle, reinterpret_cast<RMobilePhone::TClientId*>(aPackage.Ptr1()),
       
   302 				     aPackage.Des2n());
       
   303         	break;
       
   304 		case EMobilePhoneStorePreferredNetworksList:
       
   305 			ret = StorePreferredNetworksListL(aTsyReqHandle, aPackage.Des1n());
       
   306 			break;
       
   307 		case EMobilePhoneNotifyStorePreferredNetworksListChange:
       
   308 			ret = NotifyStorePreferredNetworksListChange();
       
   309 			break;
       
   310         default:
   292         default:
   311             ret = KErrNotSupported;
   293             ret = KErrNotSupported;
   312             break;
   294             break;
   313         }
   295         }
   314 
   296 
   324 //
   306 //
   325 TInt CMmNetTsy::CancelService(    
   307 TInt CMmNetTsy::CancelService(    
   326     const TInt aIpc, // IPC number of request.
   308     const TInt aIpc, // IPC number of request.
   327     const TTsyReqHandle aTsyReqHandle ) // Request handle of given request.
   309     const TTsyReqHandle aTsyReqHandle ) // Request handle of given request.
   328     {
   310     {
   329 	TFLOGSTRING3("TSY: CMmNetTsy::CancelService IPC: %d ret: %d", aIpc, aTsyReqHandle);
   311 	OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_CANCELSERVICE_1, "TSY: CMmNetTsy::CancelService IPC: %d ret: %d", aIpc, aTsyReqHandle);
   330     TInt ret ( KErrNotSupported );
   312     TInt ret ( KErrNotSupported );
   331     
   313     
   332     //When the clients close their sub-sessions (eg. by calling RLine::Close), 
   314     //When the clients close their sub-sessions (eg. by calling RLine::Close), 
   333     //they may not have cancelled all their outstanding asynchronous requests 
   315     //they may not have cancelled all their outstanding asynchronous requests 
   334     //before closing.  It is up to the ETel server to clean up in this 
   316     //before closing.  It is up to the ETel server to clean up in this 
   450                 //  up to any other instances of this method down the call stack
   432                 //  up to any other instances of this method down the call stack
   451                 iMmPhoneTsy->iReqHandleType=CMmPhoneTsy::EMultimodePhoneReqHandleUnknown;
   433                 iMmPhoneTsy->iReqHandleType=CMmPhoneTsy::EMultimodePhoneReqHandleUnknown;
   452                 }
   434                 }
   453             break;
   435             break;
   454             }    
   436             }    
   455 		case EMobilePhoneGetPreferredNetworksPhase1:
   437         //Default case
   456 			ret = GetPreferredNetworksListCancel(aTsyReqHandle);
       
   457 			break;
       
   458 		case EMobilePhoneStorePreferredNetworksList:
       
   459 			// LTSY doesn't have transcation mechanism so that storing request cannot be cancelled.
       
   460 			// So this cancellation request is ignored. 
       
   461             ret = KErrNone; 
       
   462 			break;
       
   463 		case EMobilePhoneNotifyStorePreferredNetworksListChange:
       
   464 			ret = NotifyStorePreferredNetworksListChangeCancel(aTsyReqHandle);
       
   465 			break;
       
   466 	        //Default case
       
   467         default:
   438         default:
   468             ret = KErrNone; 
   439             ret = KErrNone; 
   469             break;
   440             break;
   470         }
   441         }
   471 
   442 
  1127 //
  1098 //
  1128 TInt CMmNetTsy::GetHomeNetwork(
  1099 TInt CMmNetTsy::GetHomeNetwork(
  1129     const TTsyReqHandle aTsyReqHandle, 
  1100     const TTsyReqHandle aTsyReqHandle, 
  1130     TDes8* aNetworkInfoPckg ) const 
  1101     TDes8* aNetworkInfoPckg ) const 
  1131     {
  1102     {
  1132 TFLOGSTRING("TSY: CMmNetTsy::GetHomeNetwork" );
  1103 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETHOMENETWORK_1, "TSY: CMmNetTsy::GetHomeNetwork" );
  1133 
  1104 
  1134     TInt ret ( KErrNotSupported );
  1105     TInt ret ( KErrNotSupported );
  1135     
  1106     
  1136     if ( sizeof( RMobilePhone::TMobilePhoneNetworkInfoV1Pckg ) > aNetworkInfoPckg->MaxLength() )
  1107     if ( sizeof( RMobilePhone::TMobilePhoneNetworkInfoV1Pckg ) > aNetworkInfoPckg->MaxLength() )
  1137         {
  1108         {
  1202 TInt CMmNetTsy::GetCurrentNetwork(
  1173 TInt CMmNetTsy::GetCurrentNetwork(
  1203     const TTsyReqHandle aTsyReqHandle,
  1174     const TTsyReqHandle aTsyReqHandle,
  1204     TDes8* aNetworkInfoPckg,
  1175     TDes8* aNetworkInfoPckg,
  1205     RMobilePhone::TMobilePhoneLocationAreaV1* aArea ) const 
  1176     RMobilePhone::TMobilePhoneLocationAreaV1* aArea ) const 
  1206     {
  1177     {
  1207 TFLOGSTRING("TSY: CMmNetTsy::GetCurrentNetwork");
  1178 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETCURRENTNETWORK_1, "TSY: CMmNetTsy::GetCurrentNetwork");
  1208 
  1179 
  1209     TInt ret( KErrArgument );
  1180     TInt ret( KErrArgument );
  1210     if ( ERfsStateInfoInactive == iMmPhoneTsy->GetRfStateInfo() )  
  1181     if ( ERfsStateInfoInactive == iMmPhoneTsy->GetRfStateInfo() )  
  1211         {
  1182         {
  1212 TFLOGSTRING ("TSY: CMmNetTsy::GetCurrentNetwork Offline mode ON, request is not allowed! ");
  1183 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETCURRENTNETWORK_2, "TSY: CMmNetTsy::GetCurrentNetwork Offline mode ON, request is not allowed! ");
  1213         ret = CMmCommonStaticUtility::EpocErrorCode( KErrGeneral,
  1184         ret = CMmCommonStaticUtility::EpocErrorCode( KErrGeneral,
  1214                 KErrGsmOfflineOpNotAllowed );
  1185                 KErrGsmOfflineOpNotAllowed );
  1215                 
  1186                 
  1216         // Complete the request with appropiate error        
  1187         // Complete the request with appropiate error        
  1217         iMmPhoneTsy->ReqCompleted( aTsyReqHandle, ret );	
  1188         iMmPhoneTsy->ReqCompleted( aTsyReqHandle, ret );	
  1290 // (other items were commented in a header).
  1261 // (other items were commented in a header).
  1291 // ---------------------------------------------------------------------------
  1262 // ---------------------------------------------------------------------------
  1292 //
  1263 //
  1293 TInt CMmNetTsy::GetCellInfoL(const TTsyReqHandle aTsyReqHandle, TDes8* aCellInfoPckg)
  1264 TInt CMmNetTsy::GetCellInfoL(const TTsyReqHandle aTsyReqHandle, TDes8* aCellInfoPckg)
  1294     {
  1265     {
  1295     TFLOGSTRING2("TSY: CMmNetTsy::GetCellInfoL; Handle : %d", aTsyReqHandle);
  1266     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETCELLINFOL_1, "TSY: CMmNetTsy::GetCellInfoL; Handle : %d", aTsyReqHandle);
  1296     if(sizeof(RMobilePhone::TMobilePhoneCellInfoV9) > aCellInfoPckg->MaxLength())
  1267     if(sizeof(RMobilePhone::TMobilePhoneCellInfoV9) > aCellInfoPckg->MaxLength())
  1297     	{
  1268     	{
  1298         TFLOGSTRING ("TSY: CMmNetTsy::GetCellInfo Bad size argument");
  1269         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETCELLINFOL_2, "TSY: CMmNetTsy::GetCellInfo Bad size argument");
  1299         // Complete the request with appropiate error        
  1270         // Complete the request with appropiate error        
  1300         return KErrArgument;
  1271         return KErrArgument;
  1301     	}
  1272     	}
  1302     TPckg<RMobilePhone::TMultimodeType>* cellInfoTempPckg = 
  1273     TPckg<RMobilePhone::TMultimodeType>* cellInfoTempPckg = 
  1303     	reinterpret_cast<TPckg<RMobilePhone::TMultimodeType>*> (aCellInfoPckg);       
  1274     	reinterpret_cast<TPckg<RMobilePhone::TMultimodeType>*> (aCellInfoPckg);       
  1304     RMobilePhone::TMultimodeType& cellInfoTemp = ( *cellInfoTempPckg )();
  1275     RMobilePhone::TMultimodeType& cellInfoTemp = ( *cellInfoTempPckg )();
  1305 	if(cellInfoTemp.ExtensionId()!=KEtelExtMultimodeV9)
  1276 	if(cellInfoTemp.ExtensionId()!=KEtelExtMultimodeV9)
  1306 		{
  1277 		{
  1307         TFLOGSTRING ("TSY: CMmNetTsy::GetCellInfo Bad version argument");
  1278         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETCELLINFOL_3, "TSY: CMmNetTsy::GetCellInfo Bad version argument");
  1308         // Complete the request with appropiate error        
  1279         // Complete the request with appropiate error        
  1309         return KErrArgument;
  1280         return KErrArgument;
  1310 		}
  1281 		}
  1311     TInt ret( KErrNotSupported );
  1282     TInt ret( KErrNotSupported );
  1312     if ( ERfsStateInfoInactive == iMmPhoneTsy->GetRfStateInfo() )  
  1283     if ( ERfsStateInfoInactive == iMmPhoneTsy->GetRfStateInfo() )  
  1313         {
  1284         {
  1314         TFLOGSTRING ("TSY: CMmNetTsy::GetCellInfo Offline mode ON, request is not allowed! ");
  1285         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETCELLINFOL_4, "TSY: CMmNetTsy::GetCellInfo Offline mode ON, request is not allowed! ");
  1315         ret = CMmCommonStaticUtility::EpocErrorCode( KErrGeneral, KErrGsmOfflineOpNotAllowed );
  1286         ret = CMmCommonStaticUtility::EpocErrorCode( KErrGeneral, KErrGsmOfflineOpNotAllowed );
  1316                 
  1287                 
  1317         // Complete the request with appropiate error
  1288         // Complete the request with appropiate error
  1318         if(ret == KErrNone)
  1289         if(ret == KErrNone)
  1319         	{
  1290         	{
  1503 	        	(*clientCellInfoPckgPtr)() = cellInfo;
  1474 	        	(*clientCellInfoPckgPtr)() = cellInfo;
  1504         		}
  1475         		}
  1505         	}
  1476         	}
  1506 
  1477 
  1507         //Complete the client request
  1478         //Complete the client request
  1508         TFLOGSTRING3("TSY: CMmNetTsy::CompleteCellInfoReq client: %d; Handle: %d", i, req.iReqHandle );
  1479         OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_HANDLECELLINFOUPDATE_1, "TSY: CMmNetTsy::CompleteCellInfoReq client: %d; Handle: %d", i, req.iReqHandle );
  1509         iMmPhoneTsy->ReqCompleted( req.iReqHandle, aError );
  1480         iMmPhoneTsy->ReqCompleted( req.iReqHandle, aError );
  1510 		}
  1481 		}
  1511     // Destroy array   
  1482     // Destroy array   
  1512 	for ( TInt i=0; i < KRequestCount; i++ ) // Remove only the completed ones. 
  1483 	for ( TInt i=0; i < KRequestCount; i++ ) // Remove only the completed ones. 
  1513 											 // During the ReqCompleted ETEL 
  1484 											 // During the ReqCompleted ETEL 
  1532 TInt CMmNetTsy::GetNetworkName(
  1503 TInt CMmNetTsy::GetNetworkName(
  1533     const TTsyReqHandle aTsyReqHandle,
  1504     const TTsyReqHandle aTsyReqHandle,
  1534     TDes8* aNetworkNamePckg,
  1505     TDes8* aNetworkNamePckg,
  1535     TDes8* aPlmnPckg ) const   
  1506     TDes8* aPlmnPckg ) const   
  1536     {
  1507     {
  1537 TFLOGSTRING("TSY: CMmNetTsy::GetNetworkName");
  1508 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKNAME_1, "TSY: CMmNetTsy::GetNetworkName");
  1538     TInt ret ( KErrGeneral );
  1509     TInt ret ( KErrGeneral );
  1539 
  1510 
  1540     if( sizeof(RMobilePhone::TMobilePhoneNetworkNameV3) > aNetworkNamePckg->MaxLength() ||
  1511     if( sizeof(RMobilePhone::TMobilePhoneNetworkNameV3) > aNetworkNamePckg->MaxLength() ||
  1541         sizeof(RMobilePhone::TMobilePhoneOPlmnV3) > aPlmnPckg->MaxLength() )
  1512         sizeof(RMobilePhone::TMobilePhoneOPlmnV3) > aPlmnPckg->MaxLength() )
  1542 	  	{
  1513 	  	{
  1543 	  	TFLOGSTRING ("TSY: CMmNetTsy::GetNetworkName bad size argument");
  1514 	  	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKNAME_2, "TSY: CMmNetTsy::GetNetworkName bad size argument");
  1544 	  	// Complete the request with appropiate error        
  1515 	  	// Complete the request with appropiate error        
  1545 	  	ret = KErrArgument;
  1516 	  	ret = KErrArgument;
  1546 	  	}
  1517 	  	}
  1547 
  1518 
  1548     else
  1519     else
  1563 
  1534 
  1564         networkName.iLongName.Copy( networkInfo.iLongName );
  1535         networkName.iLongName.Copy( networkInfo.iLongName );
  1565         networkName.iShortName.Copy( networkInfo.iShortName );
  1536         networkName.iShortName.Copy( networkInfo.iShortName );
  1566         plmn.iCountryCode.Copy( networkInfo.iCountryCode );
  1537         plmn.iCountryCode.Copy( networkInfo.iCountryCode );
  1567         plmn.iNetworkId.Copy( networkInfo.iNetworkId );
  1538         plmn.iNetworkId.Copy( networkInfo.iNetworkId );
  1568 TFLOGSTRING2("TSY: CMmNetTsy::GetNetworkName, iLongName: %S", &networkName.iLongName);
  1539 OstTraceDefExt1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKNAME_3, "TSY: CMmNetTsy::GetNetworkName, iLongName: %S", networkName.iLongName);
  1569 
  1540 
  1570         if( KErrNone == ret )
  1541         if( KErrNone == ret )
  1571             {
  1542             {
  1572 TFLOGSTRING2("TSY: CMmNetTsy::GetNetworkName - completing, ret: %d", ret);
  1543 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKNAME_4, "TSY: CMmNetTsy::GetNetworkName - completing, ret: %d", ret);
  1573             iMmPhoneTsy->ReqCompleted( aTsyReqHandle, ret );
  1544             iMmPhoneTsy->ReqCompleted( aTsyReqHandle, ret );
  1574             }
  1545             }
  1575         }
  1546         }
  1576 
  1547 
  1577     return ret;
  1548     return ret;
  1586 //
  1557 //
  1587 TInt CMmNetTsy::GetCurrentNetworkNoLocation(
  1558 TInt CMmNetTsy::GetCurrentNetworkNoLocation(
  1588     const TTsyReqHandle aTsyReqHandle, 
  1559     const TTsyReqHandle aTsyReqHandle, 
  1589     TDes8* aNetworkInfoPckg ) const 
  1560     TDes8* aNetworkInfoPckg ) const 
  1590     {
  1561     {
  1591 TFLOGSTRING("TSY: CMmNetTsy::GetCurrentNetworkNoLocation"); 
  1562 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETCURRENTNETWORKNOLOCATION_1, "TSY: CMmNetTsy::GetCurrentNetworkNoLocation");
  1592   
  1563   
  1593     TInt ret( KErrNotSupported );
  1564     TInt ret( KErrNotSupported );
  1594     
  1565     
  1595     TPckg<RMobilePhone::TMultimodeType>* networkInfoTempPckg = 
  1566     TPckg<RMobilePhone::TMultimodeType>* networkInfoTempPckg = 
  1596         REINTERPRET_CAST( TPckg<RMobilePhone::TMultimodeType>*,
  1567         REINTERPRET_CAST( TPckg<RMobilePhone::TMultimodeType>*,
  1654 //
  1625 //
  1655 TInt CMmNetTsy::NotifyCurrentNetworkNoLocationChangeL( 
  1626 TInt CMmNetTsy::NotifyCurrentNetworkNoLocationChangeL( 
  1656     const TTsyReqHandle aTsyReqHandle,
  1627     const TTsyReqHandle aTsyReqHandle,
  1657     TDes8* aNetworkInfoPckg )
  1628     TDes8* aNetworkInfoPckg )
  1658     {
  1629     {
  1659 TFLOGSTRING("TSY: CMmNetTsy::NotifyCurrentNetworkNoLocationChangeL");
  1630 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_NOTIFYCURRENTNETWORKNOLOCATIONCHANGEL_1, "TSY: CMmNetTsy::NotifyCurrentNetworkNoLocationChangeL");
  1660      
  1631      
  1661     // save the handle and the request type
  1632     // save the handle and the request type
  1662     iMmPhoneTsy->iReqHandleType =
  1633     iMmPhoneTsy->iReqHandleType =
  1663         CMmPhoneTsy::EMultimodePhoneNotifyCurrentNetworkNoLocationChange;
  1634         CMmPhoneTsy::EMultimodePhoneNotifyCurrentNetworkNoLocationChange;
  1664 
  1635 
  1679 // ---------------------------------------------------------------------------
  1650 // ---------------------------------------------------------------------------
  1680 //
  1651 //
  1681 TInt CMmNetTsy::NotifyCurrentNetworkNoLocationChangeCancel(
  1652 TInt CMmNetTsy::NotifyCurrentNetworkNoLocationChangeCancel(
  1682     const TTsyReqHandle aTsyReqHandle ) 
  1653     const TTsyReqHandle aTsyReqHandle ) 
  1683     {
  1654     {
  1684 TFLOGSTRING("TSY: CMmNetTsy::NotifyCurrentNetworkNoLocationChangeCancel");
  1655 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_NOTIFYCURRENTNETWORKNOLOCATIONCHANGECANCEL_1, "TSY: CMmNetTsy::NotifyCurrentNetworkNoLocationChangeCancel");
  1685     
  1656     
  1686     // find the correct ReqHandle...  
  1657     // find the correct ReqHandle...  
  1687     for ( TInt i = 0; i < iNotifyCurrentNwNoLocationRequests.Count(); i++ )
  1658     for ( TInt i = 0; i < iNotifyCurrentNwNoLocationRequests.Count(); i++ )
  1688         {
  1659         {
  1689         if ( aTsyReqHandle == 
  1660         if ( aTsyReqHandle == 
  1715 TInt CMmNetTsy::NotifyCurrentNetworkChangeL(
  1686 TInt CMmNetTsy::NotifyCurrentNetworkChangeL(
  1716     const TTsyReqHandle aTsyReqHandle,
  1687     const TTsyReqHandle aTsyReqHandle,
  1717     TDes8* aNetworkInfoPckg, 
  1688     TDes8* aNetworkInfoPckg, 
  1718     RMobilePhone::TMobilePhoneLocationAreaV1* aArea ) 
  1689     RMobilePhone::TMobilePhoneLocationAreaV1* aArea ) 
  1719     {
  1690     {
  1720 TFLOGSTRING("TSY: CMmNetTsy::NotifyCurrentNetworkChangeL");
  1691 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_NOTIFYCURRENTNETWORKCHANGEL_1, "TSY: CMmNetTsy::NotifyCurrentNetworkChangeL");
  1721 
  1692 
  1722     TInt ret = KErrArgument;
  1693     TInt ret = KErrArgument;
  1723     TInt length = aNetworkInfoPckg->MaxLength();
  1694     TInt length = aNetworkInfoPckg->MaxLength();
  1724     
  1695     
  1725     if ( sizeof( RMobilePhone::TMobilePhoneNetworkInfoV1 ) == length ||
  1696     if ( sizeof( RMobilePhone::TMobilePhoneNetworkInfoV1 ) == length ||
  1753 // ---------------------------------------------------------------------------
  1724 // ---------------------------------------------------------------------------
  1754 //
  1725 //
  1755 TInt CMmNetTsy::NotifyCurrentNetworkChangeCancel(
  1726 TInt CMmNetTsy::NotifyCurrentNetworkChangeCancel(
  1756     const TTsyReqHandle aTsyReqHandle ) 
  1727     const TTsyReqHandle aTsyReqHandle ) 
  1757     {
  1728     {
  1758 TFLOGSTRING("TSY: CMmNetTsy::NotifyCurrentNetworkChangeCancel");
  1729 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_NOTIFYCURRENTNETWORKCHANGECANCEL_1, "TSY: CMmNetTsy::NotifyCurrentNetworkChangeCancel");
  1759 
  1730 
  1760     // find the correct ReqHandle...  
  1731     // find the correct ReqHandle...  
  1761     for ( TInt i = 0; i < iNotifyCurrentNwRequests.Count(); i++ )
  1732     for ( TInt i = 0; i < iNotifyCurrentNwRequests.Count(); i++ )
  1762         {
  1733         {
  1763         if ( aTsyReqHandle == iNotifyCurrentNwRequests[i].iReqHandle )
  1734         if ( aTsyReqHandle == iNotifyCurrentNwRequests[i].iReqHandle )
  1788 //
  1759 //
  1789 void CMmNetTsy::CompleteNotifyCurrentNetworkChange(
  1760 void CMmNetTsy::CompleteNotifyCurrentNetworkChange(
  1790     CMmDataPackage* aDataPackage, 
  1761     CMmDataPackage* aDataPackage, 
  1791     TInt aResult ) 
  1762     TInt aResult ) 
  1792     {
  1763     {
  1793 TFLOGSTRING("TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange");
  1764 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETENOTIFYCURRENTNETWORKCHANGE_1, "TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange");
  1794     
  1765     
  1795     // create a copy of the NW info sended by the LTSY
  1766     // create a copy of the NW info sended by the LTSY
  1796     RMobilePhone::TMobilePhoneNetworkInfoV8 networkInfo;
  1767     RMobilePhone::TMobilePhoneNetworkInfoV8 networkInfo;
  1797     RMobilePhone::TMobilePhoneLocationAreaV1 locationArea;
  1768     RMobilePhone::TMobilePhoneLocationAreaV1 locationArea;
  1798     
  1769     
  1799     aDataPackage->UnPackData ( networkInfo, locationArea );
  1770     aDataPackage->UnPackData ( networkInfo, locationArea );
  1800 TFLOGSTRING2("TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, new extension ID: %d", networkInfo.ExtensionId() ); 
  1771 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETENOTIFYCURRENTNETWORKCHANGE_2, "TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, new extension ID: %d", networkInfo.ExtensionId() );
  1801    
  1772    
  1802     // empty additional extension information...
  1773     // empty additional extension information...
  1803     if ( KETelExtMultimodeV1 == networkInfo.ExtensionId() )
  1774     if ( KETelExtMultimodeV1 == networkInfo.ExtensionId() )
  1804         {
  1775         {
  1805         networkInfo.iAccess = RMobilePhone::ENetworkAccessUnknown; 
  1776         networkInfo.iAccess = RMobilePhone::ENetworkAccessUnknown; 
  1837             }
  1808             }
  1838         // reset req handle. Returns the deleted req handle
  1809         // reset req handle. Returns the deleted req handle
  1839         TTsyReqHandle reqHandle =
  1810         TTsyReqHandle reqHandle =
  1840             iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  1811             iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  1841             CMmPhoneTsy::EMultimodePhoneNotifyCurrentNetworkChange );            
  1812             CMmPhoneTsy::EMultimodePhoneNotifyCurrentNetworkChange );            
  1842 TFLOGSTRING2("TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, req handler =%u", reqHandle );
  1813 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETENOTIFYCURRENTNETWORKCHANGE_3, "TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, req handler =%u", reqHandle );
  1843 
  1814 
  1844         if ( CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != reqHandle )
  1815         if ( CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != reqHandle )
  1845             {
  1816             {
  1846             TInt requestCount = iNotifyCurrentNwRequests.Count();            
  1817             TInt requestCount = iNotifyCurrentNwRequests.Count();            
  1847 TFLOGSTRING2("TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, requestCount: %d ", requestCount ); 
  1818 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETENOTIFYCURRENTNETWORKCHANGE_4, "TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, requestCount: %d ", requestCount );
  1848 
  1819 
  1849             // Complete all notification requests...
  1820             // Complete all notification requests...
  1850             for ( TInt i = 0; i < requestCount; i++ )
  1821             for ( TInt i = 0; i < requestCount; i++ )
  1851                 {
  1822                 {
  1852 TFLOGSTRING2("TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, Loc; array: %d ", i );                 
  1823 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETENOTIFYCURRENTNETWORKCHANGE_5, "TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, Loc; array: %d ", i );
  1853                
  1824                
  1854                 // copy the infromation to client, 0 = first index
  1825                 // copy the infromation to client, 0 = first index
  1855                 switch ( ( *( iNotifyCurrentNwRequests[ 0 ].
  1826                 switch ( ( *( iNotifyCurrentNwRequests[ 0 ].
  1856                     iRetNwInfoPckg ) )().ExtensionId() )
  1827                     iRetNwInfoPckg ) )().ExtensionId() )
  1857                     {
  1828                     {
  1936         {
  1907         {
  1937         //reset req handle. Returns the deleted req handle
  1908         //reset req handle. Returns the deleted req handle
  1938         TTsyReqHandle reqHandle =
  1909         TTsyReqHandle reqHandle =
  1939           iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  1910           iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  1940           CMmPhoneTsy::EMultimodePhoneNotifyCurrentNetworkNoLocationChange );
  1911           CMmPhoneTsy::EMultimodePhoneNotifyCurrentNetworkNoLocationChange );
  1941 TFLOGSTRING2("TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, req handler NoLoc =%u", reqHandle );
  1912 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETENOTIFYCURRENTNETWORKCHANGE_6, "TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, req handler NoLoc =%u", reqHandle );
  1942 
  1913 
  1943         if ( CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != reqHandle )
  1914         if ( CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != reqHandle )
  1944             {
  1915             {
  1945             TInt requestCount = iNotifyCurrentNwNoLocationRequests.Count();            
  1916             TInt requestCount = iNotifyCurrentNwNoLocationRequests.Count();            
  1946 TFLOGSTRING2("TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, requestCount NoLoc: %d ", requestCount );
  1917 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETENOTIFYCURRENTNETWORKCHANGE_7, "TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, requestCount NoLoc: %d ", requestCount );
  1947             
  1918             
  1948             // Complete all requests...
  1919             // Complete all requests...
  1949             for ( TInt indx = 0; indx < requestCount; indx++ )
  1920             for ( TInt indx = 0; indx < requestCount; indx++ )
  1950                 {
  1921                 {
  1951 TFLOGSTRING2("TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, NoLoc; array: %d ", indx );                 
  1922 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETENOTIFYCURRENTNETWORKCHANGE_8, "TSY: CMmNetTsy::CompleteNotifyCurrentNetworkChange, NoLoc; array: %d ", indx );
  1952                 
  1923                 
  1953                 // copy the infromation to client, 0 = first index
  1924                 // copy the infromation to client, 0 = first index
  1954                 switch ( ( *( iNotifyCurrentNwNoLocationRequests[ 0 ].
  1925                 switch ( ( *( iNotifyCurrentNwNoLocationRequests[ 0 ].
  1955                     iRetNwInfoPckg ) )().ExtensionId() )
  1926                     iRetNwInfoPckg ) )().ExtensionId() )
  1956                     {
  1927                     {
  2034 //
  2005 //
  2035 TInt CMmNetTsy::NotifyCellInfoChangeL(
  2006 TInt CMmNetTsy::NotifyCellInfoChangeL(
  2036     const TTsyReqHandle aTsyReqHandle,
  2007     const TTsyReqHandle aTsyReqHandle,
  2037     TDes8* aCellInfoPckg) 
  2008     TDes8* aCellInfoPckg) 
  2038     {
  2009     {
  2039     TFLOGSTRING2("TSY: CMmNetTsy::NotifyCellInfoChangeL; Handel: %d", aTsyReqHandle);
  2010     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_NOTIFYCELLINFOCHANGEL_1, "TSY: CMmNetTsy::NotifyCellInfoChangeL; Handel: %d", aTsyReqHandle);
  2040     if(sizeof(RMobilePhone::TMobilePhoneCellInfoV9) > aCellInfoPckg->MaxLength())
  2011     if(sizeof(RMobilePhone::TMobilePhoneCellInfoV9) > aCellInfoPckg->MaxLength())
  2041     	{
  2012     	{
  2042         TFLOGSTRING ("TSY: CMmNetTsy::NotifyCellInfoChangeL Bad size argument");
  2013         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_NOTIFYCELLINFOCHANGEL_2, "TSY: CMmNetTsy::NotifyCellInfoChangeL Bad size argument");
  2043         // Complete the request with appropiate error        
  2014         // Complete the request with appropiate error        
  2044         return KErrArgument;
  2015         return KErrArgument;
  2045     	}
  2016     	}
  2046     TPckg<RMobilePhone::TMultimodeType>* cellInfoTempPckg = 
  2017     TPckg<RMobilePhone::TMultimodeType>* cellInfoTempPckg = 
  2047         reinterpret_cast< TPckg<RMobilePhone::TMultimodeType>*> (aCellInfoPckg );       
  2018         reinterpret_cast< TPckg<RMobilePhone::TMultimodeType>*> (aCellInfoPckg );       
  2048     RMobilePhone::TMultimodeType& cellInfoTemp = ( *cellInfoTempPckg )();
  2019     RMobilePhone::TMultimodeType& cellInfoTemp = ( *cellInfoTempPckg )();
  2049 	if(cellInfoTemp.ExtensionId()!=KEtelExtMultimodeV9)
  2020 	if(cellInfoTemp.ExtensionId()!=KEtelExtMultimodeV9)
  2050 		{
  2021 		{
  2051         TFLOGSTRING ("TSY: CMmNetTsy::GetCellInfo Bad version argument");
  2022         OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_NOTIFYCELLINFOCHANGEL_3, "TSY: CMmNetTsy::GetCellInfo Bad version argument");
  2052         // Complete the request with appropiate error        
  2023         // Complete the request with appropiate error        
  2053         return KErrArgument;
  2024         return KErrArgument;
  2054 		}
  2025 		}
  2055 	TInt ret = KErrNone;
  2026 	TInt ret = KErrNone;
  2056 	if (iCachedCellInfoV9.CacheAbility() == ECacheUnknown)
  2027 	if (iCachedCellInfoV9.CacheAbility() == ECacheUnknown)
  2079 // ---------------------------------------------------------------------------
  2050 // ---------------------------------------------------------------------------
  2080 //
  2051 //
  2081 TInt CMmNetTsy::GetCellInfoCancel(
  2052 TInt CMmNetTsy::GetCellInfoCancel(
  2082     const TTsyReqHandle aTsyReqHandle ) 
  2053     const TTsyReqHandle aTsyReqHandle ) 
  2083     {
  2054     {
  2084     TFLOGSTRING2("TSY: CMmNetTsy::GetCellInfoCancel; Handle: %d", aTsyReqHandle);
  2055     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETCELLINFOCANCEL_1, "TSY: CMmNetTsy::GetCellInfoCancel; Handle: %d", aTsyReqHandle);
  2085     // find the correct ReqHandle...  
  2056     // find the correct ReqHandle...  
  2086 	const TInt KReqCount = iCellInfoRequests.Count();
  2057 	const TInt KReqCount = iCellInfoRequests.Count();
  2087     for ( TInt i = 0; i < KReqCount; i++ )
  2058     for ( TInt i = 0; i < KReqCount; i++ )
  2088         {
  2059         {
  2089         if ( aTsyReqHandle == iCellInfoRequests[i].iReqHandle )
  2060         if ( aTsyReqHandle == iCellInfoRequests[i].iReqHandle )
  2112 // ---------------------------------------------------------------------------
  2083 // ---------------------------------------------------------------------------
  2113 //
  2084 //
  2114 TInt CMmNetTsy::NotifyCellInfoChangeCancel(
  2085 TInt CMmNetTsy::NotifyCellInfoChangeCancel(
  2115     const TTsyReqHandle aTsyReqHandle ) 
  2086     const TTsyReqHandle aTsyReqHandle ) 
  2116     {
  2087     {
  2117     TFLOGSTRING2("TSY: CMmNetTsy::NotifyCellInfoChangeCancel; Handle: %d", aTsyReqHandle);
  2088     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_NOTIFYCELLINFOCHANGECANCEL_1, "TSY: CMmNetTsy::NotifyCellInfoChangeCancel; Handle: %d", aTsyReqHandle);
  2118 
  2089 
  2119     // find the correct ReqHandle...  
  2090     // find the correct ReqHandle...  
  2120 	const TInt KReqCount = iNotifyCellInfoRequests.Count();
  2091 	const TInt KReqCount = iNotifyCellInfoRequests.Count();
  2121     for ( TInt i = 0; i < KReqCount; i++ )
  2092     for ( TInt i = 0; i < KReqCount; i++ )
  2122         {
  2093         {
  2147 //
  2118 //
  2148 TInt CMmNetTsy::GetNetworkRegistrationStatusL(
  2119 TInt CMmNetTsy::GetNetworkRegistrationStatusL(
  2149     const TTsyReqHandle aTsyReqHandle, 
  2120     const TTsyReqHandle aTsyReqHandle, 
  2150     RMobilePhone::TMobilePhoneRegistrationStatus* aStatus ) 
  2121     RMobilePhone::TMobilePhoneRegistrationStatus* aStatus ) 
  2151     {
  2122     {
  2152 TFLOGSTRING2("TSY: CMmNetTsy::GetNetworkRegistrationStatusL Handle: %d", aTsyReqHandle);
  2123 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKREGISTRATIONSTATUSL_1, "TSY: CMmNetTsy::GetNetworkRegistrationStatusL Handle: %d", aTsyReqHandle);
  2153     
  2124     
  2154 	// If the modem is not ready (Common TSY has not received EMmTsyBootNotifyModemStatusReadyIPC
  2125 	// If the modem is not ready (Common TSY has not received EMmTsyBootNotifyModemStatusReadyIPC
  2155 	// from LTSY), we don't need to ask. Update registration status and complete client immediately. 
  2126 	// from LTSY), we don't need to ask. Update registration status and complete client immediately. 
  2156 	if (!iMmPhoneTsy->IsModemStatusReady())
  2127 	if (!iMmPhoneTsy->IsModemStatusReady())
  2157 		{
  2128 		{
  2178         else
  2149         else
  2179             {
  2150             {
  2180 			//get mode specific information 
  2151 			//get mode specific information 
  2181 			TInt ret ( iMmPhoneTsy->iMmPhoneExtInterface->
  2152 			TInt ret ( iMmPhoneTsy->iMmPhoneExtInterface->
  2182 					GetNetworkRegistrationStatusL() );
  2153 					GetNetworkRegistrationStatusL() );
       
  2154                 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKREGISTRATIONSTATUSL_2, "TSY: CMmNetTsy::GetNetworkRegistrationStatusL - Sending request to LTSY" );
       
  2155                 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKREGISTRATIONSTATUSL_3, "TSY: CMmNetTsy::GetNetworkRegistrationStatusL - Modem not ready" );
  2183 
  2156 
  2184             if ( KErrNone != ret )
  2157             if ( KErrNone != ret )
  2185                 {
  2158                 {
  2186                 TFLOGSTRING2("TSY: CMmNetTsy::GetNetworkRegistrationStatusL - Complete with error %d", ret );
  2159                 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKREGISTRATIONSTATUSL_4, "TSY: CMmNetTsy::GetNetworkRegistrationStatusL - Complete with error %d", ret );
  2187                 iMmPhoneTsy->ReqCompleted( aTsyReqHandle, ret );
  2160                 iMmPhoneTsy->ReqCompleted( aTsyReqHandle, ret );
  2188                 }
  2161                 }
  2189             else
  2162             else
  2190                 {
  2163                 {
  2191 TFLOGSTRING("TSY: CMmNetTsy::GetNetworkRegistrationStatusL - Client to buffer" );
  2164 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKREGISTRATIONSTATUSL_5, "TSY: CMmNetTsy::GetNetworkRegistrationStatusL - Client to buffer" );
  2192                 // save request handle in queue
  2165                 // save request handle in queue
  2193     			TGetNetworkRegisterationRequest* req = 
  2166     			TGetNetworkRegisterationRequest* req = 
  2194     				new (ELeave) TGetNetworkRegisterationRequest();
  2167     				new (ELeave) TGetNetworkRegisterationRequest();
  2195     			req->iReqHandle = aTsyReqHandle;
  2168     			req->iReqHandle = aTsyReqHandle;
  2196     			req->iRetGetNWRegistrationStatus = aStatus;
  2169     			req->iRetGetNWRegistrationStatus = aStatus;
  2219 // ---------------------------------------------------------------------------
  2192 // ---------------------------------------------------------------------------
  2220 //
  2193 //
  2221 TInt CMmNetTsy::GetNetworkRegistrationStatusCancel( 
  2194 TInt CMmNetTsy::GetNetworkRegistrationStatusCancel( 
  2222     const TTsyReqHandle aTsyReqHandle )
  2195     const TTsyReqHandle aTsyReqHandle )
  2223     {     
  2196     {     
  2224 TFLOGSTRING2("TSY: CMmNetTsy::GetNetworkRegistrationStatusCancel Handle: %d", aTsyReqHandle);      
  2197 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKREGISTRATIONSTATUSCANCEL_1, "TSY: CMmNetTsy::GetNetworkRegistrationStatusCancel Handle: %d", aTsyReqHandle);
  2225 
  2198 
  2226     TInt requestCount = iRegisterationStatusRequests.Count(); 
  2199     TInt requestCount = iRegisterationStatusRequests.Count(); 
  2227    
  2200    
  2228     if( 1 == requestCount )
  2201     if( 1 == requestCount )
  2229     	{
  2202     	{
  2230 TFLOGSTRING("TSY: CMmNetTsy::GetNetworkRegistrationStatusCancel 1 == requestCount  ");     	
  2203 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKREGISTRATIONSTATUSCANCEL_2, "TSY: CMmNetTsy::GetNetworkRegistrationStatusCancel 1 == requestCount  ");
  2231         //reset the req handle
  2204         //reset the req handle
  2232 		TTsyReqHandle reqHandle = iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  2205 		TTsyReqHandle reqHandle = iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  2233         	CMmPhoneTsy::EMultimodePhoneGetNetworkRegistrationStatus );    	
  2206         	CMmPhoneTsy::EMultimodePhoneGetNetworkRegistrationStatus );    	
  2234     	}
  2207     	}
  2235 	
  2208 	
  2257 // ---------------------------------------------------------------------------
  2230 // ---------------------------------------------------------------------------
  2258 //
  2231 //
  2259 void CMmNetTsy::CompleteGetNetworkRegistrationStatus(
  2232 void CMmNetTsy::CompleteGetNetworkRegistrationStatus(
  2260     TInt aErrorValue )
  2233     TInt aErrorValue )
  2261     {
  2234     {
  2262 TFLOGSTRING("TSY: CMmNetTsy::CompleteGetNetworkRegistrationStatus");       
  2235 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETEGETNETWORKREGISTRATIONSTATUS_1, "TSY: CMmNetTsy::CompleteGetNetworkRegistrationStatus");
  2263      // Reset the req handle
  2236      // Reset the req handle
  2264     TTsyReqHandle reqHandle =
  2237     TTsyReqHandle reqHandle =
  2265         iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  2238         iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  2266         CMmPhoneTsy::EMultimodePhoneGetNetworkRegistrationStatus );
  2239         CMmPhoneTsy::EMultimodePhoneGetNetworkRegistrationStatus );
  2267     
  2240     
  2275             TGetNetworkRegisterationRequest* req = 
  2248             TGetNetworkRegisterationRequest* req = 
  2276                 iRegisterationStatusRequests[ i ];
  2249                 iRegisterationStatusRequests[ i ];
  2277             
  2250             
  2278             //set value in client side
  2251             //set value in client side
  2279             *(req->iRetGetNWRegistrationStatus) = iNWRegistrationStatus;
  2252             *(req->iRetGetNWRegistrationStatus) = iNWRegistrationStatus;
  2280 TFLOGSTRING2("TSY: CMmNetTsy::CompleteGetNetworkRegistrationStatus client: %d", i );
  2253 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETEGETNETWORKREGISTRATIONSTATUS_2, "TSY: CMmNetTsy::CompleteGetNetworkRegistrationStatus client: %d", i );
  2281         
  2254         
  2282 			//Complete the client request
  2255 			//Complete the client request
  2283             iMmPhoneTsy->ReqCompleted( req->iReqHandle, aErrorValue );
  2256             iMmPhoneTsy->ReqCompleted( req->iReqHandle, aErrorValue );
  2284 			}
  2257 			}
  2285         }        
  2258         }        
  2331 //
  2304 //
  2332 void CMmNetTsy::CompleteNotifyNetworkRegistrationStatusChange(
  2305 void CMmNetTsy::CompleteNotifyNetworkRegistrationStatusChange(
  2333     CMmDataPackage* aDataPackage, //Contains information for client side
  2306     CMmDataPackage* aDataPackage, //Contains information for client side
  2334     TInt aResult ) // result code 
  2307     TInt aResult ) // result code 
  2335     {
  2308     {
  2336 TFLOGSTRING( "TSY: CMmNetTsy::CompleteNotifyNetworkRegistrationStatusChange" );
  2309 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETENOTIFYNETWORKREGISTRATIONSTATUSCHANGE_1,  "TSY: CMmNetTsy::CompleteNotifyNetworkRegistrationStatusChange" );
  2337 
  2310 
  2338     RMobilePhone::TMobilePhoneRegistrationStatus* regStatus = NULL;
  2311     RMobilePhone::TMobilePhoneRegistrationStatus* regStatus = NULL;
  2339     RMobilePhone::TMobilePhoneNetworkStatus* nwStatus = NULL;
  2312     RMobilePhone::TMobilePhoneNetworkStatus* nwStatus = NULL;
  2340 
  2313 
  2341     aDataPackage->UnPackData ( &regStatus, &nwStatus );
  2314     aDataPackage->UnPackData ( &regStatus, &nwStatus );
  2346         iMmPhoneTsy->iMmPhoneExtInterface->
  2319         iMmPhoneTsy->iMmPhoneExtInterface->
  2347             CompleteNotifyNetworkRegistrationStatusChange( *regStatus );
  2320             CompleteNotifyNetworkRegistrationStatusChange( *regStatus );
  2348 
  2321 
  2349         // Store NEW registration status
  2322         // Store NEW registration status
  2350         iNWRegistrationStatus = *regStatus;
  2323         iNWRegistrationStatus = *regStatus;
  2351 TFLOGSTRING2("TSY: CMmNetTsy::CompleteNotifyNetworkRegistrationStatusChange, status: %d", iNWRegistrationStatus );
  2324 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETENOTIFYNETWORKREGISTRATIONSTATUSCHANGE_2, "TSY: CMmNetTsy::CompleteNotifyNetworkRegistrationStatusChange, status: %d", iNWRegistrationStatus );
  2352 
  2325 
  2353         //reset req handle. Returns the deleted req handle
  2326         //reset req handle. Returns the deleted req handle
  2354         TTsyReqHandle reqHandle = iMmPhoneTsy->iTsyReqHandleStore->
  2327         TTsyReqHandle reqHandle = iMmPhoneTsy->iTsyReqHandleStore->
  2355           ResetTsyReqHandle( 
  2328           ResetTsyReqHandle( 
  2356           CMmPhoneTsy::EMultimodePhoneNotifyNetworkRegistrationStatusChange );
  2329           CMmPhoneTsy::EMultimodePhoneNotifyNetworkRegistrationStatusChange );
  2589 // ---------------------------------------------------------------------------
  2562 // ---------------------------------------------------------------------------
  2590 //  
  2563 //  
  2591 RMobilePhone::TMobilePhoneRegistrationStatus 
  2564 RMobilePhone::TMobilePhoneRegistrationStatus 
  2592     CMmNetTsy::GetNetworkRegistrationStatus() const
  2565     CMmNetTsy::GetNetworkRegistrationStatus() const
  2593     {
  2566     {
  2594 TFLOGSTRING2("TSY: CMmNetTsy::GetNetworkRegistrationStatus: %d", iNWRegistrationStatus );
  2567 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKMODE_1, "TSY: CMmNetTsy::GetNetworkRegistrationStatus: %d", iNWRegistrationStatus );
  2595     return iNWRegistrationStatus;
  2568     return iNWRegistrationStatus;
  2596     }
  2569     }
  2597 
  2570 
  2598 // ---------------------------------------------------------------------------
  2571 // ---------------------------------------------------------------------------
  2599 // CMmNetTsy::GetNetworkSecurityLevel
  2572 // CMmNetTsy::GetNetworkSecurityLevel
  2605     const TTsyReqHandle aTsyReqHandle, // Request handle
  2578     const TTsyReqHandle aTsyReqHandle, // Request handle
  2606     RMobilePhone::TMobilePhoneNetworkSecurity*
  2579     RMobilePhone::TMobilePhoneNetworkSecurity*
  2607         aNetworkSecurityLevel ) const //Network security level
  2580         aNetworkSecurityLevel ) const //Network security level
  2608         
  2581         
  2609     {
  2582     {
  2610     TFLOGSTRING("TSY: CMmNetTsy::GetNetworkSecurityLevel");
  2583     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETNETWORKSECURITYLEVEL_1, "TSY: CMmNetTsy::GetNetworkSecurityLevel");
  2611     iMmPhoneTsy->PhoneExtInterface()->GetNetworkSecurityLevel (
  2584     iMmPhoneTsy->PhoneExtInterface()->GetNetworkSecurityLevel (
  2612         *aNetworkSecurityLevel );
  2585         *aNetworkSecurityLevel );
  2613 
  2586 
  2614     iMmPhoneTsy->ReqCompleted( aTsyReqHandle, KErrNone );
  2587     iMmPhoneTsy->ReqCompleted( aTsyReqHandle, KErrNone );
  2615     return KErrNone;
  2588     return KErrNone;
  2623 //
  2596 //
  2624 TInt CMmNetTsy::NotifyNetworkSecurityLevelChange( 
  2597 TInt CMmNetTsy::NotifyNetworkSecurityLevelChange( 
  2625     RMobilePhone::TMobilePhoneNetworkSecurity*
  2598     RMobilePhone::TMobilePhoneNetworkSecurity*
  2626         aNetworkSecurityLevel ) 
  2599         aNetworkSecurityLevel ) 
  2627     {
  2600     {
  2628     TFLOGSTRING("TSY: CMmNetTsy::NotifyNetworkSecurityLevelChange");
  2601     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_NOTIFYNETWORKSECURITYLEVELCHANGE_1, "TSY: CMmNetTsy::NotifyNetworkSecurityLevelChange");
  2629     iMmPhoneTsy->iReqHandleType = 
  2602     iMmPhoneTsy->iReqHandleType = 
  2630         CMmPhoneTsy::EMultimodePhoneNotifyNetworkSecurityLevelChange;
  2603         CMmPhoneTsy::EMultimodePhoneNotifyNetworkSecurityLevelChange;
  2631     iRetNetworkSecurityLevel = aNetworkSecurityLevel;
  2604     iRetNetworkSecurityLevel = aNetworkSecurityLevel;
  2632     return KErrNone;
  2605     return KErrNone;
  2633     }
  2606     }
  2636 // Returns pointer to iMode internal attribute
  2609 // Returns pointer to iMode internal attribute
  2637 // ---------------------------------------------------------------------------
  2610 // ---------------------------------------------------------------------------
  2638 //
  2611 //
  2639 TInt CMmNetTsy::NotifyNetworkSecurityLevelChangeCancel()
  2612 TInt CMmNetTsy::NotifyNetworkSecurityLevelChangeCancel()
  2640     {
  2613     {
  2641     TFLOGSTRING("TSY: CMmNetTsy::NotifyNetworkSecurityLevelChangeCancel");
  2614     OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_NOTIFYNETWORKSECURITYLEVELCHANGECANCEL_1, "TSY: CMmNetTsy::NotifyNetworkSecurityLevelChangeCancel");
  2642     iRetNetworkSecurityLevel = NULL;
  2615     iRetNetworkSecurityLevel = NULL;
  2643     TTsyReqHandle reqHandle =
  2616     TTsyReqHandle reqHandle =
  2644         iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  2617         iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  2645         CMmPhoneTsy::EMultimodePhoneNotifyNetworkSecurityLevelChange );
  2618         CMmPhoneTsy::EMultimodePhoneNotifyNetworkSecurityLevelChange );
  2646     if ( CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != reqHandle)
  2619     if ( CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != reqHandle)
  2820 //
  2793 //
  2821 TBool CMmNetTsy::IsNetworkInfoChanged( 
  2794 TBool CMmNetTsy::IsNetworkInfoChanged( 
  2822     const RMobilePhone::TMobilePhoneNetworkInfoV8& previousNetInfo, 
  2795     const RMobilePhone::TMobilePhoneNetworkInfoV8& previousNetInfo, 
  2823     const RMobilePhone::TMobilePhoneNetworkInfoV8& newNetInfo ) 
  2796     const RMobilePhone::TMobilePhoneNetworkInfoV8& newNetInfo ) 
  2824     {
  2797     {
  2825 TFLOGSTRING("TSY: CMmNetTsy::IsNetworkInfoChanged" );
  2798 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_ISNETWORKINFOCHANGED_1, "TSY: CMmNetTsy::IsNetworkInfoChanged" );
  2826 
  2799 
  2827     TBool ret ( ETrue );
  2800     TBool ret ( ETrue );
  2828 
  2801 
  2829     if ( previousNetInfo.iMode == newNetInfo.iMode &&
  2802     if ( previousNetInfo.iMode == newNetInfo.iMode &&
  2830         previousNetInfo.iStatus == newNetInfo.iStatus &&
  2803         previousNetInfo.iStatus == newNetInfo.iStatus &&
  2909                     iCipheringIndicatorForcedOff = ETrue;
  2882                     iCipheringIndicatorForcedOff = ETrue;
  2910                     }
  2883                     }
  2911                 }    
  2884                 }    
  2912             //close the file
  2885             //close the file
  2913             file.Close();
  2886             file.Close();
  2914 TFLOGSTRING("TSY:CMmNetTsy::ReadVariantOptions:File successfully read.");
  2887 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_READVARIANTOPTIONS_1, "TSY:CMmNetTsy::ReadVariantOptions:File successfully read.");
  2915             }
  2888             }
  2916         else
  2889         else
  2917             {
  2890             {
  2918 TFLOGSTRING2("TSY:CMmNetTsy::ReadVariantOptions:Could not open file Z:\\private\\101f7989\\operatorVariants.ini, error=%d",err);
  2891 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_READVARIANTOPTIONS_2, "TSY:CMmNetTsy::ReadVariantOptions:Could not open file Z:\\private\\101f7989\\operatorVariants.ini, error=%d",err);
  2919             }
  2892             }
  2920 
  2893 
  2921         // close connection to file server
  2894         // close connection to file server
  2922         fs.Close();    
  2895         fs.Close();    
  2923         }
  2896         }
  2924     else
  2897     else
  2925         {
  2898         {
  2926 TFLOGSTRING("TSY:CMmNetTsy::ReadVariantOptions:Could not connect to file server.");
  2899 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_READVARIANTOPTIONS_3, "TSY:CMmNetTsy::ReadVariantOptions:Could not connect to file server.");
  2927         }
  2900         }
  2928 TFLOGSTRING2("TSY:CMmNetTsy::ReadVariantOptions:iCipheringIndicatorForcedOff=%d",iCipheringIndicatorForcedOff);
  2901 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_READVARIANTOPTIONS_4, "TSY:CMmNetTsy::ReadVariantOptions:iCipheringIndicatorForcedOff=%d",iCipheringIndicatorForcedOff);
  2929     }
  2902     }
  2930 
  2903 
  2931 // ---------------------------------------------------------------------------
  2904 // ---------------------------------------------------------------------------
  2932 // CMmNetTsy::CipheringIndicatorForcedOff
  2905 // CMmNetTsy::CipheringIndicatorForcedOff
  2933 // Returns ETrue if the ciphering indication is forced off.
  2906 // Returns ETrue if the ciphering indication is forced off.
  2934 // (other items were commented in a header).
  2907 // (other items were commented in a header).
  2935 // ---------------------------------------------------------------------------
  2908 // ---------------------------------------------------------------------------
  2936 //
  2909 //
  2937 TBool CMmNetTsy::CipheringIndicatorForcedOff()
  2910 TBool CMmNetTsy::CipheringIndicatorForcedOff()
  2938     {
  2911     {
  2939     TFLOGSTRING2("TSY:CMmNetTsy::CipheringIndicatorForcedOff:iCipheringIndicatorForcedOff=%d",iCipheringIndicatorForcedOff);
  2912     OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_CIPHERINGINDICATORFORCEDOFF_1, "TSY:CMmNetTsy::CipheringIndicatorForcedOff:iCipheringIndicatorForcedOff=%d",iCipheringIndicatorForcedOff);
  2940     return iCipheringIndicatorForcedOff;
  2913     return iCipheringIndicatorForcedOff;
  2941     }
  2914     }
  2942 
  2915 
  2943 // ---------------------------------------------------------------------------
  2916 // ---------------------------------------------------------------------------
  2944 // CMmNetTsy::AuthorizationInfoPhase1
  2917 // CMmNetTsy::AuthorizationInfoPhase1
  2949 TInt CMmNetTsy::GetAuthorizationInfoPhase1L(
  2922 TInt CMmNetTsy::GetAuthorizationInfoPhase1L(
  2950 	const TTsyReqHandle aTsyReqHandle,
  2923 	const TTsyReqHandle aTsyReqHandle,
  2951 	RMobilePhone::TClientId* aClient,
  2924 	RMobilePhone::TClientId* aClient,
  2952 	TInt* aBufSize )
  2925 	TInt* aBufSize )
  2953     {
  2926     {
  2954 TFLOGSTRING("TSY: CMmNetTsy::AuthorizationInfoPhase1L");
  2927 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETAUTHORIZATIONINFOPHASE1L_1, "TSY: CMmNetTsy::AuthorizationInfoPhase1L");
  2955 
  2928 
  2956     TTsyReqHandle getAuthorizationInfoPhase1Handle =
  2929     TTsyReqHandle getAuthorizationInfoPhase1Handle =
  2957         iMmPhoneTsy->iTsyReqHandleStore->GetTsyReqHandle(
  2930         iMmPhoneTsy->iTsyReqHandleStore->GetTsyReqHandle(
  2958         CMmPhoneTsy::EMultimodePhoneGetAuthorizationInfoPhase1 );
  2931         CMmPhoneTsy::EMultimodePhoneGetAuthorizationInfoPhase1 );
  2959 
  2932 
  2999 //
  2972 //
  3000 void CMmNetTsy::ProcessGetAuthorizationInfoPhase1L(
  2973 void CMmNetTsy::ProcessGetAuthorizationInfoPhase1L(
  3001 	CMmDataPackage* aDataPackage,
  2974 	CMmDataPackage* aDataPackage,
  3002 	TInt aError )
  2975 	TInt aError )
  3003     {
  2976     {
  3004 TFLOGSTRING("TSY: CMmNetTsy::ProcessGetAuthorizationInfoPhase1L");
  2977 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_PROCESSGETAUTHORIZATIONINFOPHASE1L_1, "TSY: CMmNetTsy::ProcessGetAuthorizationInfoPhase1L");
  3005 
  2978 
  3006     // Fetch the request handle
  2979     // Fetch the request handle
  3007     TTsyReqHandle reqHandle =
  2980     TTsyReqHandle reqHandle =
  3008         iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  2981         iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  3009         CMmPhoneTsy::EMultimodePhoneGetAuthorizationInfoPhase1 );
  2982         CMmPhoneTsy::EMultimodePhoneGetAuthorizationInfoPhase1 );
  3042 TInt CMmNetTsy::GetAuthorizationInfoPhase2L(
  3015 TInt CMmNetTsy::GetAuthorizationInfoPhase2L(
  3043 	TTsyReqHandle aTsyReqHandle,
  3016 	TTsyReqHandle aTsyReqHandle,
  3044 	RMobilePhone::TClientId* aClient,
  3017 	RMobilePhone::TClientId* aClient,
  3045 	TDes8* aBuffer )
  3018 	TDes8* aBuffer )
  3046     {
  3019     {
  3047 TFLOGSTRING("TSY: CMmNetTsy::GetAuthorizationInfoPhase2L");
  3020 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETAUTHORIZATIONINFOPHASE2L_1, "TSY: CMmNetTsy::GetAuthorizationInfoPhase2L");
  3048 	
  3021 	
  3049 	TInt error = KErrNone;
  3022 	TInt error = KErrNone;
  3050 	
  3023 	
  3051 	// Check client id
  3024 	// Check client id
  3052 	if ( (aClient->iSessionHandle != iAuthorizationInfoClientId.iSessionHandle )
  3025 	if ( (aClient->iSessionHandle != iAuthorizationInfoClientId.iSessionHandle )
  3123 //
  3096 //
  3124 TInt CMmNetTsy::GetCurrentActiveUSimApplicationL(
  3097 TInt CMmNetTsy::GetCurrentActiveUSimApplicationL(
  3125     const TTsyReqHandle aTsyReqHandle,
  3098     const TTsyReqHandle aTsyReqHandle,
  3126     RMobilePhone::TAID* aAID )
  3099     RMobilePhone::TAID* aAID )
  3127     {  
  3100     {  
  3128 TFLOGSTRING("TSY:CMmNetTsy::GetCurrentActiveUSimApplicationL");
  3101 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETCURRENTACTIVEUSIMAPPLICATIONL_1, "TSY:CMmNetTsy::GetCurrentActiveUSimApplicationL");
  3129 	TTsyReqHandle getCurrentActiveUSimApplicationHandle =
  3102 	TTsyReqHandle getCurrentActiveUSimApplicationHandle =
  3130 	    iMmPhoneTsy->iTsyReqHandleStore->GetTsyReqHandle(
  3103 	    iMmPhoneTsy->iTsyReqHandleStore->GetTsyReqHandle(
  3131 	    CMmPhoneTsy::EMultimodePhoneGetCurrentActiveUSimApplication );
  3104 	    CMmPhoneTsy::EMultimodePhoneGetCurrentActiveUSimApplication );
  3132 	    
  3105 	    
  3133     // Check if operation is already ongoing
  3106     // Check if operation is already ongoing
  3166 // (other items were commented in a header).
  3139 // (other items were commented in a header).
  3167 // ---------------------------------------------------------------------------
  3140 // ---------------------------------------------------------------------------
  3168 //
  3141 //
  3169 TInt CMmNetTsy::GetCurrentActiveUSimApplicationCancel()
  3142 TInt CMmNetTsy::GetCurrentActiveUSimApplicationCancel()
  3170     { 
  3143     { 
  3171 TFLOGSTRING("TSY: CMmNetTsy::GetCurrentActiveUSimApplicationCancel");
  3144 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_GETCURRENTACTIVEUSIMAPPLICATIONCANCEL_1, "TSY: CMmNetTsy::GetCurrentActiveUSimApplicationCancel");
  3172     //reset the req handle
  3145     //reset the req handle
  3173     TTsyReqHandle reqHandle =
  3146     TTsyReqHandle reqHandle =
  3174         iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  3147         iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  3175         CMmPhoneTsy::EMultimodePhoneGetCurrentActiveUSimApplication );
  3148         CMmPhoneTsy::EMultimodePhoneGetCurrentActiveUSimApplication );
  3176     
  3149     
  3191 //
  3164 //
  3192 void CMmNetTsy::CompleteGetCurrentActiveUSimApplication(
  3165 void CMmNetTsy::CompleteGetCurrentActiveUSimApplication(
  3193     CMmDataPackage* aDataPackage,
  3166     CMmDataPackage* aDataPackage,
  3194     TInt aErrorValue )
  3167     TInt aErrorValue )
  3195     {
  3168     {
  3196 	TFLOGSTRING("TSY: CMmNetTsy::CompleteGetCurrentActiveUSimApplication");
  3169 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMNETTSY_COMPLETEGETCURRENTACTIVEUSIMAPPLICATION_1, "TSY: CMmNetTsy::CompleteGetCurrentActiveUSimApplication");
  3197     //reset req handle. Returns the deleted req handle
  3170     //reset req handle. Returns the deleted req handle
  3198     TTsyReqHandle reqHandle =
  3171     TTsyReqHandle reqHandle =
  3199         iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  3172         iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(
  3200         CMmPhoneTsy::EMultimodePhoneGetCurrentActiveUSimApplication );
  3173         CMmPhoneTsy::EMultimodePhoneGetCurrentActiveUSimApplication );
  3201         
  3174         
  3211         
  3184         
  3212         //Complete the client request
  3185         //Complete the client request
  3213         iMmPhoneTsy->ReqCompleted( reqHandle, aErrorValue );	        				                          
  3186         iMmPhoneTsy->ReqCompleted( reqHandle, aErrorValue );	        				                          
  3214         }    	        
  3187         }    	        
  3215     }
  3188     }
  3216 
  3189     
  3217 // ---------------------------------------------------------------------------
       
  3218 // CMmNetTsy::GetPreferredNetworksListPhase1L
       
  3219 // Returns minimum size of a buffer to retreive the current Preferred Networks List from SIM
       
  3220 // (other items were commented in a header).
       
  3221 // ---------------------------------------------------------------------------
       
  3222 //
       
  3223 TInt CMmNetTsy::GetPreferredNetworksListPhase1L(const TTsyReqHandle /*aTsyReqHandle*/, 
       
  3224     											 RMobilePhone::TClientId const* aId, TInt* aBufSize)
       
  3225 	{
       
  3226 	TFLOGSTRING("TSY: CMmNetTsy::GetPreferredNetworksListPhase1");	
       
  3227 	TTsyReqHandle getPrefPLMNHandle = iMmPhoneTsy->iTsyReqHandleStore->GetTsyReqHandle
       
  3228 		                              (CMmPhoneTsy::EMultimodePhoneGetPreferredNetworksPhase1);
       
  3229 	
       
  3230 	if(CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != getPrefPLMNHandle)
       
  3231 		{
       
  3232         // The request is already processing because of previous request
       
  3233         // Complete request with status value informing the client about 
       
  3234         // the situation.
       
  3235 		TFLOGSTRING("TSY GetPreferredNetworksListPhase1: the request is already processing because previous request.");
       
  3236 		return KErrServerBusy;
       
  3237         }
       
  3238 	else
       
  3239 		{
       
  3240 		TInt ret = iMmPhoneTsy->iMessageManager->HandleRequestL(ECtsyPhoneGetPreferredNetworksReq);
       
  3241 
       
  3242 		if(KErrNone == ret)
       
  3243 			{
       
  3244 			TFLOGSTRING("TSY: Successfully send IPC EMobilePhoneGetPreferredNetworksPhase1 to LTSY");
       
  3245 			
       
  3246 			iMmPhoneTsy->iReqHandleType = CMmPhoneTsy::EMultimodePhoneGetPreferredNetworksPhase1;
       
  3247 			
       
  3248 			// if iGetPrefPLMNList, iClientIdGetPrefPLMN, and/or iBufSizeGetPrefPLMN are not NULL, phase 1 is called twice without calling phase 2.
       
  3249 			// In this case, we should ignore the previous phase 1 and delete buffers.
       
  3250 			delete iGetPrefPLMNList;
       
  3251 			iGetPrefPLMNList = NULL;
       
  3252 			iBufSizeGetPrefPLMN = aBufSize;
       
  3253 			delete iClientIdGetPrefPLMN;
       
  3254 			iClientIdGetPrefPLMN = NULL;
       
  3255 			// Copy client id (session and subsession handle). it's used for
       
  3256             // matching phase 1 and 2 of a request
       
  3257 			iClientIdGetPrefPLMN = new ( ELeave ) RMobilePhone::TClientId( *aId ); 
       
  3258 			
       
  3259 			}
       
  3260 		else
       
  3261 			{
       
  3262 			TFLOGSTRING2("TSY: GetPreferredNetworksListPhase1L LTSY returns error=%d", ret);			
       
  3263 			return ret;
       
  3264 			}
       
  3265 		}
       
  3266 	return KErrNone;
       
  3267 	
       
  3268 	}
       
  3269 
       
  3270 // ---------------------------------------------------------------------------
       
  3271 // CMmNetTsy::GetPreferredNetworksListPhase2
       
  3272 // Copies the current Preferred Networks List in the given buffer
       
  3273 // (other items were commented in a header).
       
  3274 // ---------------------------------------------------------------------------
       
  3275 //
       
  3276 TInt CMmNetTsy::GetPreferredNetworksListPhase2(const TTsyReqHandle aTsyReqHandle, 
       
  3277     											 RMobilePhone::TClientId const* aId, TDes8* aBuffer)
       
  3278 	{
       
  3279 	TFLOGSTRING2("TSY: CMmNetTsy::GetPreferredNetworksListPhase2: aTsyReqHandle=%d", aTsyReqHandle);	
       
  3280 	TInt ret = KErrNone;
       
  3281 	
       
  3282 	if( ( iClientIdGetPrefPLMN->iSessionHandle == aId->iSessionHandle ) &&
       
  3283         ( iClientIdGetPrefPLMN->iSubSessionHandle == aId->iSubSessionHandle ) )
       
  3284 		{
       
  3285 		TFLOGSTRING3("TSY GetPreferredNetworksListPhase2: Phase 1 and Phase 2 client ID matched, Copy the streamed list to client buffer. session %d, subsession %d.",
       
  3286 				iClientIdGetPrefPLMN->iSessionHandle, iClientIdGetPrefPLMN->iSubSessionHandle);		
       
  3287 		if(iGetPrefPLMNList != NULL)
       
  3288 			{
       
  3289 			aBuffer->Copy( iGetPrefPLMNList->Ptr( 0 ) );
       
  3290 			// MmPhoneTsy completes the request only if return an error
       
  3291 			// so the request without error code has to complete here
       
  3292 			iMmPhoneTsy->ReqCompleted(aTsyReqHandle, KErrNone);
       
  3293 			}
       
  3294 		else
       
  3295 			{
       
  3296 			ret = KErrNotReady;
       
  3297 			}
       
  3298 		}
       
  3299 	else
       
  3300 		{
       
  3301 		TFLOGSTRING("TSY GetPreferredNetworksListPhase2: Phase 1 and Phase 2 client ID not matched, complete request with KErrCorrupt");			
       
  3302 		ret = KErrCorrupt;
       
  3303 		}
       
  3304 
       
  3305 	delete iClientIdGetPrefPLMN;
       
  3306 	iClientIdGetPrefPLMN = NULL;
       
  3307 
       
  3308 	delete iGetPrefPLMNList;
       
  3309 	iGetPrefPLMNList = NULL;
       
  3310 	
       
  3311 	iBufSizeGetPrefPLMN = NULL;
       
  3312 	
       
  3313 	return ret;
       
  3314 	}
       
  3315 
       
  3316 // ---------------------------------------------------------------------------
       
  3317 // CMmNetTsy::StorePreferredNetworksListL
       
  3318 // Stores the Preferred Networks List into the SIM
       
  3319 // (other items were commented in a header).
       
  3320 // ---------------------------------------------------------------------------
       
  3321 //
       
  3322 TInt CMmNetTsy::StorePreferredNetworksListL(const TTsyReqHandle /*aTsyReqHandle*/, TDes8* aBuffer)
       
  3323 	{
       
  3324 	TFLOGSTRING("TSY: CMmNetTsy::StorePreferredNetworksList");	
       
  3325 
       
  3326 	TTsyReqHandle storePrefPLMNHandle = 
       
  3327 			iMmPhoneTsy->iTsyReqHandleStore->GetTsyReqHandle( CMmPhoneTsy::EMultimodePhoneStorePreferredNetworksList );
       
  3328 
       
  3329 	if(CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != storePrefPLMNHandle)
       
  3330         {
       
  3331         // The request is already processing because of previous request.
       
  3332         // Complete request with status value informing the client about 
       
  3333         // the situation.
       
  3334 		TFLOGSTRING("TSY StorePreferredNetworksListL: the request is already processing because previous request.");
       
  3335 		return KErrServerBusy;
       
  3336         }
       
  3337     else
       
  3338         {
       
  3339     	iMmPhoneTsy->iReqHandleType = CMmPhoneTsy::EMultimodePhoneStorePreferredNetworksList;
       
  3340 		delete iStorePrefPLMNList;
       
  3341 		iStorePrefPLMNList = NULL;
       
  3342 		iStorePrefPLMNList = CMobilePhoneStoredNetworkList::NewL();
       
  3343 		iStorePrefPLMNList->RestoreL(*aBuffer);
       
  3344 
       
  3345 		CMmDataPackage package;
       
  3346 		package.PackData(iStorePrefPLMNList);
       
  3347 		TInt ret = iMmPhoneTsy->iMessageManager->HandleRequestL(ECtsyPhoneStorePreferredNetworksListReq, &package);
       
  3348 		if(KErrNone == ret)
       
  3349 			{
       
  3350 			TFLOGSTRING("TSY StorePreferredNetworksListL: Successfully send IPC EMobilePhoneStorePreferredNetworksList to LTSY");
       
  3351 
       
  3352 			}
       
  3353 		else
       
  3354 			{
       
  3355 			TFLOGSTRING2("TSY StorePreferredNetworksListL: LTSY returns error=%d", ret);		
       
  3356 			delete iStorePrefPLMNList;
       
  3357 			iStorePrefPLMNList = NULL;
       
  3358 			return ret;
       
  3359 			}
       
  3360     	}
       
  3361 
       
  3362 	return KErrNone;
       
  3363 	}
       
  3364 
       
  3365 
       
  3366 // ---------------------------------------------------------------------------
       
  3367 // CMmNetTsy::GetPreferredNetworksListCancel
       
  3368 // Cancels the request for Getting Preferred Networks List
       
  3369 // (other items were commented in a header).
       
  3370 // ---------------------------------------------------------------------------
       
  3371 //
       
  3372 TInt CMmNetTsy::GetPreferredNetworksListCancel(const TTsyReqHandle /*aTsyReqHandle*/)
       
  3373 	{
       
  3374 	TFLOGSTRING("TSY: CMmPhoneTsy::GetPreferredNetworksListCancel");
       
  3375 
       
  3376 	TTsyReqHandle reqHandle = iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle(CMmPhoneTsy::EMultimodePhoneGetPreferredNetworksPhase1); 
       
  3377 
       
  3378 	if(CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != reqHandle)
       
  3379 		{
       
  3380 		iBufSizeGetPrefPLMN = NULL;
       
  3381 		delete iClientIdGetPrefPLMN;
       
  3382 		iClientIdGetPrefPLMN = NULL;
       
  3383 		delete iGetPrefPLMNList;
       
  3384 		iGetPrefPLMNList = NULL;
       
  3385         iMmPhoneTsy->ReqCompleted( reqHandle, KErrCancel );        
       
  3386 		}
       
  3387 	//if reqHandle is 0, it means  phase 1 has completed and the list retrieval cannot be cancelled
       
  3388 	return KErrNone;
       
  3389 	}
       
  3390 
       
  3391 // ---------------------------------------------------------------------------
       
  3392 // CMmNetTsy::NotifyStorePreferredNetworksListChange
       
  3393 // Subscribes the notification for storing Preferred networks List
       
  3394 // (other items were commented in a header).
       
  3395 // ---------------------------------------------------------------------------
       
  3396 //
       
  3397 TInt CMmNetTsy::NotifyStorePreferredNetworksListChange()
       
  3398 	{
       
  3399 	TFLOGSTRING("TSY: CMmPhoneTsy::NotifyStorePreferredNetworksListChange");	
       
  3400 	iMmPhoneTsy->iReqHandleType = CMmPhoneTsy::EMultimodePhoneNotifyStorePreferredNetworksListChange;
       
  3401 
       
  3402 	return KErrNone;
       
  3403 	}
       
  3404 
       
  3405 // ---------------------------------------------------------------------------
       
  3406 // CMmNetTsy::NotifyStorePreferredNetworksListChangeCancel
       
  3407 // Cancels the notification request for storing Preferred Networks List
       
  3408 // (other items were commented in a header).
       
  3409 // ---------------------------------------------------------------------------
       
  3410 //
       
  3411 TInt CMmNetTsy::NotifyStorePreferredNetworksListChangeCancel(const TTsyReqHandle aTsyReqHandle)
       
  3412 	{
       
  3413 	TFLOGSTRING2("TSY: CMmNetTsy::NotifyStorePreferredNetworksListChangeCancel: aTsyReqHandle=%d", aTsyReqHandle);
       
  3414 	TTsyReqHandle reqHandle = iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle
       
  3415 		                       (CMmPhoneTsy::EMultimodePhoneNotifyStorePreferredNetworksListChange);	
       
  3416 
       
  3417 	if(CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != reqHandle)
       
  3418 		{
       
  3419 		iMmPhoneTsy->ReqCompleted( aTsyReqHandle, KErrCancel );
       
  3420 		}
       
  3421 	return KErrNone;
       
  3422 	}
       
  3423 
       
  3424 // ---------------------------------------------------------------------------
       
  3425 // CMmNetTsy::CompleteGetPreferredNetworksListPhase1
       
  3426 // Completes the notification request for storing Preferred Networks List
       
  3427 // (other items were commented in a header).
       
  3428 // ---------------------------------------------------------------------------
       
  3429 //
       
  3430 void CMmNetTsy::CompleteGetPreferredNetworksListPhase1(TInt aError, CMmDataPackage* aDataPackage)
       
  3431 	{
       
  3432 	TFLOGSTRING2("TSY: CMmNetTsy::CompleteGetPreferredNetworksListPhase1: aError=%d", aError);
       
  3433 
       
  3434 	TTsyReqHandle reqHandle = iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle( CMmPhoneTsy::EMultimodePhoneGetPreferredNetworksPhase1 );
       
  3435 
       
  3436 	TFLOGSTRING2("TSY CompleteGetPreferredNetworksListPhase1: EMobilePhoneGetPreferredNetworksPhase1 reqHandle=%d", reqHandle);
       
  3437 
       
  3438 	TInt completeError = KErrNone;
       
  3439 	
       
  3440 	if(CMmPhoneTsy::EMultimodePhoneReqHandleUnknown == reqHandle)
       
  3441 		{
       
  3442 		TFLOGSTRING("TSY CompleteGetPreferredNetworksListPhase1: reqHandle is 0, cannot complete Phase1 list retrieval request!!");
       
  3443 		delete iClientIdGetPrefPLMN;
       
  3444 		iClientIdGetPrefPLMN = NULL;
       
  3445 		}
       
  3446 	else if(KErrNone == aError)
       
  3447 		{
       
  3448 		if(iGetPrefPLMNList == NULL)
       
  3449 			{
       
  3450 			TFLOGSTRING("TSY CompleteGetPreferredNetworksListPhase1: LTSY successfully retrieved the preferred networks list, unpack it");		
       
  3451 			CMobilePhoneStoredNetworkList* list;
       
  3452 			aDataPackage->UnPackData(&list);
       
  3453 	
       
  3454 			TRAPD(trapError, iGetPrefPLMNList = list->StoreLC(); CleanupStack::Pop();); // pop the CBufBase * allocated by StoreLC
       
  3455 			if(KErrNone == trapError)
       
  3456 				{
       
  3457 				*iBufSizeGetPrefPLMN = iGetPrefPLMNList->Size();
       
  3458 				TFLOGSTRING2("TSY CompleteGetPreferredNetworksListPhase1: first phase list retrieval is OK!!, client buffer = %d", *iBufSizeGetPrefPLMN);					
       
  3459 				iMmPhoneTsy->ReqCompleted( reqHandle, KErrNone );
       
  3460 			
       
  3461 				}
       
  3462 			else
       
  3463 				{
       
  3464 				TFLOGSTRING2("TSY CompleteGetPreferredNetworksListPhase1: failed to stream the list into the buffer, error = %d!!", trapError);
       
  3465 				completeError = trapError;
       
  3466 				}
       
  3467 			}
       
  3468 		else
       
  3469 			{
       
  3470 			TFLOGSTRING("TSY CompleteGetPreferredNetworksListPhase1: iGetPrefPLMNList is not null");
       
  3471 			completeError = KErrServerBusy;
       
  3472 			}
       
  3473 		}
       
  3474 	else
       
  3475 		{
       
  3476 		TFLOGSTRING2("TSY CompleteGetPreferredNetworksListPhase1: LTSY failed to retrieve preferred network list!! error = %d", aError);
       
  3477 		completeError = aError;
       
  3478 		}
       
  3479 	
       
  3480 	if(completeError != KErrNone)
       
  3481 		{
       
  3482 		iMmPhoneTsy->ReqCompleted( reqHandle, aError );
       
  3483 		delete iClientIdGetPrefPLMN;
       
  3484 		iClientIdGetPrefPLMN = NULL;
       
  3485 		}
       
  3486 	
       
  3487 	iBufSizeGetPrefPLMN = NULL;
       
  3488 	}
       
  3489 
       
  3490 // ---------------------------------------------------------------------------
       
  3491 // CMmNetTsy::CompleteStorePreferredNetworksList
       
  3492 // Completes an outstanding StorePreferredNetworksListL, which stores Preferred Networks List to LTSY layer
       
  3493 // (other items were commented in a header).
       
  3494 // ---------------------------------------------------------------------------
       
  3495 //
       
  3496 void CMmNetTsy::CompleteStorePreferredNetworksList(TInt aError)
       
  3497 	{
       
  3498 	TFLOGSTRING2("TSY: CMmPhoneTsy::CompleteStorePreferredNetworksList: aError=%d", aError);	
       
  3499 
       
  3500 	TTsyReqHandle reqHandle = iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle( CMmPhoneTsy::EMultimodePhoneStorePreferredNetworksList );
       
  3501 
       
  3502 	TFLOGSTRING2("TSY CompleteStorePreferredNetworksList: EMobilePhoneStorePreferredNetworksList reqHandle=%d", reqHandle);
       
  3503 
       
  3504 	if(iStorePrefPLMNList != NULL)
       
  3505 		{
       
  3506 		delete iStorePrefPLMNList;
       
  3507 		iStorePrefPLMNList = NULL;
       
  3508 
       
  3509 		}
       
  3510 
       
  3511 	if(KErrNone == aError)
       
  3512 		{
       
  3513 		if(CMmPhoneTsy::EMultimodePhoneReqHandleUnknown == reqHandle)
       
  3514 			{
       
  3515 			// we cannot complete the store request but complete the notifier.
       
  3516 			TFLOGSTRING("TSY CompleteStorePreferredNetworksList: reqHandle is 0, cannot complete store list request!!");
       
  3517 			}
       
  3518 		else
       
  3519 			{
       
  3520 			TFLOGSTRING("TSY CompleteStorePreferredNetworksList: LTSY successfully stored the preferred networks list");
       
  3521 			iMmPhoneTsy->ReqCompleted( reqHandle, KErrNone );
       
  3522 			}
       
  3523 		CompleteNotifyStorePreferredNetworksListChange();
       
  3524 		}
       
  3525 	else
       
  3526 		{
       
  3527 		TFLOGSTRING("TSY CompleteStorePreferredNetworksList: LTSY failed to store the preferred networks list");
       
  3528 		iMmPhoneTsy->ReqCompleted( reqHandle, aError );
       
  3529 		}
       
  3530 	}
       
  3531 
       
  3532 // ---------------------------------------------------------------------------
       
  3533 // CMmNetTsy::CompleteNotifyStorePreferredNetworksListChange
       
  3534 // Completes the notification request for storing Preferred Networks List
       
  3535 // (other items were commented in a header).
       
  3536 // ---------------------------------------------------------------------------
       
  3537 //
       
  3538 void CMmNetTsy::CompleteNotifyStorePreferredNetworksListChange()
       
  3539 	{
       
  3540 TFLOGSTRING("TSY: CMmPhoneTsy::CompleteNotifyStorePreferredNetworksListChange");	
       
  3541 
       
  3542 	TTsyReqHandle reqHandle = iMmPhoneTsy->iTsyReqHandleStore->ResetTsyReqHandle
       
  3543 		                      ( CMmPhoneTsy::EMultimodePhoneNotifyStorePreferredNetworksListChange );
       
  3544     if (CMmPhoneTsy::EMultimodePhoneReqHandleUnknown != reqHandle )
       
  3545         {
       
  3546     	iMmPhoneTsy->ReqCompleted( reqHandle, KErrNone);
       
  3547         }
       
  3548 	else
       
  3549 		{
       
  3550 		TFLOGSTRING("TSY CompleteNotifyStorePreferredNetworksListChange: reqHandle is 0, cannot complete request for IPC EMobilePhoneNotifyStorePreferredNetworksListChange!!");
       
  3551 
       
  3552 		}
       
  3553 	}
       
  3554 
       
  3555 //  End of File 
  3190 //  End of File 
  3556 
  3191 
  3557 
  3192 
  3558 
  3193