connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionModel.cpp
branchRCL_3
changeset 58 83ca720e2b9a
parent 57 05bc53fe583b
equal deleted inserted replaced
57:05bc53fe583b 58:83ca720e2b9a
    32 #else
    32 #else
    33 #include <commsdat.h>
    33 #include <commsdat.h>
    34 #include <commsdat_partner.h>
    34 #include <commsdat_partner.h>
    35 #endif
    35 #endif
    36 
    36 
    37 #include <disconnectdlg.rsg>
    37 #include <DisconnectDlg.rsg>
    38 
    38 
    39 
    39 
    40 // CONSTANTS
    40 // CONSTANTS
    41 
    41 
    42 _LIT( KMrouterName, "mRouter" );
    42 _LIT( KMrouterName, "mRouter" );
   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 )