163 iMonitor.GetPckgAttribute( connId, 0, KClientInfo, clientEnum, |
163 iMonitor.GetPckgAttribute( connId, 0, KClientInfo, clientEnum, |
164 status ); |
164 status ); |
165 User::WaitForRequest( status ); |
165 User::WaitForRequest( status ); |
166 CLOG_WRITEF(_L( "KClientInfo status: %d" ), status.Int() ); |
166 CLOG_WRITEF(_L( "KClientInfo status: %d" ), status.Int() ); |
167 |
167 |
168 |
168 bearer = EBearerUnknown; |
169 iMonitor.GetIntAttribute( connId, 0, KBearer, bearer, status ); |
169 iMonitor.GetIntAttribute( connId, 0, KBearer, bearer, status ); |
170 User::WaitForRequest( status ); |
170 User::WaitForRequest( status ); |
171 CLOG_WRITEF(_L( "KBearer status: %d" ), status.Int() ); |
171 CLOG_WRITEF(_L( "KBearer status: %d" ), status.Int() ); |
172 |
172 |
173 |
173 connStatus = KConnectionUninitialised; |
174 iMonitor.GetIntAttribute( connId, 0, KConnectionStatus, connStatus, |
174 iMonitor.GetIntAttribute( connId, 0, KConnectionStatus, connStatus, |
175 status ); |
175 status ); |
176 User::WaitForRequest( status ); |
176 User::WaitForRequest( status ); |
177 CLOG_WRITEF(_L( "KConnectionStatus status: %d" ), status.Int() ); |
177 CLOG_WRITEF(_L( "KConnectionStatus status: %d" ), status.Int() ); |
178 |
178 |
306 ( EConnMonDeleteConnection == aConnMonEvent.EventType() ) |
306 ( EConnMonDeleteConnection == aConnMonEvent.EventType() ) |
307 && ( connId == aConnMonEvent.ConnectionId() ) ) |
307 && ( connId == aConnMonEvent.ConnectionId() ) ) |
308 { |
308 { |
309 // notifier will finish, so cancel all other notifications |
309 // notifier will finish, so cancel all other notifications |
310 iMonitor.CancelNotifications(); |
310 iMonitor.CancelNotifications(); |
311 SelectedConnectionClosedL(); |
311 |
312 |
312 // Bring back the 3s delay to avoid possible problems. |
|
313 // (GPRS Detach and Attach overlapping, when only 1 context allowed, |
|
314 // causing 15s delay.) |
|
315 User::After( CAknNoteDialog::ELongTimeout ); |
|
316 |
313 iDisconnectDialogUi->CompleteL( KErrNone ); |
317 iDisconnectDialogUi->CompleteL( KErrNone ); |
314 } |
318 } |
315 else if( iDisconnectDialogUi && |
319 else if( iDisconnectDialogUi && |
316 ( EConnMonDeleteConnection == aConnMonEvent.EventType() ) ) |
320 ( EConnMonDeleteConnection == aConnMonEvent.EventType() ) ) |
317 { |
321 { |
346 return iConnArray; |
350 return iConnArray; |
347 } |
351 } |
348 |
352 |
349 |
353 |
350 // --------------------------------------------------------- |
354 // --------------------------------------------------------- |
351 // CConnectionModel::SelectedConnectionClosedL |
|
352 // --------------------------------------------------------- |
|
353 // |
|
354 void CConnectionModel::SelectedConnectionClosedL() |
|
355 { |
|
356 CLOG_ENTERFN("CConnectionModel::SelectedConnectionClosedL"); |
|
357 |
|
358 // the connection is succesfully closed |
|
359 CConnectionInfo* info = iConnArray->At( iClosingConnectionIndex ); |
|
360 |
|
361 TPtrC iap = info->GetIapNameL(); |
|
362 TInt bearerType = info->GetBearerType(); |
|
363 |
|
364 if( bearerType < EBearerExternalCSD ) |
|
365 { |
|
366 InfoNoteL( R_QTN_NETW_CONF_CONN_DISCONNECTED, &iap ); |
|
367 } |
|
368 else |
|
369 { |
|
370 InfoNoteL( R_QTN_NETW_CONF_MODEM_CONN_DISCONNECTED ); |
|
371 } |
|
372 |
|
373 CLOG_LEAVEFN("CConnectionModel::SelectedConnectionClosedL"); |
|
374 } |
|
375 |
|
376 |
|
377 // --------------------------------------------------------- |
|
378 // CDisconnectDlgDialog::InfoNoteL |
355 // CDisconnectDlgDialog::InfoNoteL |
379 // --------------------------------------------------------- |
356 // --------------------------------------------------------- |
380 // |
357 // |
381 void CConnectionModel::InfoNoteL( const TInt aPromptResourceId, |
358 void CConnectionModel::InfoNoteL( const TInt aPromptResourceId, |
382 const TDesC* aPrompt ) |
359 const TDesC* aPrompt ) |