telephonyserverplugins/simtsy/src/CSimNetworkStatus.cpp
branchRCL_3
changeset 65 630d2f34d719
parent 0 3553901f7fa8
child 66 07a122eea281
equal deleted inserted replaced
61:17af172ffa5f 65:630d2f34d719
     1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    18 
    18 
    19 /**
    19 /**
    20  @file
    20  @file
    21 */
    21 */
    22 
    22 
       
    23 
       
    24 
       
    25 #include "OstTraceDefinitions.h"
       
    26 #ifdef OST_TRACE_COMPILER_IN_USE
       
    27 #include "CSimNetworkStatusTraces.h"
       
    28 #endif
       
    29 
    23 #include <e32property.h>
    30 #include <e32property.h>
    24 #include <testconfigfileparser.h>
    31 #include <testconfigfileparser.h>
    25 #include <sacls.h>
    32 #include <sacls.h>
    26 #include "CSimNetworkStatus.h"
    33 #include "CSimNetworkStatus.h"
    27 #include "CSimPhone.h"
    34 #include "CSimPhone.h"
    28 #include "Simlog.h"
       
    29 #include "CSimPubSubChange.h"
    35 #include "CSimPubSubChange.h"
    30 #include "CSimTsyMode.h"
    36 #include "CSimTsyMode.h"
    31 #include "etelmmerr.h"
    37 #include "etelmmerr.h"
    32 #include "CSimPubSub.h"
    38 #include "CSimPubSub.h"
    33 #include "simtsyglobalproperties.h"
    39 #include "simtsyglobalproperties.h"
   105  * 
   111  * 
   106  * "CellInfo= <Duration>, <mode>, <CellId>, <timingAdvance>, <cellInfoStatus>"
   112  * "CellInfo= <Duration>, <mode>, <CellId>, <timingAdvance>, <cellInfoStatus>"
   107  * A number of these tags may be included to create a Cell Information Profile.
   113  * A number of these tags may be included to create a Cell Information Profile.
   108  */
   114  */
   109 	{
   115 	{
   110 	LOGNETWORK1("Starting to parse Network Status config parameters...");
   116 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_1, "Starting to parse Network Status config parameters...");
   111 	iRegStatTimer=CSimTimer::NewL(iPhone);
   117 	iRegStatTimer=CSimTimer::NewL(iPhone);
   112 	iNitzTimer=CSimTimer::NewL(iPhone);
   118 	iNitzTimer=CSimTimer::NewL(iPhone);
   113 	iRadioModeTimer=CSimTimer::NewL(iPhone);
   119 	iRadioModeTimer=CSimTimer::NewL(iPhone);
   114 	iCellInfoTimer=CSimTimer::NewL(iPhone);
   120 	iCellInfoTimer=CSimTimer::NewL(iPhone);
   115 	
   121 	
   136 		TPtrC8 countryCode,networkIdentify,displayTag,longName,shortName;
   142 		TPtrC8 countryCode,networkIdentify,displayTag,longName,shortName;
   137 		TInt status;
   143 		TInt status;
   138 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,countryCode);
   144 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,countryCode);
   139 		if(ret!=KErrNone)
   145 		if(ret!=KErrNone)
   140 			{
   146 			{
   141 			LOGPARSERR("countryCode",ret,0,&KNetworkInfo);
   147 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_2, "WARNING - CONFIGURATION FILE PARSING - Reading element COUNTRYCODE returned %d (element no. %d) from tag %s.",ret,0,KNetworkInfo);
   142 			continue;
   148 			continue;
   143 			}
   149 			}
   144 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,networkIdentify);
   150 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,networkIdentify);
   145 		if(ret!=KErrNone)
   151 		if(ret!=KErrNone)
   146 			{
   152 			{
   147 			LOGPARSERR("networkIdentify",ret,1,&KNetworkInfo);
   153 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_3, "WARNING - CONFIGURATION FILE PARSING - Reading element NETWORKIDENTIFY returned %d (element no. %d) from tag %S.",ret,1,KNetworkInfo);
   148 			continue;
   154 			continue;
   149 			}
   155 			}
   150 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,displayTag);
   156 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,displayTag);
   151 		if(ret!=KErrNone)
   157 		if(ret!=KErrNone)
   152 			{
   158 			{
   153 			LOGPARSERR("displayTag",ret,2,&KNetworkInfo);
   159 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_4, "WARNING - CONFIGURATION FILE PARSING - Reading element DISPLAYTAG returned %d (element no. %d) from tag %s.",ret,2,KNetworkInfo);
   154 			continue;
   160 			continue;
   155 			}
   161 			}
   156 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,shortName);
   162 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,shortName);
   157 		if(ret!=KErrNone)
   163 		if(ret!=KErrNone)
   158 			{
   164 			{
   159 			LOGPARSERR("shortName",ret,3,&KNetworkInfo);
   165 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_5, "WARNING - CONFIGURATION FILE PARSING - Reading element SHORTNAME returned %d (element no. %d) from tag %s.",ret,3,KNetworkInfo);
   160 			continue;
   166 			continue;
   161 			}
   167 			}
   162 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,4,longName);
   168 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,4,longName);
   163 		if(ret!=KErrNone)
   169 		if(ret!=KErrNone)
   164 			{
   170 			{
   165 			LOGPARSERR("longName",ret,4,&KNetworkInfo);
   171 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_6, "WARNING - CONFIGURATION FILE PARSING - Reading element LONGNAME returned %d (element no. %d) from tag %s.",ret,4,KNetworkInfo);
   166 			continue;
   172 			continue;
   167 			}
   173 			}
   168 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,5,status);
   174 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,5,status);
   169 		if(ret!=KErrNone)
   175 		if(ret!=KErrNone)
   170 			{
   176 			{
   171 			LOGPARSERR("status",ret,5,&KNetworkInfo);
   177 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_7, "WARNING - CONFIGURATION FILE PARSING - Reading element STATUS returned %d (element no. %d) from tag %s.",ret,5,KNetworkInfo);
   172 			continue;
   178 			continue;
   173 			}
   179 			}
   174 		RMobilePhone::TMobilePhoneNetworkInfoV2 networkInfo;
   180 		RMobilePhone::TMobilePhoneNetworkInfoV2 networkInfo;
   175 		RMobilePhone::TMobilePhoneNetworkInfoV8 networkInfoV8;
   181 		RMobilePhone::TMobilePhoneNetworkInfoV8 networkInfoV8;
   176 
   182 
   231 
   237 
   232 		TInt duration,regStat,networkIndex;
   238 		TInt duration,regStat,networkIndex;
   233 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   239 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   234 		if(ret!=KErrNone)
   240 		if(ret!=KErrNone)
   235 			{
   241 			{
   236 			LOGPARSERR("duration",ret,0,&KRegStatus);
   242 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_8, "WARNING - CONFIGURATION FILE PARSING - Reading element DURATION returned %d (element no. %d) from tag %s.",ret,0,KRegStatus);
   237 			continue;
   243 			continue;
   238 			}
   244 			}
   239 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,regStat);
   245 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,regStat);
   240 		if(ret!=KErrNone)
   246 		if(ret!=KErrNone)
   241 			{
   247 			{
   242 			LOGPARSERR("regStat",ret,1,&KRegStatus);
   248 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_9, "WARNING - CONFIGURATION FILE PARSING - Reading element REGSTAT returned %d (element no. %d) from tag %s.",ret,1,KRegStatus);
   243 			continue;
   249 			continue;
   244 			}
   250 			}
   245 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,networkIndex);
   251 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,networkIndex);
   246 		if(ret!=KErrNone)
   252 		if(ret!=KErrNone)
   247 			networkIndex=KErrNotFound;		// Network Index is optional.
   253 			networkIndex=KErrNotFound;		// Network Index is optional.
   264 			TInt duration,radioStatus;
   270 			TInt duration,radioStatus;
   265 			
   271 			
   266 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   272 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   267 			if(ret!=KErrNone)
   273 			if(ret!=KErrNone)
   268 				{
   274 				{
   269 				LOGPARSERR("duration",ret,0,&KRadioMode);
   275 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_10, "WARNING - CONFIGURATION FILE PARSING - Reading element DURATION returned %d (element no. %d) from tag %s.",ret,0,KRadioMode);
   270 				continue;
   276 				continue;
   271 				}
   277 				}
   272 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,radioStatus);
   278 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,radioStatus);
   273 			if(ret!=KErrNone)
   279 			if(ret!=KErrNone)
   274 				{
   280 				{
   275 				LOGPARSERR("radioStatus",ret,1,&KRadioMode);
   281 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_11, "WARNING - CONFIGURATION FILE PARSING - Reading element RADIOSTATUS returned %d (element no. %d) from tag %s.",ret,1,KRadioMode);
   276 				continue;
   282 				continue;
   277 				}
   283 				}
   278 			
   284 			
   279 
   285 
   280 			TRadioMode radioMode;
   286 			TRadioMode radioMode;
   294 
   300 
   295 		TInt duration,year,month,day,hour,min,sec,microsec,tz,dst;
   301 		TInt duration,year,month,day,hour,min,sec,microsec,tz,dst;
   296 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   302 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   297 		if(ret!=KErrNone)
   303 		if(ret!=KErrNone)
   298 			{
   304 			{
   299 			LOGPARSERR("duration",ret,0,&KNitzInfo);
   305 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_12, "WARNING - CONFIGURATION FILE PARSING - Reading element DURATION returned %d (element no. %d) from tag %s.",ret,0,KNitzInfo);
   300 			continue;
   306 			continue;
   301 			}
   307 			}
   302 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,year);
   308 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,year);
   303 		if(ret!=KErrNone)
   309 		if(ret!=KErrNone)
   304 			{
   310 			{
   305 			LOGPARSERR("year",ret,1,&KNitzInfo);
   311 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_13, "WARNING - CONFIGURATION FILE PARSING - Reading element YEAR returned %d (element no. %d) from tag %s.",ret,1,KNitzInfo);
   306 			continue;
   312 			continue;
   307 			}
   313 			}
   308 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,month);
   314 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,month);
   309 		if(ret!=KErrNone)
   315 		if(ret!=KErrNone)
   310 			{
   316 			{
   311 			LOGPARSERR("month",ret,2,&KNitzInfo);
   317 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_14, "WARNING - CONFIGURATION FILE PARSING - Reading element MONTH returned %d (element no. %d) from tag %s.",ret,2,KNitzInfo);
   312 			continue;
   318 			continue;
   313 			}
   319 			}
   314 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,day);
   320 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,day);
   315 		if(ret!=KErrNone)
   321 		if(ret!=KErrNone)
   316 			{
   322 			{
   317 			LOGPARSERR("day",ret,3,&KNitzInfo);
   323 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_15, "WARNING - CONFIGURATION FILE PARSING - Reading element DAY returned %d (element no. %d) from tag %s.",ret,3,KNitzInfo);
   318 			continue;
   324 			continue;
   319 			}
   325 			}
   320 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,4,hour);
   326 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,4,hour);
   321 		if(ret!=KErrNone)
   327 		if(ret!=KErrNone)
   322 			{
   328 			{
   323 			LOGPARSERR("hour",ret,4,&KNitzInfo);
   329 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_16, "WARNING - CONFIGURATION FILE PARSING - Reading element HOUR returned %d (element no. %d) from tag %s.",ret,4,KNitzInfo);
   324 			continue;
   330 			continue;
   325 			}
   331 			}
   326 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,5,min);
   332 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,5,min);
   327 		if(ret!=KErrNone)
   333 		if(ret!=KErrNone)
   328 			{
   334 			{
   329 			LOGPARSERR("min",ret,5,&KNitzInfo);
   335 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_17, "WARNING - CONFIGURATION FILE PARSING - Reading element MIN returned %d (element no. %d) from tag %s.",ret,5,KNitzInfo);
   330 			continue;
   336 			continue;
   331 			}
   337 			}
   332 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,6,sec);
   338 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,6,sec);
   333 		if(ret!=KErrNone)
   339 		if(ret!=KErrNone)
   334 			{
   340 			{
   335 			LOGPARSERR("sec",ret,6,&KNitzInfo);
   341 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_18, "WARNING - CONFIGURATION FILE PARSING - Reading element SEC returned %d (element no. %d) from tag %s.",ret,6,KNitzInfo);
   336 			continue;
   342 			continue;
   337 			}
   343 			}
   338 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,7,microsec);
   344 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,7,microsec);
   339 		if(ret!=KErrNone)
   345 		if(ret!=KErrNone)
   340 			{
   346 			{
   341 			LOGPARSERR("microsec",ret,7,&KNitzInfo);
   347 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_19, "WARNING - CONFIGURATION FILE PARSING - Reading element MICROSEC returned %d (element no. %d) from tag %s.",ret,7,KNitzInfo);
   342 			continue;
   348 			continue;
   343 			}
   349 			}
   344 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,8,tz);
   350 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,8,tz);
   345 		if(ret!=KErrNone)
   351 		if(ret!=KErrNone)
   346 			{
   352 			{
   347 			LOGPARSERR("tz",ret,8,&KNitzInfo);
   353 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_20, "WARNING - CONFIGURATION FILE PARSING - Reading element TZ returned %d (element no. %d) from tag %s.",ret,8,KNitzInfo);
   348 			continue;
   354 			continue;
   349 			}
   355 			}
   350 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,9,dst);
   356 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,9,dst);
   351 		if(ret!=KErrNone)
   357 		if(ret!=KErrNone)
   352 			{
   358 			{
   353 			LOGPARSERR("dst",ret,9,&KNitzInfo);
   359 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_21, "WARNING - CONFIGURATION FILE PARSING - Reading element DST returned %d (element no. %d) from tag %s.",ret,9,KNitzInfo);
   354 			continue;
   360 			continue;
   355 			}
   361 			}
   356 
   362 
   357 		RMobilePhone::TMobilePhoneNITZ nitzInfo(year,(TMonth)month,day,hour,min,sec,microsec);
   363 		RMobilePhone::TMobilePhoneNITZ nitzInfo(year,(TMonth)month,day,hour,min,sec,microsec);
   358 		nitzInfo.iTimeZone=tz;
   364 		nitzInfo.iTimeZone=tz;
   378 
   384 
   379 			TInt duration,mode,cellId,timingAdvance,cellInfoStatus;
   385 			TInt duration,mode,cellId,timingAdvance,cellInfoStatus;
   380 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   386 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,duration);
   381 			if(ret!=KErrNone)
   387 			if(ret!=KErrNone)
   382 				{
   388 				{
   383 				LOGPARSERR("duration",ret,0,&KCellInfo);
   389 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_22, "WARNING - CONFIGURATION FILE PARSING - Reading element DURATION returned %d (element no. %d) from tag %s.",ret,0,KCellInfo);
   384 				continue;
   390 				continue;
   385 				}
   391 				}
   386 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,mode);
   392 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,mode);
   387 			if(ret!=KErrNone)
   393 			if(ret!=KErrNone)
   388 				{
   394 				{
   389 				LOGPARSERR("mode",ret,1,&KCellInfo);
   395 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_23, "WARNING - CONFIGURATION FILE PARSING - Reading element MODE returned %d (element no. %d) from tag %s.",ret,1,KCellInfo);
   390 				continue;
   396 				continue;
   391 				}
   397 				}
   392 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,cellId);
   398 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,cellId);
   393 			if(ret!=KErrNone)
   399 			if(ret!=KErrNone)
   394 				{
   400 				{
   395 				LOGPARSERR("cellId",ret,2,&KCellInfo);
   401 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_24, "WARNING - CONFIGURATION FILE PARSING - Reading element CELLID returned %d (element no. %d) from tag %s.",ret,2,KCellInfo);
   396 				continue;
   402 				continue;
   397 				}
   403 				}
   398 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,timingAdvance);
   404 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,3,timingAdvance);
   399 			if(ret!=KErrNone)
   405 			if(ret!=KErrNone)
   400 				{
   406 				{
   401 				LOGPARSERR("timingAdvance",ret,3,&KCellInfo);
   407 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_25, "WARNING - CONFIGURATION FILE PARSING - Reading element TIMINGADVANCE returned %d (element no. %d) from tag %s.",ret,3,KCellInfo);
   402 				continue;
   408 				continue;
   403 				}
   409 				}
   404 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,4,cellInfoStatus);
   410 			ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,4,cellInfoStatus);
   405 			if(ret!=KErrNone)
   411 			if(ret!=KErrNone)
   406 				{
   412 				{
   407 				LOGPARSERR("cellInfoStatus",ret,3,&KCellInfo);
   413 				OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_26, "WARNING - CONFIGURATION FILE PARSING - Reading element CELLINFOSTATUS returned %d (element no. %d) from tag %s.",ret,3,KCellInfo);
   408 				continue;
   414 				continue;
   409 				}
   415 				}
   410 			
   416 			
   411 			TCellInfoAndDuration cellInfoAndDuration;
   417 			TCellInfoAndDuration cellInfoAndDuration;
   412 			cellInfoAndDuration.iInfo.iMode = static_cast<RMobilePhone::TCellMode>(mode);
   418 			cellInfoAndDuration.iInfo.iMode = static_cast<RMobilePhone::TCellMode>(mode);
   449 				locationArea.iAreaKnown = areaKnown;
   455 				locationArea.iAreaKnown = areaKnown;
   450 				locationArea.iLocationAreaCode = locationAreaCode;
   456 				locationArea.iLocationAreaCode = locationAreaCode;
   451 				locationArea.iCellId= cellId;
   457 				locationArea.iCellId= cellId;
   452 				iLocationArea->AppendL(locationArea);
   458 				iLocationArea->AppendL(locationArea);
   453 				}
   459 				}
   454 	LOGNETWORK1("...Finished parsing Network Status config parameters...");
   460 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_27, "...Finished parsing Network Status config parameters...");
   455 
   461 
   456 // If present load the first registration status settings and start the registration
   462 // If present load the first registration status settings and start the registration
   457 // status timer.
   463 // status timer.
   458 	if(iRegStatusInfo->Count()!=0)
   464 	if(iRegStatusInfo->Count()!=0)
   459 		{
   465 		{
   460 		iRegStatIndex=0;
   466 		iRegStatIndex=0;
   461 		iCurrentRegStatus=iRegStatusInfo->At(0).iRegStatus;
   467 		iCurrentRegStatus=iRegStatusInfo->At(0).iRegStatus;
   462 		iCurrentNetworkIndex=iRegStatusInfo->At(0).iNetworkInfoIndex;
   468 		iCurrentNetworkIndex=iRegStatusInfo->At(0).iNetworkInfoIndex;
   463 		LOGNETWORK2("Starting ETimerIdNtwkStatRegStat for duration:%d", iRegStatusInfo->At(0).iDuration);
   469 		OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_28, "Starting ETimerIdNtwkStatRegStat for duration:%d", iRegStatusInfo->At(0).iDuration);
   464 		iRegStatTimer->Start(iRegStatusInfo->At(0).iDuration,this,ETimerIdNtwkStatRegStat);
   470 		iRegStatTimer->Start(iRegStatusInfo->At(0).iDuration,this,ETimerIdNtwkStatRegStat);
   465 		}
   471 		}
   466 
   472 
   467 // If present load the first NITZ settings and start the NITZ timer.
   473 // If present load the first NITZ settings and start the NITZ timer.
   468 	if(iNitzInfo->Count()!=0)
   474 	if(iNitzInfo->Count()!=0)
   485 		iRadioModeIndex=0;
   491 		iRadioModeIndex=0;
   486 		iRadioMode.iRadioOn=iRadioModeInfo->At(0).iRadioOn;
   492 		iRadioMode.iRadioOn=iRadioModeInfo->At(0).iRadioOn;
   487 		if(iRadioMode.iRadioOn==EFalse)
   493 		if(iRadioMode.iRadioOn==EFalse)
   488 			{
   494 			{
   489 			RProperty::Set(KUidSystemCategory, KUidPhonePwrValue, ESAPhoneOff);
   495 			RProperty::Set(KUidSystemCategory, KUidPhonePwrValue, ESAPhoneOff);
   490 			LOGNETWORK1("Radio Mode = OFF (from config)");
   496 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_29, "Radio Mode = OFF (from config)");
   491 			}
   497 			}
   492 		else
   498 		else
   493 			{
   499 			{
   494 			RProperty::Set(KUidSystemCategory, KUidPhonePwrValue, ESAPhoneOn);			
   500 			RProperty::Set(KUidSystemCategory, KUidPhonePwrValue, ESAPhoneOn);			
   495 				LOGNETWORK1("Radio Mode = ON (from config)");
   501 				OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_30, "Radio Mode = ON (from config)");
   496 			}
   502 			}
   497 		LOGNETWORK2("Radio Mode duration = %d (from config)", iRadioModeInfo->At(0).iDuration);
   503 		OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_31, "Radio Mode duration = %d (from config)", iRadioModeInfo->At(0).iDuration);
   498 
   504 
   499  		iRadioModeTimer->Start(iRadioModeInfo->At(0).iDuration,this,ETimerIdNtwkStatRadioMode);
   505  		iRadioModeTimer->Start(iRadioModeInfo->At(0).iDuration,this,ETimerIdNtwkStatRadioMode);
   500 		}
   506 		}
   501 	else
   507 	else
   502 		{
   508 		{
   503 		//default to on
   509 		//default to on
   504 		RProperty::Set(KUidSystemCategory, KUidPhonePwrValue, ESAPhoneOn);
   510 		RProperty::Set(KUidSystemCategory, KUidPhonePwrValue, ESAPhoneOn);
   505 		LOGNETWORK1("Radio Mode = ON (no config)");
   511 		OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_32, "Radio Mode = ON (no config)");
   506 		}
   512 		}
   507 
   513 
   508 //If present read in Service Provider settings
   514 //If present read in Service Provider settings
   509 	TPtrC8 spname, plmnfield;
   515 	TPtrC8 spname, plmnfield;
   510 	TInt displayreq;
   516 	TInt displayreq;
   512 	if (item)
   518 	if (item)
   513 		{
   519 		{
   514 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,displayreq);
   520 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,displayreq);
   515 		if(ret!=KErrNone)
   521 		if(ret!=KErrNone)
   516 			{
   522 			{
   517 			LOGPARSERR("displayreq",ret,0,&KServiceProviderName);
   523 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_33, "WARNING - CONFIGURATION FILE PARSING - Reading element DISPLAYREQ returned %d (element no. %d) from tag %s.",ret,0,KServiceProviderName);
   518 			}
   524 			}
   519 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,spname);
   525 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,1,spname);
   520 		if(ret!=KErrNone)
   526 		if(ret!=KErrNone)
   521 			{
   527 			{
   522 			LOGPARSERR("spname",ret,1,&KServiceProviderName);
   528 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_34, "WARNING - CONFIGURATION FILE PARSING - Reading element SPNAME returned %d (element no. %d) from tag %s.",ret,1,KServiceProviderName);
   523 			}
   529 			}
   524 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,plmnfield);
   530 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,2,plmnfield);
   525 		if(ret!=KErrNone)
   531 		if(ret!=KErrNone)
   526 			{
   532 			{
   527 			LOGPARSERR("plmnfield",ret,2,&KServiceProviderName);
   533 			OstTraceDefExt3(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_CONSTRUCTL_35, "WARNING - CONFIGURATION FILE PARSING - Reading element PLMNFIELD returned %d (element no. %d) from tag %s.",ret,2,KServiceProviderName);
   528 			}
   534 			}
   529 		iServiceProvider.iDisplayReq = static_cast<RMobilePhone::TDisplayRequirements>(displayreq);
   535 		iServiceProvider.iDisplayReq = static_cast<RMobilePhone::TDisplayRequirements>(displayreq);
   530 		
   536 		
   531 		TInt maxLength = iServiceProvider.iSPName.MaxLength();
   537 		TInt maxLength = iServiceProvider.iSPName.MaxLength();
   532 		if (spname.Length() > maxLength)
   538 		if (spname.Length() > maxLength)
   575 	if (item)
   581 	if (item)
   576 		{
   582 		{
   577 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,getTimer);
   583 		ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,getTimer);
   578 		if(ret!=KErrNone)
   584 		if(ret!=KErrNone)
   579 			{
   585 			{
   580 			LOGNETWORK1("WARNING: CSimNetworkStatus::FindRoamStatSettings found ERROR with Config");
   586 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_FINDROAMSTATSETTINGS_1, "WARNING: CSimNetworkStatus::FindRoamStatSettings found ERROR with Config");
   581 			}
   587 			}
   582 		iRoamStatGetTimeout = getTimer;
   588 		iRoamStatGetTimeout = getTimer;
   583 		}
   589 		}
   584 	}
   590 	}
   585 
   591 
  1435 		break;
  1441 		break;
  1436 	case ETimerIdCellInfo:
  1442 	case ETimerIdCellInfo:
  1437 		TimerCallBackCellInfo();
  1443 		TimerCallBackCellInfo();
  1438 		break;
  1444 		break;
  1439 	default:
  1445 	default:
  1440 		LOGNETWORK3("CSimNetworkStatus::TimerCallBack(%d), OOR [%d]",aId, ETimerIdNtwkStatRegStat);
  1446 		OstTraceDefExt2(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACK_1, "CSimNetworkStatus::TimerCallBack(%d), OOR [%d]",aId, ETimerIdNtwkStatRegStat);
  1441 		SimPanic(EIllegalCallBackId);
  1447 		SimPanic(EIllegalCallBackId);
  1442 		break;
  1448 		break;
  1443 		}
  1449 		}
  1444 	}
  1450 	}
  1445 
  1451 
  1485 				}
  1491 				}
  1486 			iCurrentNetworkChangeLocationAreaNotificationPending=EFalse;
  1492 			iCurrentNetworkChangeLocationAreaNotificationPending=EFalse;
  1487 			}
  1493 			}
  1488 		if(iCurrNetChangeV1NotificationPending)
  1494 		if(iCurrNetChangeV1NotificationPending)
  1489 			{
  1495 			{
  1490 			LOGNETWORK1("CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV1");
  1496 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKREGSTAT_1, "CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV1");
  1491 			iCurrNetChangeV1NotificationPending = EFalse;
  1497 			iCurrNetChangeV1NotificationPending = EFalse;
  1492 			RMobilePhone::TMobilePhoneNetworkInfoV1* changeNetInfoV1 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV1*>(iCurrNetChangeV1NotificationNetInfo);
  1498 			RMobilePhone::TMobilePhoneNetworkInfoV1* changeNetInfoV1 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV1*>(iCurrNetChangeV1NotificationNetInfo);
  1493 
  1499 
  1494 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV1);
  1500 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV1);
  1495 			iPhone->ReqCompleted(iCurrNetChangeV1NotificationReqHandle,KErrNone);
  1501 			iPhone->ReqCompleted(iCurrNetChangeV1NotificationReqHandle,KErrNone);
  1496 			}
  1502 			}
  1497 			
  1503 			
  1498 		if(iCurrNetChangeV2NotificationPending)
  1504 		if(iCurrNetChangeV2NotificationPending)
  1499 			{
  1505 			{
  1500 			LOGNETWORK1("CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV2");
  1506 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKREGSTAT_2, "CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV2");
  1501 			iCurrNetChangeV2NotificationPending = EFalse;
  1507 			iCurrNetChangeV2NotificationPending = EFalse;
  1502 			RMobilePhone::TMobilePhoneNetworkInfoV2* changeNetInfoV2 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV2*>(iCurrNetChangeV2NotificationNetInfo);
  1508 			RMobilePhone::TMobilePhoneNetworkInfoV2* changeNetInfoV2 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV2*>(iCurrNetChangeV2NotificationNetInfo);
  1503 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV2);
  1509 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV2);
  1504 			//also set v2 paramaters
  1510 			//also set v2 paramaters
  1505 			changeNetInfoV2->iAccess = iNetworkInfo->At(iCurrentNetworkIndex).iAccess;
  1511 			changeNetInfoV2->iAccess = iNetworkInfo->At(iCurrentNetworkIndex).iAccess;
  1506 			iPhone->ReqCompleted(iCurrNetChangeV2NotificationReqHandle,KErrNone);
  1512 			iPhone->ReqCompleted(iCurrNetChangeV2NotificationReqHandle,KErrNone);
  1507 			}
  1513 			}
  1508 		
  1514 		
  1509 		if(iCurrNetChangeV5NotificationPending)
  1515 		if(iCurrNetChangeV5NotificationPending)
  1510 			{
  1516 			{
  1511 			LOGNETWORK1("CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV5");
  1517 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKREGSTAT_3, "CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV5");
  1512 			iCurrNetChangeV5NotificationPending = EFalse;
  1518 			iCurrNetChangeV5NotificationPending = EFalse;
  1513 			RMobilePhone::TMobilePhoneNetworkInfoV5* changeNetInfoV5 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV5*>(iCurrNetChangeV5NotificationNetInfo);
  1519 			RMobilePhone::TMobilePhoneNetworkInfoV5* changeNetInfoV5 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV5*>(iCurrNetChangeV5NotificationNetInfo);
  1514 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV5);
  1520 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV5);
  1515 			//also set v5 paramaters
  1521 			//also set v5 paramaters
  1516 			changeNetInfoV5->iAccess = iNetworkInfoV8->At(0).iAccess;
  1522 			changeNetInfoV5->iAccess = iNetworkInfoV8->At(0).iAccess;
  1519 			iPhone->ReqCompleted(iCurrNetChangeV5NotificationReqHandle,KErrNone);
  1525 			iPhone->ReqCompleted(iCurrNetChangeV5NotificationReqHandle,KErrNone);
  1520 			}
  1526 			}
  1521 			
  1527 			
  1522 		if(iCurrNetChangeV8NotificationPending)
  1528 		if(iCurrNetChangeV8NotificationPending)
  1523 			{
  1529 			{
  1524 			LOGNETWORK1("CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV8");
  1530 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKREGSTAT_4, "CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV8");
  1525 			iCurrNetChangeV8NotificationPending = EFalse;
  1531 			iCurrNetChangeV8NotificationPending = EFalse;
  1526 			RMobilePhone::TMobilePhoneNetworkInfoV8* changeNetInfoV8 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV8*>(iCurrNetChangeV8NotificationNetInfo);
  1532 			RMobilePhone::TMobilePhoneNetworkInfoV8* changeNetInfoV8 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV8*>(iCurrNetChangeV8NotificationNetInfo);
  1527 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV8);
  1533 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV8);
  1528 			//also set v5 paramaters
  1534 			//also set v5 paramaters
  1529 			changeNetInfoV8->iAccess = iNetworkInfo->At(iCurrentNetworkIndex).iAccess;
  1535 			changeNetInfoV8->iAccess = iNetworkInfo->At(iCurrentNetworkIndex).iAccess;
  1533 			iPhone->ReqCompleted(iCurrNetChangeV8NotificationReqHandle,KErrNone);
  1539 			iPhone->ReqCompleted(iCurrNetChangeV8NotificationReqHandle,KErrNone);
  1534 			}
  1540 			}
  1535 					
  1541 					
  1536 		if(iCurrNetChangeEtelIsvNotificationPending)
  1542 		if(iCurrNetChangeEtelIsvNotificationPending)
  1537 			{
  1543 			{
  1538 			LOGNETWORK1("CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TEtel3rdPartyMobileNetworkInfoV1");
  1544 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKREGSTAT_5, "CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TEtel3rdPartyMobileNetworkInfoV1");
  1539 			iCurrNetChangeEtelIsvNotificationPending = EFalse;
  1545 			iCurrNetChangeEtelIsvNotificationPending = EFalse;
  1540 			RMobilePhone::TEtel3rdPartyMobileNetworkInfoV1* changeNetInfoEtelIsv = reinterpret_cast<RMobilePhone::TEtel3rdPartyMobileNetworkInfoV1*>(iCurrNetChangeEtelIsvNotificationNetInfo);
  1546 			RMobilePhone::TEtel3rdPartyMobileNetworkInfoV1* changeNetInfoEtelIsv = reinterpret_cast<RMobilePhone::TEtel3rdPartyMobileNetworkInfoV1*>(iCurrNetChangeEtelIsvNotificationNetInfo);
  1541 
  1547 
  1542 			PopulateEtel3rdPartyNetworkInfoV1(iCurrentNetworkIndex, *changeNetInfoEtelIsv);
  1548 			PopulateEtel3rdPartyNetworkInfoV1(iCurrentNetworkIndex, *changeNetInfoEtelIsv);
  1543 			iPhone->ReqCompleted(iCurrNetChangeEtelIsvNotificationReqHandle,KErrNone);
  1549 			iPhone->ReqCompleted(iCurrNetChangeEtelIsvNotificationReqHandle,KErrNone);
  1544 			}
  1550 			}
  1545 		if(iCurrNetChangeNoLocV1NotificationPending)
  1551 		if(iCurrNetChangeNoLocV1NotificationPending)
  1546 			{
  1552 			{
  1547 			LOGNETWORK1("CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV1 (No Location)");
  1553 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKREGSTAT_6, "CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV1 (No Location)");
  1548 			iCurrNetChangeNoLocV1NotificationPending = EFalse;
  1554 			iCurrNetChangeNoLocV1NotificationPending = EFalse;
  1549 			RMobilePhone::TMobilePhoneNetworkInfoV1* changeNetInfoV1 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV1*>(iCurrNetChangeNoLocV1NotificationNetInfo);
  1555 			RMobilePhone::TMobilePhoneNetworkInfoV1* changeNetInfoV1 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV1*>(iCurrNetChangeNoLocV1NotificationNetInfo);
  1550 
  1556 
  1551 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV1);
  1557 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV1);
  1552 			iPhone->ReqCompleted(iCurrNetChangeNoLocV1NotificationReqHandle,KErrNone);
  1558 			iPhone->ReqCompleted(iCurrNetChangeNoLocV1NotificationReqHandle,KErrNone);
  1553 			}
  1559 			}
  1554 			
  1560 			
  1555 		if(iCurrNetChangeNoLocV2NotificationPending)
  1561 		if(iCurrNetChangeNoLocV2NotificationPending)
  1556 			{
  1562 			{
  1557 			LOGNETWORK1("CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV2 (No Location)");
  1563 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKREGSTAT_7, "CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV2 (No Location)");
  1558 			iCurrNetChangeNoLocV2NotificationPending = EFalse;
  1564 			iCurrNetChangeNoLocV2NotificationPending = EFalse;
  1559 			RMobilePhone::TMobilePhoneNetworkInfoV2* changeNetInfoV2 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV2*>(iCurrNetChangeNoLocV2NotificationNetInfo);
  1565 			RMobilePhone::TMobilePhoneNetworkInfoV2* changeNetInfoV2 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV2*>(iCurrNetChangeNoLocV2NotificationNetInfo);
  1560 
  1566 
  1561 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV2);
  1567 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV2);
  1562 			//also set v2 paramaters
  1568 			//also set v2 paramaters
  1564 			iPhone->ReqCompleted(iCurrNetChangeNoLocV2NotificationReqHandle,KErrNone);
  1570 			iPhone->ReqCompleted(iCurrNetChangeNoLocV2NotificationReqHandle,KErrNone);
  1565 			}
  1571 			}
  1566 			
  1572 			
  1567 		if(iCurrNetChangeNoLocV5NotificationPending)
  1573 		if(iCurrNetChangeNoLocV5NotificationPending)
  1568 			{
  1574 			{
  1569 			LOGNETWORK1("CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV5 (No Location)");
  1575 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKREGSTAT_8, "CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV5 (No Location)");
  1570 			iCurrNetChangeNoLocV5NotificationPending = EFalse;
  1576 			iCurrNetChangeNoLocV5NotificationPending = EFalse;
  1571 			RMobilePhone::TMobilePhoneNetworkInfoV5* changeNetInfoV5 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV5*>(iCurrNetChangeNoLocV5NotificationNetInfo);
  1577 			RMobilePhone::TMobilePhoneNetworkInfoV5* changeNetInfoV5 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV5*>(iCurrNetChangeNoLocV5NotificationNetInfo);
  1572 
  1578 
  1573 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV5);
  1579 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV5);
  1574 			//also set v5 paramaters
  1580 			//also set v5 paramaters
  1578 			iPhone->ReqCompleted(iCurrNetChangeNoLocV5NotificationReqHandle,KErrNone);
  1584 			iPhone->ReqCompleted(iCurrNetChangeNoLocV5NotificationReqHandle,KErrNone);
  1579 			}
  1585 			}
  1580 			
  1586 			
  1581 		if(iCurrNetChangeNoLocV8NotificationPending)
  1587 		if(iCurrNetChangeNoLocV8NotificationPending)
  1582 			{
  1588 			{
  1583 			LOGNETWORK1("CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV8 (No Location)");
  1589 			OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKREGSTAT_9, "CSimNetworkStatus::TimerCallBackRegStat() - completing NotifyCurrentNetworkChange TMobilePhoneNetworkInfoV8 (No Location)");
  1584 			iCurrNetChangeNoLocV8NotificationPending = EFalse;
  1590 			iCurrNetChangeNoLocV8NotificationPending = EFalse;
  1585 			RMobilePhone::TMobilePhoneNetworkInfoV8* changeNetInfoV8 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV8*>(iCurrNetChangeNoLocV8NotificationNetInfo);
  1591 			RMobilePhone::TMobilePhoneNetworkInfoV8* changeNetInfoV8 = reinterpret_cast<RMobilePhone::TMobilePhoneNetworkInfoV8*>(iCurrNetChangeNoLocV8NotificationNetInfo);
  1586 
  1592 
  1587 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV8);
  1593 			PopulateNetworkInfoV1(iCurrentNetworkIndex,*changeNetInfoV8);
  1588 			//also set v8 paramaters
  1594 			//also set v8 paramaters
  1627 /**
  1633 /**
  1628  * The RadioMode timer callback function.  This function will be called when the RadioMode timer
  1634  * The RadioMode timer callback function.  This function will be called when the RadioMode timer
  1629  * completes.  
  1635  * completes.  
  1630  */
  1636  */
  1631 	{
  1637 	{
  1632 	LOGNETWORK1("CSimNetworkStatus::TimerCallBackRadioModeL");
  1638 	OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKRADIOMODEL_1, "CSimNetworkStatus::TimerCallBackRadioModeL");
  1633 	iRadioModeIndex++;
  1639 	iRadioModeIndex++;
  1634 	if(iRadioModeInfo->Count()<=iRadioModeIndex)
  1640 	if(iRadioModeInfo->Count()<=iRadioModeIndex)
  1635 		{
  1641 		{
  1636 		LOGNETWORK1("CSimNetworkStatus::TimerCallBackRadioModeL returning, no more config");
  1642 		OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKRADIOMODEL_2, "CSimNetworkStatus::TimerCallBackRadioModeL returning, no more config");
  1637 		return;
  1643 		return;
  1638 		}
  1644 		}
  1639 
  1645 
  1640 	iRadioMode=iRadioModeInfo->At(iRadioModeIndex);
  1646 	iRadioMode=iRadioModeInfo->At(iRadioModeIndex);
  1641 	if(iRadioMode.iRadioOn==EFalse)
  1647 	if(iRadioMode.iRadioOn==EFalse)
  1642 		{
  1648 		{
  1643 		RProperty::Set(KUidSystemCategory, KUidPhonePwrValue, ESAPhoneOff);
  1649 		RProperty::Set(KUidSystemCategory, KUidPhonePwrValue, ESAPhoneOff);
  1644 		LOGNETWORK1("Radio Mode = OFF (config duration passed)");
  1650 		OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKRADIOMODEL_3, "Radio Mode = OFF (config duration passed)");
  1645 		}
  1651 		}
  1646 	else
  1652 	else
  1647 		{
  1653 		{
  1648 		RProperty::Set(KUidSystemCategory, KUidPhonePwrValue, ESAPhoneOn);
  1654 		RProperty::Set(KUidSystemCategory, KUidPhonePwrValue, ESAPhoneOn);
  1649 		LOGNETWORK1("Radio Mode = ON (config duration passed)");
  1655 		OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKRADIOMODEL_4, "Radio Mode = ON (config duration passed)");
  1650 		}
  1656 		}
  1651 
  1657 
  1652 	LOGNETWORK2("Next radio Mode duration = %d (from config)", iRadioModeInfo->At(iRadioModeIndex).iDuration);
  1658 	OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CSIMNETWORKSTATUS_TIMERCALLBACKRADIOMODEL_5, "Next radio Mode duration = %d (from config)", iRadioModeInfo->At(iRadioModeIndex).iDuration);
  1653 	iRadioModeTimer->Start(iRadioModeInfo->At(iRadioModeIndex).iDuration,this,ETimerIdNtwkStatRadioMode);
  1659 	iRadioModeTimer->Start(iRadioModeInfo->At(iRadioModeIndex).iDuration,this,ETimerIdNtwkStatRadioMode);
  1654 	}
  1660 	}
  1655 
  1661 
  1656 void CSimNetworkStatus::PopulateNetworkInfoV1(TInt aIndex,RMobilePhone::TMobilePhoneNetworkInfoV1& aNetInfo)
  1662 void CSimNetworkStatus::PopulateNetworkInfoV1(TInt aIndex,RMobilePhone::TMobilePhoneNetworkInfoV1& aNetInfo)
  1657 /**
  1663 /**