connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionModel.cpp
branchRCL_3
changeset 57 05bc53fe583b
parent 26 0a9e01492035
child 58 83ca720e2b9a
--- a/connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionModel.cpp	Thu Aug 19 10:18:49 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionModel.cpp	Tue Aug 31 15:35:44 2010 +0300
@@ -34,7 +34,7 @@
 #include <commsdat_partner.h>
 #endif
 
-#include <DisconnectDlg.rsg>
+#include <disconnectdlg.rsg>
 
 
 // CONSTANTS
@@ -165,12 +165,12 @@
             User::WaitForRequest( status );
             CLOG_WRITEF(_L( "KClientInfo status: %d" ), status.Int() );  
             
-            bearer = EBearerUnknown;
+    
             iMonitor.GetIntAttribute( connId, 0, KBearer, bearer, status );
             User::WaitForRequest( status );
             CLOG_WRITEF(_L( "KBearer status: %d" ), status.Int() ); 
             
-            connStatus = KConnectionUninitialised;
+    
             iMonitor.GetIntAttribute( connId, 0, KConnectionStatus, connStatus,
                                       status );
             User::WaitForRequest( status );
@@ -308,12 +308,8 @@
         {
         // notifier will finish, so cancel all other notifications
         iMonitor.CancelNotifications();     
-
-        // Bring back the 3s delay to avoid possible problems.
-        // (GPRS Detach and Attach overlapping, when only 1 context allowed,
-        // causing 15s delay.)
-        User::After( CAknNoteDialog::ELongTimeout );
-
+        SelectedConnectionClosedL();
+        
         iDisconnectDialogUi->CompleteL( KErrNone );
         }
     else if( iDisconnectDialogUi  && 
@@ -352,6 +348,33 @@
 
 
 // ---------------------------------------------------------
+// CConnectionModel::SelectedConnectionClosedL
+// ---------------------------------------------------------
+//
+void CConnectionModel::SelectedConnectionClosedL()
+    {
+    CLOG_ENTERFN("CConnectionModel::SelectedConnectionClosedL");    
+    
+    // the connection is succesfully closed
+    CConnectionInfo* info = iConnArray->At( iClosingConnectionIndex );
+
+    TPtrC iap = info->GetIapNameL();
+    TInt bearerType = info->GetBearerType();
+
+    if( bearerType < EBearerExternalCSD )
+        {
+        InfoNoteL( R_QTN_NETW_CONF_CONN_DISCONNECTED, &iap );
+        }
+    else
+        {
+        InfoNoteL( R_QTN_NETW_CONF_MODEM_CONN_DISCONNECTED );
+        }
+
+    CLOG_LEAVEFN("CConnectionModel::SelectedConnectionClosedL");    
+    }
+
+
+// ---------------------------------------------------------
 // CDisconnectDlgDialog::InfoNoteL
 // ---------------------------------------------------------
 //