259 { |
259 { |
260 iMonitor.GetIntAttribute( EBearerIdGPRS, subConId, KNetworkStatus, ntwStatus, status ); |
260 iMonitor.GetIntAttribute( EBearerIdGPRS, subConId, KNetworkStatus, ntwStatus, status ); |
261 User::WaitForRequest( status ); |
261 User::WaitForRequest( status ); |
262 LOG( Log::Printf( _L("+ DCL: Async call status==(%d)."), status.Int() )); |
262 LOG( Log::Printf( _L("+ DCL: Async call status==(%d)."), status.Int() )); |
263 |
263 |
264 if ( (ntwStatus == EConnMonStatusNotAvailable) || (ntwStatus == EConnMonStatusUnattached) ) |
264 switch ( ntwStatus ) |
265 { |
265 { |
266 LOG( Log::Printf( _L("DCL: GPRS ntwk is UnAttached." ))); |
266 case ENtwkStatusNotKnown: |
267 iNetworkIsUnAttached = ETrue; |
267 LOG( Log::Printf( _L("DCL: Async request for GPRS ntwk status failed %d!"), |
268 NotifyPubSub( KPSUidGprsStatus, EPSGprsUnattached ); |
268 status.Int() )); |
269 } |
269 break; |
270 else if ( ntwStatus == ENtwkStatusNotKnown ) |
270 |
271 { |
271 case EConnMonStatusNotAvailable: |
272 LOG( Log::Printf( _L("DCL: Async request for GPRS ntwk status failed %d!"), |
272 case EConnMonStatusUnattached: |
273 status.Int() )); |
273 LOG( Log::Printf( _L("DCL: GPRS ntwk is UnAttached." ))); |
274 } |
274 iNetworkIsUnAttached = ETrue; |
275 else |
275 NotifyPubSub( KPSUidGprsStatus, EPSGprsUnattached ); |
276 { |
276 break; |
277 LOG( Log::Printf( _L("DCL: GPRS ntwk is Attached." ))); |
277 |
278 iNetworkIsUnAttached = EFalse; |
278 case EConnMonStatusActive: |
279 NotifyPubSub( KPSUidGprsStatus, EPSGprsAttach ); |
279 LOG( Log::Printf( _L("DCL: GPRS ntwk is Active." ))); |
280 } |
280 iNetworkIsUnAttached = EFalse; |
|
281 NotifyPubSub( KPSUidGprsStatus, EPSGprsContextActive ); |
|
282 break; |
|
283 |
|
284 case EConnMonStatusAttached: |
|
285 default: |
|
286 LOG( Log::Printf( _L("DCL: GPRS ntwk is Attached." ))); |
|
287 iNetworkIsUnAttached = EFalse; |
|
288 NotifyPubSub( KPSUidGprsStatus, EPSGprsAttach ); |
|
289 } |
|
290 |
281 } |
291 } |
282 else if ( connType == ESAEWCDMAConnectionType ) |
292 else if ( connType == ESAEWCDMAConnectionType ) |
283 { |
293 { |
284 iMonitor.GetIntAttribute( EBearerIdWCDMA, subConId, KNetworkStatus, ntwStatus, status ); |
294 iMonitor.GetIntAttribute( EBearerIdWCDMA, subConId, KNetworkStatus, ntwStatus, status ); |
285 User::WaitForRequest( status ); |
295 User::WaitForRequest( status ); |
286 LOG( Log::Printf( _L("+ DCL: Async call status==(%d)."), status.Int() )); |
296 LOG( Log::Printf( _L("+ DCL: Async call status==(%d)."), status.Int() )); |
287 |
297 |
288 if ( (ntwStatus == EConnMonStatusNotAvailable) || (ntwStatus == EConnMonStatusUnattached) ) |
298 switch ( ntwStatus ) |
289 { |
299 { |
290 LOG( Log::Printf( _L("DCL: WCDMA ntwk is UnAttached." ))); |
300 case ENtwkStatusNotKnown: |
291 iNetworkIsUnAttached = ETrue; |
301 LOG( Log::Printf( _L("DCL: Async request for WCDMA ntwk status failed %d!"), |
292 NotifyPubSub( KPSUidWcdmaStatus, EPSWcdmaUnattached ); |
302 status.Int() )); |
293 } |
303 break; |
294 else if ( ntwStatus == ENtwkStatusNotKnown ) |
304 |
295 { |
305 case EConnMonStatusNotAvailable: |
296 LOG( Log::Printf( _L("DCL: Async request for WCDMA ntwk status failed %d!"), |
306 case EConnMonStatusUnattached: |
297 status.Int() )); |
307 LOG( Log::Printf( _L("DCL: WCDMA ntwk is UnAttached." ))); |
298 } |
308 iNetworkIsUnAttached = ETrue; |
299 else |
309 NotifyPubSub( KPSUidWcdmaStatus, EPSWcdmaUnattached); |
300 { |
310 break; |
301 LOG( Log::Printf( _L("DCL: WCDMA ntwk is Attached." ))); |
311 |
302 iNetworkIsUnAttached = EFalse; |
312 case EConnMonStatusActive: |
303 NotifyPubSub( KPSUidWcdmaStatus, EPSWcdmaAttach ); |
313 LOG( Log::Printf( _L("DCL: WCDMA ntwk is Active." ))); |
304 } |
314 iNetworkIsUnAttached = EFalse; |
|
315 NotifyPubSub( KPSUidWcdmaStatus, EPSWcdmaContextActive ); |
|
316 break; |
|
317 |
|
318 case EConnMonStatusAttached: |
|
319 default: |
|
320 LOG( Log::Printf( _L("DCL: WCDMA ntwk is Attached." ))); |
|
321 iNetworkIsUnAttached = EFalse; |
|
322 NotifyPubSub( KPSUidWcdmaStatus, EPSWcdmaAttach ); |
|
323 } |
|
324 |
305 } |
325 } |
306 else |
326 else |
307 { |
327 { |
308 LOG( Log::Printf( _L("DCL: !ERROR! Unknown connection type %d !ERROR!"), |
328 LOG( Log::Printf( _L("DCL: !ERROR! Unknown connection type %d !ERROR!"), |
309 connType )); |
329 connType )); |