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