diff -r 6297cdf66332 -r d39add9822e2 browserutilities/connectionmanager/Src/ConnManActiveConnector.cpp --- a/browserutilities/connectionmanager/Src/ConnManActiveConnector.cpp Mon Jan 18 21:20:18 2010 +0200 +++ b/browserutilities/connectionmanager/Src/ConnManActiveConnector.cpp Tue Feb 02 00:56:45 2010 +0200 @@ -19,13 +19,17 @@ */ - +#include #include "ConnManActiveConnector.h" #include "ConnectionManagerLogger.h" #include #include +#ifdef BRDO_OCC_ENABLED_FF +#include +#endif + //-------------------------------------------------------------------------- //CConnManActiveConnector::CConnManActiveConnector() //-------------------------------------------------------------------------- @@ -34,7 +38,7 @@ : CActive( aPriority ) , iConnection( aConnection ) { - iWait = EFalse; + CLOG_CREATE; CActiveScheduler::Add( this );//inserting this into the queue } @@ -44,7 +48,7 @@ //-------------------------------------------------------------------------- CConnManActiveConnector::~CConnManActiveConnector() { - iWait = EFalse; + Cancel();//The standard way of destroying an Active object CLOG_CLOSE; } @@ -53,18 +57,55 @@ //CConnManActiveConnector::StartConnection() //-------------------------------------------------------------------------- void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus) - { - CLOG_WRITE( "CConnManActiveConnector:StartConnection is called"); - iExternalRequestStatus = &aStatus; - +{ + CLOG_WRITE( "CConnManActiveConnector:StartConnection AlwaysAsk/Ap is called"); + iExternalRequestStatus = &aStatus; + +#ifdef BRDO_OCC_ENABLED_FF + + TExtendedConnPref extPref; + CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters"); + +#ifdef __WINS__ //This is only for emulator testing purpose + + //For emulator + CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " ); + extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown); + extPref.SetConnSelectionDialog(ETrue); + extPref.SetForcedRoaming(EFalse); + +#else + + //For hardware + TUint32 bookmarkIap = aSettings->IapId(); + CLOG_WRITE_1( "CConnManActiveConnector:StartConnection Active Bookmark Iap: %d", bookmarkIap ); + if (bookmarkIap) + { + CLOG_WRITE( "CConnManActiveConnector:StartConnection Iap is found for this bookmark"); + extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown); + extPref.SetIapId(bookmarkIap); + } + else + { + CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap"); + extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet); + } + +#endif //__WINS__ + + extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault); + TConnPrefList prefList; + TRAP_IGNORE(prefList.AppendL(&extPref)); +#endif //BRDO_OCC_ENABLED_FF + if( aSettings ) - { -#ifdef __WINS__ - // aSettings->SetDialogPreference( ECommDbDialogPrefPrompt ); -#endif - - iConnection.Start( *aSettings, iStatus ); - } + { + #ifdef BRDO_OCC_ENABLED_FF + iConnection.Start( prefList, iStatus ); + #else + iConnection.Start( *aSettings, iStatus ); + #endif + } else { iConnection.Start( iStatus ); @@ -79,14 +120,45 @@ //CConnManActiveConnector::StartConnection() //-------------------------------------------------------------------------- void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus) - { - CLOG_WRITE( "CConnManActiveConnector:StartConnection is called"); - iExternalRequestStatus = &aStatus; - +{ + CLOG_WRITE( "CConnManActiveConnector:StartConnection SNAP is called"); + iExternalRequestStatus = &aStatus; + +#ifdef BRDO_OCC_ENABLED_FF + + CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters"); + TExtendedConnPref extPref; + +#ifdef __WINS__ + + //For emulator + CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " ); + extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown); + extPref.SetConnSelectionDialog(ETrue); + extPref.SetForcedRoaming(EFalse); + +#else + + //For hardware + CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap"); + extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet); + +#endif //__WINS__ + + extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault); + TConnPrefList prefList; + TRAP_IGNORE(prefList.AppendL(&extPref)); + +#endif + if( aSettings ) - { - iConnection.Start( *aSettings, iStatus ); - } + { + #ifdef BRDO_OCC_ENABLED_FF + iConnection.Start( prefList, iStatus ); + #else + iConnection.Start( *aSettings, iStatus ); + #endif + } else { iConnection.Start( iStatus ); @@ -103,11 +175,10 @@ void CConnManActiveConnector::DoCancel() { CLOG_WRITE( "CConnManActiveConnector: DoCancel called"); - if(iWait) - { - iConnection.Close(); - User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req - } + + iConnection.Close(); + User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req + CLOG_WRITE( "CConnManActiveConnector: DoCancel returned"); } @@ -116,7 +187,7 @@ //-------------------------------------------------------------------------- void CConnManActiveConnector::RunL() { - iWait = ETrue; + CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() ); User::RequestComplete( iExternalRequestStatus, iStatus.Int() ); } @@ -200,14 +271,12 @@ //-------------------------------------------------------------------------- void CActiveConnectorSyncWrapper::DoCancel() { - if(iActiveConnector->IsActive()) - { - iActiveConnector->Cancel(); - } - if(iWait.IsStarted()) - { - iWait.AsyncStop(); - } + + iActiveConnector->Cancel(); + if(iWait.IsStarted()) + { + iWait.AsyncStop(); + } }