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 //Comment to ignore coverity cleanup stack error |
212 //coverity[push] |
211 //coverity[SYMBIAN.CLEANUP_STACK :FALSE] |
213 CleanupStack::PushL(locationId); |
212 CleanupStack::PushL(locationId); |
214 COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL(); |
213 COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL(); |
215 CleanupStack::PushL(gsmCellInfo); |
214 CleanupStack::PushL(gsmCellInfo); |
216 COMASuplLocationId::TOMASuplStatus lStatus = |
215 COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent; |
217 COMASuplLocationId::ECurrent; |
216 |
218 |
217 TInt MCC=0; |
219 TInt MCC = 0; |
218 TInt64 MNC=0; |
220 TInt64 MNC = 0; |
219 TUint LAC, CellId; |
221 TUint LAC, CellId; |
220 TLex LexMCC(iNetworkInfo.iCountryCode); |
222 TLex LexMCC(iNetworkInfo.iCountryCode); |
221 TLex LexMNC(iNetworkInfo.iNetworkId); |
223 TLex LexMNC(iNetworkInfo.iNetworkId); |
222 |
224 |
223 LexMCC.Val(MCC); |
225 LexMCC.Val(MCC); |
224 LexMNC.Val(MNC); |
226 LexMNC.Val(MNC); |
225 LAC = iLocationInfo.iLocationAreaCode; |
227 LAC = iLocationInfo.iLocationAreaCode; |
226 CellId = iLocationInfo.iCellId; |
228 CellId = iLocationInfo.iCellId; |
227 |
229 |
228 |
230 gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC, CellId, LAC); |
229 gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC); |
231 locationId->SetSuplLocationId(gsmCellInfo, lStatus); |
230 locationId->SetSuplLocationId(gsmCellInfo,lStatus); |
232 CleanupStack::Pop(gsmCellInfo); |
231 CleanupStack::Pop(gsmCellInfo); |
233 //coverity[pop] |
232 CleanupStack::Pop(locationId); |
234 CleanupStack::Pop(locationId); |
233 |
235 |
234 #if defined(_DEBUG) //This is only for logging purpose. |
236 #if defined(_DEBUG) //This is only for logging purpose. |
235 TBuf<128> msg; |
237 TBuf<128> msg; |
236 |
238 |
237 msg.Copy(_L("It is GSM Network. MCC = ")); |
239 msg.Copy(_L("It is GSM Network. MCC = ")); |
238 msg.AppendNum(MCC); |
240 msg.AppendNum(MCC); |
239 |
241 |
240 msg.Append(_L(" MNC = ")); |
242 msg.Append(_L(" MNC = ")); |
241 msg.AppendNum(MNC); |
243 msg.AppendNum(MNC); |
242 |
244 |
243 |
245 |
244 msg.Append(_L(" CellId = ")); |
246 msg.Append(_L(" CellId = ")); |
245 msg.AppendNum(CellId); |
247 msg.AppendNum(CellId); |
246 |
248 |
253 |
255 |
254 if(iCellMode == EOMASuplCellId) |
256 if(iCellMode == EOMASuplCellId) |
255 iObserver.LocationIDRequestCompletedL(locationId,KErrNone); |
257 iObserver.LocationIDRequestCompletedL(locationId,KErrNone); |
256 else if(iCellMode == EOMASuplCompareCellId) |
258 else if(iCellMode == EOMASuplCompareCellId) |
257 iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone); |
259 iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone); |
|
260 //coverity[memory_leak] |
258 break; |
261 break; |
259 } |
262 } |
260 case RMobilePhone::ENetworkModeWcdma: |
263 case RMobilePhone::ENetworkModeWcdma: |
261 { |
264 { |
|
265 //coverity[alloc_fn] |
|
266 //coverity[assign] |
262 // For WCDMA Cell Information |
267 // For WCDMA Cell Information |
263 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); |
268 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); |
264 //Comment to ignore coverity cleanup stack error |
269 //coverity[push] |
265 //coverity[SYMBIAN.CLEANUP_STACK :FALSE] |
270 CleanupStack::PushL(locationId); |
266 CleanupStack::PushL(locationId); |
271 |
267 COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL(); |
272 COMASuplCellInfo* wcdmaCellInfo = COMASuplCellInfo::NewL(); |
268 CleanupStack::PushL(wcdmaCellInfo); |
273 CleanupStack::PushL(wcdmaCellInfo); |
269 |
274 |
270 COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent; |
275 COMASuplLocationId::TOMASuplStatus lStatus = |
271 TInt MCC=0; |
276 COMASuplLocationId::ECurrent; |
272 TInt64 MNC=0; |
277 TInt MCC = 0; |
273 TUint UC; |
278 TInt64 MNC = 0; |
274 TLex LexMCC(iNetworkInfo.iCountryCode); |
279 TUint UC; |
275 TLex LexMNC(iNetworkInfo.iNetworkId); |
280 TLex LexMCC(iNetworkInfo.iCountryCode); |
|
281 TLex LexMNC(iNetworkInfo.iNetworkId); |
276 |
282 |
277 LexMCC.Val(MCC); |
283 LexMCC.Val(MCC); |
278 LexMNC.Val(MNC); |
284 LexMNC.Val(MNC); |
279 UC = iLocationInfo.iCellId; |
285 UC = iLocationInfo.iCellId; |
280 |
286 |
281 |
287 |
282 wcdmaCellInfo->SetSuplCellInfo(MNC, MCC, UC); |
288 wcdmaCellInfo->SetSuplCellInfo(MNC, MCC, UC); |
283 locationId->SetSuplLocationId(wcdmaCellInfo,lStatus); |
289 locationId->SetSuplLocationId(wcdmaCellInfo,lStatus); |
284 CleanupStack::Pop(wcdmaCellInfo); |
290 CleanupStack::Pop(wcdmaCellInfo); |
|
291 //coverity[pop] |
285 CleanupStack::Pop(locationId); |
292 CleanupStack::Pop(locationId); |
286 |
293 |
287 #if defined(_DEBUG) //This is only for logging purpose. |
294 #if defined(_DEBUG) //This is only for logging purpose. |
288 TBuf<128> msg; |
295 TBuf<128> msg; |
289 |
296 |
291 msg.AppendNum(MCC); |
298 msg.AppendNum(MCC); |
292 |
299 |
293 msg.Append(_L(" MNC = ")); |
300 msg.Append(_L(" MNC = ")); |
294 msg.AppendNum(MNC); |
301 msg.AppendNum(MNC); |
295 |
302 |
296 |
303 msg.Append(_L(" UC = ")); |
297 msg.Append(_L(" UC = ")); |
304 msg.AppendNum(UC); |
298 msg.AppendNum(UC); |
305 |
299 |
306 iTrace->Trace(msg, KTraceFileName, __LINE__); |
300 iTrace->Trace(msg,KTraceFileName, __LINE__); |
307 #endif |
301 #endif |
|
302 |
308 |
303 if(iCellMode == EOMASuplCellId) |
309 if(iCellMode == EOMASuplCellId) |
304 iObserver.LocationIDRequestCompletedL(locationId,KErrNone); |
310 iObserver.LocationIDRequestCompletedL(locationId,KErrNone); |
305 else if(iCellMode == EOMASuplCompareCellId) |
311 else if(iCellMode == EOMASuplCompareCellId) |
306 iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone); |
312 iObserver.ComparisionLocationIDRequestCompletedL(locationId,KErrNone); |
|
313 //coverity[memory_leak] |
307 break; |
314 break; |
308 } |
315 } |
309 default: |
316 default: |
310 { |
317 { |
311 #if _DEBUG |
318 #if _DEBUG |
|
319 //coverity[alloc_fn] |
|
320 //coverity[assign] |
312 // For GSM Cell Information |
321 // For GSM Cell Information |
313 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); |
322 COMASuplLocationId* locationId = COMASuplLocationId::NewL(); |
314 //Comment to ignore coverity cleanup stack error |
323 //coverity[push] |
315 //coverity[SYMBIAN.CLEANUP_STACK :FALSE] |
324 CleanupStack::PushL(locationId); |
316 CleanupStack::PushL(locationId); |
325 |
317 COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL(); |
326 COMASuplGSMCellInfo* gsmCellInfo = COMASuplGSMCellInfo::NewL(); |
318 CleanupStack::PushL(gsmCellInfo); |
327 CleanupStack::PushL(gsmCellInfo); |
319 |
328 |
320 COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent; |
329 COMASuplLocationId::TOMASuplStatus lStatus = COMASuplLocationId::ECurrent; |
321 TInt MCC=0; |
330 TInt MCC=0; |
322 TInt64 MNC=0; |
331 TInt64 MNC=0; |
323 TUint LAC, CellId; |
332 TUint LAC, CellId; |
324 TLex LexMCC(iNetworkInfo.iCountryCode); |
333 TLex LexMCC(iNetworkInfo.iCountryCode); |
325 TLex LexMNC(iNetworkInfo.iNetworkId); |
334 TLex LexMNC(iNetworkInfo.iNetworkId); |
326 |
335 |
327 LexMCC.Val(MCC); |
336 LexMCC.Val(MCC); |
328 LexMNC.Val(MNC); |
337 LexMNC.Val(MNC); |
329 LAC = iLocationInfo.iLocationAreaCode; |
338 LAC = iLocationInfo.iLocationAreaCode; |
330 CellId = iLocationInfo.iCellId; |
339 CellId = iLocationInfo.iCellId; |
331 |
340 |
332 |
341 |
333 gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC); |
342 gsmCellInfo->SetSuplGSMCellInfo(MNC, MCC,CellId,LAC); |
334 locationId->SetSuplLocationId(gsmCellInfo,lStatus); |
343 locationId->SetSuplLocationId(gsmCellInfo,lStatus); |
335 CleanupStack::Pop(gsmCellInfo); |
344 CleanupStack::Pop(gsmCellInfo); |
336 CleanupStack::Pop(locationId); |
345 //coverity[pop] |
|
346 CleanupStack::Pop(locationId); |
337 |
347 |
338 #if defined(_DEBUG) //This is only for logging purpose. |
348 #if defined(_DEBUG) //This is only for logging purpose. |
339 TBuf<128> msg; |
349 TBuf<128> msg; |
340 msg.Copy(_L("It is GSM Network. MCC = ")); |
350 msg.Copy(_L("It is GSM Network. MCC = ")); |
341 msg.AppendNum(MCC); |
351 msg.AppendNum(MCC); |