--- 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 <browser_platform_variant.hrh>
#include "ConnManActiveConnector.h"
#include "ConnectionManagerLogger.h"
#include <nifvar.h>
#include <CommDbConnPref.h>
+#ifdef BRDO_OCC_ENABLED_FF
+#include <extendedconnpref.h>
+#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();
+ }
}