supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasupletel.cpp
branchRCL_3
changeset 45 6b6920c56e2f
parent 44 2b4ea9893b66
child 49 10852b179f64
equal deleted inserted replaced
44:2b4ea9893b66 45:6b6920c56e2f
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:   Implementation of COMASuplEtel Class
    14 * Description:   Implementation of COMASuplEtel Class
    15 *  Version     : %version: 5 % << Don't touch! Updated by Synergy at check-out.
    15 *  Version     : %version: 3 % << Don't touch! Updated by Synergy at check-out.
    16 *
    16 *
    17 */
    17 */
    18 
    18 
    19 
    19 
    20 
    20 
   203 	{
   203 	{
   204          switch (iNetworkInfo.iMode) 
   204          switch (iNetworkInfo.iMode) 
   205             {
   205             {
   206             case RMobilePhone::ENetworkModeGsm:
   206             case RMobilePhone::ENetworkModeGsm:
   207                 {
   207                 {
   208             //coverity[alloc_fn]
       
   209             //coverity[assign]
       
   210                 // For GSM Cell Information
   208                 // For GSM Cell Information
   211                 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
   209                 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
   212             //coverity[push]
   210                 CleanupStack::PushL(locationId);
   213             CleanupStack::PushL(locationId);
   211      			COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
   214             COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
   212      			CleanupStack::PushL(gsmCellInfo);
   215             CleanupStack::PushL(gsmCellInfo);
   213                 COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
   216             COMASuplLocationId::TOMASuplStatus lStatus =
   214                
   217                     COMASuplLocationId::ECurrent;
   215                 TInt    MCC=0;
   218 
   216                 TInt64  MNC=0;
   219             TInt MCC = 0;
   217                 TUint   LAC, CellId;
   220             TInt64 MNC = 0;
   218                 TLex LexMCC(iNetworkInfo.iCountryCode);
   221             TUint LAC, CellId;
   219                 TLex LexMNC(iNetworkInfo.iNetworkId);
   222             TLex LexMCC(iNetworkInfo.iCountryCode);
       
   223             TLex LexMNC(iNetworkInfo.iNetworkId);
       
   224 
   220 
   225                 LexMCC.Val(MCC);
   221                 LexMCC.Val(MCC);
   226                 LexMNC.Val(MNC);
   222                 LexMNC.Val(MNC);
   227                 LAC = iLocationInfo.iLocationAreaCode;
   223                 LAC = iLocationInfo.iLocationAreaCode;
   228                 CellId = iLocationInfo.iCellId;
   224                 CellId = iLocationInfo.iCellId;
   229 
   225                 
   230             gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC, CellId, LAC);
   226                                 
   231             locationId->SetSuplLocationId(gsmCellInfo, lStatus);
   227                 gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC);                
   232             CleanupStack::Pop(gsmCellInfo);
   228                 locationId->SetSuplLocationId(gsmCellInfo,lStatus);
   233             //coverity[pop]
   229                 CleanupStack::Pop(gsmCellInfo);
   234             CleanupStack::Pop(locationId);
   230                 CleanupStack::Pop(locationId); 
   235 
   231                 
   236 #if defined(_DEBUG)  //This is only for logging purpose. 
   232         		#if defined(_DEBUG)  //This is only for logging purpose. 
   237             TBuf<128> msg;
   233 				TBuf<128> msg;
   238 
   234 				
   239             msg.Copy(_L("It is GSM Network. MCC = "));
   235 				msg.Copy(_L("It is GSM Network. MCC = "));					
   240             msg.AppendNum(MCC);
   236 				msg.AppendNum(MCC);
   241 
   237 				
   242             msg.Append(_L(" MNC = "));
   238 				msg.Append(_L(" MNC = "));					
   243             msg.AppendNum(MNC);
   239 				msg.AppendNum(MNC);
   244 
   240 
   245 
   241 
   246 				msg.Append(_L(" CellId = "));					
   242 				msg.Append(_L(" CellId = "));					
   247 				msg.AppendNum(CellId);
   243 				msg.AppendNum(CellId);
   248 				
   244 				
   255         		
   251         		
   256 				if(iCellMode == EOMASuplCellId)
   252 				if(iCellMode == EOMASuplCellId)
   257 				    iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
   253 				    iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
   258 				else if(iCellMode == EOMASuplCompareCellId)
   254 				else if(iCellMode == EOMASuplCompareCellId)
   259 				    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
   255 				    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
   260             //coverity[memory_leak]
       
   261                 break;                             
   256                 break;                             
   262                 }                    
   257                 }                    
   263             case RMobilePhone::ENetworkModeWcdma:
   258             case RMobilePhone::ENetworkModeWcdma:
   264                 {
   259                 {
   265             //coverity[alloc_fn]
       
   266             //coverity[assign]
       
   267                 // For WCDMA  Cell Information
   260                 // For WCDMA  Cell Information
   268                 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
   261                 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
   269             //coverity[push]
   262                 CleanupStack::PushL(locationId);
   270             CleanupStack::PushL(locationId);
   263      			COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL();
   271             
   264      			CleanupStack::PushL(wcdmaCellInfo);
   272             COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL();
   265      			
   273             CleanupStack::PushL(wcdmaCellInfo);
   266                 COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
   274 
   267                 TInt    MCC=0;
   275             COMASuplLocationId::TOMASuplStatus lStatus =
   268                 TInt64  MNC=0;
   276                     COMASuplLocationId::ECurrent;
   269                 TUint   UC;
   277             TInt MCC = 0;
   270                 TLex LexMCC(iNetworkInfo.iCountryCode);
   278             TInt64 MNC = 0;
   271                 TLex LexMNC(iNetworkInfo.iNetworkId);
   279             TUint UC;
       
   280             TLex LexMCC(iNetworkInfo.iCountryCode);
       
   281             TLex LexMNC(iNetworkInfo.iNetworkId);
       
   282 
   272 
   283                 LexMCC.Val(MCC);
   273                 LexMCC.Val(MCC);
   284                 LexMNC.Val(MNC);
   274                 LexMNC.Val(MNC);
   285                 UC = iLocationInfo.iCellId;
   275                 UC = iLocationInfo.iCellId;
   286 
   276 
   287                                 
   277                                 
   288                 wcdmaCellInfo->SetSuplCellInfo(MNC, MCC, UC);                
   278                 wcdmaCellInfo->SetSuplCellInfo(MNC, MCC, UC);                
   289                 locationId->SetSuplLocationId(wcdmaCellInfo,lStatus);
   279                 locationId->SetSuplLocationId(wcdmaCellInfo,lStatus);
   290                 CleanupStack::Pop(wcdmaCellInfo);
   280                 CleanupStack::Pop(wcdmaCellInfo);
   291             //coverity[pop]
       
   292                 CleanupStack::Pop(locationId);
   281                 CleanupStack::Pop(locationId);
   293                 
   282                 
   294            		#if defined(_DEBUG)  //This is only for logging purpose. 
   283            		#if defined(_DEBUG)  //This is only for logging purpose. 
   295 				TBuf<128> msg;
   284 				TBuf<128> msg;
   296 				
   285 				
   298 				msg.AppendNum(MCC);
   287 				msg.AppendNum(MCC);
   299 				
   288 				
   300 				msg.Append(_L(" MNC = "));					
   289 				msg.Append(_L(" MNC = "));					
   301 				msg.AppendNum(MNC);
   290 				msg.AppendNum(MNC);
   302 
   291 
   303             msg.Append(_L(" UC = "));
   292 
   304             msg.AppendNum(UC);
   293 				msg.Append(_L(" UC = "));					
   305 
   294 				msg.AppendNum(UC);
   306             iTrace->Trace(msg, KTraceFileName, __LINE__);
   295 				
   307 #endif
   296 				iTrace->Trace(msg,KTraceFileName, __LINE__); 							
       
   297         		#endif
   308 
   298 
   309 				if(iCellMode == EOMASuplCellId)
   299 				if(iCellMode == EOMASuplCellId)
   310 				    iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
   300 				    iObserver.LocationIDRequestCompletedL(locationId,KErrNone);
   311 				else if(iCellMode == EOMASuplCompareCellId)
   301 				else if(iCellMode == EOMASuplCompareCellId)
   312 				    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
   302 				    iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone);
   313             //coverity[memory_leak]
       
   314                 break;                             
   303                 break;                             
   315                 }                    
   304                 }                    
   316             default:            
   305             default:            
   317             	{
   306             	{
   318             	#if _DEBUG 
   307             	#if _DEBUG 
   319             //coverity[alloc_fn]
       
   320             //coverity[assign]            
       
   321 	            	// For GSM Cell Information
   308 	            	// For GSM Cell Information
   322 	            	COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
   309 	            	COMASuplLocationId* locationId = COMASuplLocationId::NewL(); 
   323             //coverity[push]
   310                 	CleanupStack::PushL(locationId);
   324             CleanupStack::PushL(locationId);
   311      				COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
   325             
   312      				CleanupStack::PushL(gsmCellInfo);
   326             COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL();
   313      				
   327             CleanupStack::PushL(gsmCellInfo);
   314 	                COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
   328 
   315 	                TInt    MCC=0;
   329             COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent;
   316 	                TInt64  MNC=0;
   330             TInt MCC=0;
   317 	                TUint   LAC, CellId;
   331             TInt64 MNC=0;
   318 	                TLex LexMCC(iNetworkInfo.iCountryCode);
   332             TUint LAC, CellId;
   319 	                TLex LexMNC(iNetworkInfo.iNetworkId);
   333             TLex LexMCC(iNetworkInfo.iCountryCode);
       
   334             TLex LexMNC(iNetworkInfo.iNetworkId);
       
   335 
   320 
   336 	                LexMCC.Val(MCC);
   321 	                LexMCC.Val(MCC);
   337 	                LexMNC.Val(MNC);
   322 	                LexMNC.Val(MNC);
   338 	                LAC = iLocationInfo.iLocationAreaCode;
   323 	                LAC = iLocationInfo.iLocationAreaCode;
   339 	                CellId = iLocationInfo.iCellId;
   324 	                CellId = iLocationInfo.iCellId;
   340 	                
   325 	                
   341                 
   326                 
   342 	           		gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC);                
   327 	           		gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC);                
   343 	                locationId->SetSuplLocationId(gsmCellInfo,lStatus);
   328 	                locationId->SetSuplLocationId(gsmCellInfo,lStatus);
   344 	                CleanupStack::Pop(gsmCellInfo);
   329 	                CleanupStack::Pop(gsmCellInfo);
   345             //coverity[pop]
   330                 	CleanupStack::Pop(locationId);  
   346             CleanupStack::Pop(locationId);
       
   347                 	
   331                 	
   348 					#if defined(_DEBUG)  //This is only for logging purpose. 
   332 					#if defined(_DEBUG)  //This is only for logging purpose. 
   349 					TBuf<128> msg;
   333 					TBuf<128> msg;
   350 					msg.Copy(_L("It is GSM Network. MCC = "));					
   334 					msg.Copy(_L("It is GSM Network. MCC = "));					
   351 					msg.AppendNum(MCC);
   335 					msg.AppendNum(MCC);
   371                 	if(iCellMode == EOMASuplCellId)
   355                 	if(iCellMode == EOMASuplCellId)
   372                 	    iObserver.LocationIDRequestCompletedL(NULL,KErrNotSupported); 
   356                 	    iObserver.LocationIDRequestCompletedL(NULL,KErrNotSupported); 
   373                 	else if(iCellMode == EOMASuplCompareCellId)
   357                 	else if(iCellMode == EOMASuplCompareCellId)
   374                 	    iObserver.ComparisionLocationIDRequestCompletedL(NULL,KErrNotSupported);                 	
   358                 	    iObserver.ComparisionLocationIDRequestCompletedL(NULL,KErrNotSupported);                 	
   375                 #endif
   359                 #endif
   376             //coverity[memory_leak]
   360                 break;        	
   377             break;
       
   378             	}                     
   361             	}                     
   379             }
   362             }
   380 		
   363 		
   381 	}
   364 	}
   382 
   365 
   539 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPrimaryCcpchRscp = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPrimaryCcpchRscp;
   522 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPrimaryCcpchRscp = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPrimaryCcpchRscp;
   540 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPathloss = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPathloss;
   523 	 				iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPathloss = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iPathloss;
   541 	 				
   524 	 				
   542 						for(TInt k = 0; k < KOMASUPLMaxTimeSlotIscpAmount; k++ )	 				
   525 						for(TInt k = 0; k < KOMASUPLMaxTimeSlotIscpAmount; k++ )	 				
   543 							{
   526 							{
   544 								iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k] = iCustomWCDMACellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k];
   527 								iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k] = iOMASuplwcdmaCellInfo.iNwkMeasureReport[i].iCellMeasuredResult[j].iTddInfo.iTimeslotISCP[k];
   545 							}
   528 							}
   546 	 					
   529 	 					
   547 	 			}
   530 	 			}
   548 	 		
   531 	 		
   549 	 	}
   532 	 	}