diff -r c16e04725da3 -r 5c4486441ae6 bearermanagement/mpm/src/mpmiapselection.cpp --- a/bearermanagement/mpm/src/mpmiapselection.cpp Mon May 17 09:55:27 2010 +0300 +++ b/bearermanagement/mpm/src/mpmiapselection.cpp Mon May 24 20:51:35 2010 +0300 @@ -21,8 +21,6 @@ #include "mpmcommsdataccess.h" #include "mpmconnmonevents.h" #include "mpmconfirmdlgstarting.h" -#include "mpmdefaultconnection.h" -#include "mpmwlanquerydialog.h" #include "extendedconnpref.h" // --------------------------------------------------------------------------- @@ -38,7 +36,6 @@ iStoredIapInfo(), iSession( aSession ), iConfirmDlgStarting( NULL ), - iWlanDialog( NULL ), iNextBestExists( EFalse ), iUserSelectionIapId( 0 ), iUserSelectionSnapId( 0 ), @@ -86,7 +83,6 @@ StopDisplayingStartingDlg(); delete iConfirmDlgStarting; - delete iWlanDialog; } // ----------------------------------------------------------------------------- @@ -185,7 +181,7 @@ // Default connection is requested. MPMLOGSTRING( "CMPMIapSelection::ChooseIapL:\ - Default Connection" ) + Default Connection" ) if ( iSession->UseUserConnPref() ) { @@ -201,39 +197,17 @@ return; } + // Read the default connection values TCmDefConnType type( TCmDefConnType( 0 ) ); TUint32 id( 0 ); - iSession->MyServer().DefaultConnection()->GetDefaultConnectionL( type, id ); + iCommsDatAccess->GetDefaultConnectionL( type, id ); MPMLOGSTRING3( "CMPMIapSelection::ChooseIapL:\ - default connection type %d id %d", type, id ) - - if( type == ECmDefConnConnectionMethod ) - { - iChooseIapPref.SetIapId( id ); - iChooseIapPref.SetSnapId( 0 ); - ExplicitConnectionL(); - } - else if( type == ECmDefConnDestination ) - { - iChooseIapPref.SetSnapId( id ); - ExplicitConnectionL(); - } - else - { - if( iCommsDatAccess->IsSnapEmptyL( id ) ) - { - // start implicit connection - ImplicitConnectionL(); - return; - } - - iChooseIapPref.SetSnapId( id ); - - // start connection as if explicitly defined - // by application - ExplicitConnectionL(); - } + default connection type %d id %d", type, id ) + + // set the received snap id and open the connection + iChooseIapPref.SetSnapId( id ); + ExplicitConnectionL(); } else if ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeExplicit ) { @@ -350,13 +324,8 @@ iChooseIapPref.SetIapId( validateIapId ); iChooseIapPref.SetNetId( retNetId ); - // In case offline mode is enabled, only LAN or WLAN is allowed. - // If some other bearer has been requested, then error code - // KErrGprsOfflineMode should be returned instead of KErrNone. - // - - if ( !iapTypeLanOrWlan && ( iSession->MyServer().IsPhoneOffline() || - iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) ) + if ( !iapTypeLanOrWlan && + iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) { ChooseIapComplete( KErrGprsOfflineMode, &iChooseIapPref ); } @@ -365,9 +334,13 @@ TWlanIapType wlanType = iCommsDatAccess->CheckWlanL( validateIapId ); if( wlanType != ENotWlanIap ) { - iChooseIapState = EExplicitConnection; - iWlanDialog = CMPMWlanQueryDialog::NewL( *this, validateIapId ); - iWlanDialog->StartWlanQueryL(); + // Add info into the BM connections + iSession->MyServer().AppendBMConnection( iSession->ConnectionId(), + iChooseIapPref.SnapId(), + validateIapId, + EStarting, + *iSession ); + ChooseIapComplete( KErrNone, &iChooseIapPref ); return; } @@ -514,8 +487,8 @@ { ChooseIapComplete( KErrGprsServicesNotAllowed, NULL ); } - else if ( !iapTypeLanOrWlan && ( iSession->MyServer().IsPhoneOffline() || - iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) ) + else if ( !iapTypeLanOrWlan && + iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) { // In case offline mode is enabled, only LAN or WLAN is allowed. // If some other bearer has been requested, then error code @@ -572,19 +545,14 @@ } else { - if ( !StartWlanQueryIfNeededL( validateIapId ) ) - { - // Add info into the BM connections - // - iSession->MyServer().AppendBMConnection( connId, + // Add info into the BM connections + // + iSession->MyServer().AppendBMConnection( connId, snap, validateIapId, EStarting, *iSession ); - ChooseIapComplete( KErrNone, &iChooseIapPref ); - - } - + ChooseIapComplete( KErrNone, &iChooseIapPref ); } } @@ -623,26 +591,18 @@ } // ----------------------------------------------------------------------------- -// CMPMIapSelection::StartWlanQueryIfNeededL +// CMPMIapSelection::IsIapWlanL // ----------------------------------------------------------------------------- // -TBool CMPMIapSelection::StartWlanQueryIfNeededL( TUint32 aIapId, TBool aIsRoaming ) +TBool CMPMIapSelection::IsIapWlanL( TUint32 aIapId ) { - MPMLOGSTRING3( "CMPMIapSelection::StartWlanQueryIfNeededL iap %d, isRoaming %d ", - aIapId, - aIsRoaming ) - TBool wlanQueryNeeded( EFalse ); - // If wlan iap check if offline note needed + MPMLOGSTRING2( "CMPMIapSelection::StartWlanQueryIfNeededL iap %d, ", aIapId) TWlanIapType wlanType = iCommsDatAccess->CheckWlanL( aIapId ); - if( wlanType != ENotWlanIap ) + if( wlanType != EWlanIap ) { - iIsRoaming = aIsRoaming; - iChooseIapState = EExplicitConnection; - iWlanDialog = CMPMWlanQueryDialog::NewL( *this, aIapId ); - iWlanDialog->StartWlanQueryL(); - wlanQueryNeeded = ETrue; + return EFalse; } - return wlanQueryNeeded; + return ETrue; } // ----------------------------------------------------------------------------- @@ -719,12 +679,6 @@ const TMpmConnPref* aPolicyPref ) { MPMLOGSTRING2( "CMPMIapSelection::ChooseIapComplete aError = %d", aError ) - - if( iWlanDialog ) - { - delete iWlanDialog; - iWlanDialog = NULL; - } iSession->ChooseIapComplete( aError, aPolicyPref ); // Set choose iap state to none @@ -735,62 +689,6 @@ iImplicitState = EImplicitStart; } - -// ----------------------------------------------------------------------------- -// CMPMIapSelection::UserWlanSelectionDoneL -// ----------------------------------------------------------------------------- -// -void CMPMIapSelection::UserWlanSelectionDoneL( TInt aError, TUint32 aIapId ) - { - MPMLOGSTRING( "CMPMIapSelection::UserWlanSelectionDoneL" ) - - if( iIsRoaming ) - { - iIsRoaming = EFalse; - iSession->MigrateCallbackL( aError ); - delete iWlanDialog; - iWlanDialog = NULL; - } - else - { - if( aError != KErrNone ) - { - MPMLOGSTRING2( "CMPMIapSelection::UserWlanSelectionDoneL - Error = %d, completing", aError ) - ChooseIapComplete( aError, NULL ); - } - else - { - if( iChooseIapState == EImplicitConnection ) - { - iUserSelectionIapId = aIapId; - ImplicitConnectionL(); - } - else if( iChooseIapState == EExplicitConnection ) - { - MPMLOGSTRING( "CMPMIapSelection::UserWlanSelectionDoneL completing explicit iap connection" ) - iChooseIapPref.SetIapId( aIapId ); - // Add info into the BM connections - // - iSession->MyServer().AppendBMConnection( iSession->ConnectionId(), - iChooseIapPref.SnapId(), - aIapId, - EStarting, - *iSession ); - delete iWlanDialog; - iWlanDialog = NULL; - - ChooseIapComplete( KErrNone, &iChooseIapPref ); - } - else - { - MPMLOGSTRING( "CMPMIapSelection::UserWlanSelectionDoneL - error, no connection state" ) - } - - } - - } - } - // ----------------------------------------------------------------------------- // CMPMIapSelection::HandleUserSelectionError // ----------------------------------------------------------------------------- @@ -867,15 +765,10 @@ MPMLOGSTRING( "CMPMIapSelection::ImplicitConnectionWlanNoteL" ) TWlanIapType wlanType = iCommsDatAccess->CheckWlanL( iUserSelectionIapId ); - // In case offline mode is enabled, only LAN or WLAN is allowed. - // If some other bearer has been requested, then error code - // KErrGprsOfflineMode should be returned instead of KErrNone. - // + if( wlanType != ENotWlanIap ) { - iChooseIapState = EImplicitConnection; - iWlanDialog = CMPMWlanQueryDialog::NewL( *this, iUserSelectionIapId ); - iWlanDialog->StartWlanQueryL(); + ImplicitConnectionL(); return; } else @@ -936,8 +829,8 @@ iapTypeLanOrWlan, *iSession ); - if ( !iapTypeLanOrWlan && ( iSession->MyServer().IsPhoneOffline() || - iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) ) + if ( !iapTypeLanOrWlan && + iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) { MPMLOGSTRING2( "CMPMIapSelection::CompleteImplicitConnectionL: Completing with code = %i", KErrGprsOfflineMode ) @@ -959,13 +852,6 @@ iChooseIapPref.SetIapId( iUserSelectionIapId ); iChooseIapPref.SetNetId( retNetId ); - - if( iWlanDialog ) - { - delete iWlanDialog; - iWlanDialog = NULL; - } - ChooseIapComplete( KErrNone, &iChooseIapPref ); }