--- a/browserutilities/connectionmanager/Src/InternetConnectionManager.cpp Tue Aug 31 16:17:46 2010 +0300
+++ b/browserutilities/connectionmanager/Src/InternetConnectionManager.cpp Wed Sep 01 12:28:30 2010 +0100
@@ -23,9 +23,9 @@
//System Includes
#include <bldvariant.hrh>
-
+#include <browser_platform_variant.hrh>
#include <ApAccessPointItem.h>
-#include <VpnApEngine.h>
+#include <VpnAPEngine.h>
#include <AknNotifyStd.h>
#include <AknGlobalNote.h>
#include <e32std.h>
@@ -35,47 +35,50 @@
#include <coemain.h>
#include <bautils.h>
#include <connectionmanager.rsg>
-#include <barsread.h>
+#include <BARSREAD.H>
#include <Avkon.rsg>
-#include <ErrorUI.h>
-#include <AknGlobalConfirmationQuery.h>
-#include <AknQueryDialog.h>
-#include <AknWaitDialog.h>
+#include <errorui.h>
+#include <aknglobalconfirmationquery.h>
+#include <aknquerydialog.h>
+#include <aknwaitdialog.h>
#include <cdblen.h>
#include <StringLoader.h>
#include <connectprog.h>
#include <nd_err.h>
-#include <commdbconnpref.h>
-#include <mmtsy_names.h>
+#include <CommDbConnPref.h>
+#include <MmTsy_names.h>
#include <etelmm.h>
#include <data_caging_path_literals.hrh>
#include <AknsUtils.h>
#include <avkon.mbg>
#include <ConnMan.mbg>
#include <rconnmon.h>
-#include <agentdialog.h>
+#include <AgentDialog.h>
#include <ConnectionUiUtilities.h>
#include <AknQueryDialog.h>
#include <WlanCdbCols.h>
#include <etelpckt.h>
-#include <featmgr.h>
+#include <FeatMgr.h>
#include <cmmanagerext.h>
#include <cmdestinationext.h>
#include <commsdat.h>
-#include <commsdattypeinfov1_1.h>
+#include <CommsDatTypeInfoV1_1.h>
//User Includes
-#include "InternetConnectionManager.h"
-#include "ConnMan.hrh"
-#include "ConnectionManagerLogger.h"
-#include "ConnectionObservers.h"
-#include "ConnManActiveConnector.h"
+#include <internetconnectionmanager.h>
+#include "connman.hrh"
+#include "connectionmanagerlogger.h"
+#include <connectionobservers.h>
+#include "connmanactiveconnector.h"
using namespace CMManager;
// CONSTANTS
_LIT(KConnectionResourceFile, "\\resource\\ConnectionManager.rsc");
-
+#ifdef BRDO_OCC_ENABLED_FF
+//As per OCC, number of Connection observer states
+const TInt KMaxOccStages = 1;
+#endif
// ============================ MEMBER FUNCTIONS ===============================
//--------------------------------------------------------------------------
//CInternetConnectionManager::ConnectL( TUint32 aIAPId1, TUint32 aIAPId2 )
@@ -207,6 +210,8 @@
User::LeaveIfError( iConnection.GetDesSetting( query, val ) );
iConnName = val.AllocL();
+ CLOG_WRITE_1( "Iap id used : %d", iapId );
+ CLOG_WRITE_1( "Conn name : %S", iConnName);
}
else if( !iRequestedAPIds.iFirstPreference )
{
@@ -452,18 +457,17 @@
}
else
{
+ if(iConnection.SubSessionHandle() <= 0)
+ {
+ // RConnection handle is invalid, we haven't opened the RConnection yet.
connErr = iConnection.Open( iServ, KAfInet );
+ }
CLOG_WRITE_1( "RConnection: %d", connErr );
if( connErr == KErrNone )
{
// Always pass the IAP Id to RConnection even in silent mode
connErr = iSyncConnector->Connect( overrides );
}
- if( connErr != KErrNone )
- {
- CLOG_WRITE( "Closing all" );
- iConnection.Close();
- }
}
}
if ( iWaitDialog )
@@ -513,11 +517,6 @@
delete iCommsDb;
}
- if( iConnected )
- {
- iConnection.Close();
- }
-
if( !iSilentMode )
// Temp fix for CDMA
{
@@ -532,8 +531,8 @@
delete iNoteDialog;
delete iSyncConnector;
iRFs.Close();
-
- iServ.Close();
+ iConnection.Close();
+ iServ.Close();
CLOG_CLOSE;
}
@@ -582,7 +581,11 @@
TApBearerType CInternetConnectionManager::BearerTypeL( TUint32 aIAPId )
{
TApBearerType apbearerType = EApBearerTypeAllBearers;
- if( iSilentMode || !iRequestedAPIds.iFirstPreference )
+#ifdef BRDO_OCC_ENABLED_FF
+ if( !iRequestedAPIds.iFirstPreference )
+#else
+ if( iSilentMode || !iRequestedAPIds.iFirstPreference )
+#endif
// Temp fix for CDMA
{
return EApBearerTypeAllBearers;
@@ -643,7 +646,19 @@
CLOG_ENTERFN( "StopConnectionL()" );
StopConnectionObserving();
- iConnection.Close();
+
+ if( iConnected )
+ {
+ CLOG_WRITE( "StopConnectionL() Stop the Connection" );
+ iConnection.Close();
+ TInt err = iConnection.Open( iServ, KAfInet );
+ }
+ else
+ {
+ CLOG_WRITE( "Cancel the Connection" );
+ CancelConnection();
+ }
+
// iServ.Close();
iConnected = EFalse;
iEasyWlan = EFalse;
@@ -1041,7 +1056,7 @@
if (iConnectionType == EDestination)
{
- err = ConnectWithSnapId(iRequestedSnapId);
+ err = ConnectWithSnapIdL(iRequestedSnapId);
return err;
}
else
@@ -1325,12 +1340,17 @@
TName* name = ConnectionNameL();
__ASSERT_DEBUG( name, User::Panic( KNullDesC, KErrCorrupt ) );
CleanupStack::PushL( name );
-
+
+#ifdef BRDO_OCC_ENABLED_FF
+ iSatges[0] = KLinkLayerClosed;
+ iStageNotifier->StartNotificationL( name,iSatges,KMaxOccStages,this, ETrue );
+#else
iSatges[0] = KConnectionUninitialised;
iSatges[1] = KConnectionClosed;
iSatges[2] = KLinkLayerClosed;
iStageNotifier->StartNotificationL( name,iSatges,KMaxStages,this, ETrue );
+#endif
CleanupStack::PopAndDestroy( name );
}
@@ -1360,7 +1380,6 @@
{
// this is a connection closed event
CLOG_WRITE( "ConnectionStageAchievedL() Stoping the connection instead of closing" );
- iConnection.Stop();
iConnected = EFalse;
if( !iSilentMode )
@@ -1642,6 +1661,19 @@
}
//------------------------------------------------------------------------
+//CInternetConnectionManager::CancelConnection
+//
+ void CInternetConnectionManager::CancelConnection()
+ {
+ CLOG_ENTERFN("CInternetConnectionManager::CancelConnection");
+ if(iSyncConnector && iSyncConnector->IsActive())
+ {
+ CLOG_WRITE( "Connection is cancelled" );
+ iSyncConnector->Cancel();
+ }
+ }
+
+//------------------------------------------------------------------------
//CInternetConnectionManager::AskIap
//------------------------------------------------------------------------
EXPORT_C TInt CInternetConnectionManager::AskIap( TUint32& aNewIap )
@@ -1679,7 +1711,6 @@
CLOG_WRITE_1( "CInternetConnectionManager::SetConnectionType - %d", aConnectionType );
iConnectionType = aConnectionType;
}
-
//-------------------------------------------------------------------
//CInternetConnectionManager::SetRequestedSnap
//-------------------------------------------------------------------
@@ -1994,15 +2025,14 @@
{
User::LeaveIfError( iServ.Connect() );
}
-
CLOG_WRITE( "Fully initialized" );
iInitialized = ETrue;
}
//------------------------------------------------------------------------
-//CInternetConnectionManager::ConnectWithSnapId
+//CInternetConnectionManager::ConnectWithSnapIdL
//------------------------------------------------------------------------
-TInt CInternetConnectionManager::ConnectWithSnapId(TUint32 aRequestedSnapId)
+TInt CInternetConnectionManager::ConnectWithSnapIdL(TUint32 aRequestedSnapId)
{
CLOG_WRITE_1( "CInternetConnectionManager::ConnectWithSnapId - %d", aRequestedSnapId );
@@ -2017,16 +2047,37 @@
#ifndef __WINS__
if( KErrNone == connErr )
{
- TUint32 iIapID;
- TBuf<20> query;
- query.Format( _L("%s\\%s"), IAP, COMMDB_ID );
- if( iConnection.GetIntSetting( query, iIapID ) == KErrNone )
- {
- CLOG_WRITE_1( "ConnectWithSnapId::AccessPoint - %d", iIapID );
- CApAccessPointItem* ap = APItemFromIAPIdLC( iIapID );
- UpdateCurrentAPL( *ap, EFalse );
- CleanupStack::PopAndDestroy(); // ap
- }
+ if( iSilentMode )
+ // Temp fix for CDMA
+ {
+ TUint32 iapId;
+ TBuf<20> query;
+ TBuf<40> val;
+
+ query.Format( _L("%s\\%s"), IAP, COMMDB_ID );
+ User::LeaveIfError( iConnection.GetIntSetting( query, iapId ) );
+ iCurrentAP = (CApAccessPointItem*)iapId;
+
+ query.Format(_L("%s\\%s"), IAP, COMMDB_NAME);
+ User::LeaveIfError( iConnection.GetDesSetting( query, val ) );
+
+ iConnName = val.AllocL();
+ CLOG_WRITE_1( "Iap id used : %d", iapId );
+ CLOG_WRITE_1( "Conn name : %S", iConnName);
+ }
+ else
+ {
+ TUint32 iIapID;
+ TBuf<20> query;
+ query.Format( _L("%s\\%s"), IAP, COMMDB_ID );
+ if( iConnection.GetIntSetting( query, iIapID ) == KErrNone )
+ {
+ CLOG_WRITE_1( "ConnectWithSnapId::AccessPoint - %d", iIapID );
+ CApAccessPointItem* ap = APItemFromIAPIdLC( iIapID );
+ UpdateCurrentAPL( *ap, EFalse );
+ CleanupStack::PopAndDestroy(); // ap
+ }
+ }
}
#endif
@@ -2101,18 +2152,17 @@
if ( !connErr )
{
+ if(iConnection.SubSessionHandle() <= 0)
+ {
+ // RConnection handle is invalid, we haven't opened the RConnection yet.
connErr = iConnection.Open( iServ, KAfInet );
+ }
CLOG_WRITE_1( "RConnection: %d", connErr );
if( connErr == KErrNone )
{
//connect with snap id
connErr = iSyncConnector->ConnectSnap( overrides );
}
- if( connErr != KErrNone )
- {
- CLOG_WRITE( "Closing all" );
- iConnection.Close();
- }
}
CleanupStack::PopAndDestroy();//overrides
@@ -2154,5 +2204,15 @@
}
iWaitDialog->RunLD();
}
+
+//-------------------------------------------------------------------
+//CInternetConnectionManager::SetOccPreferences
+//-------------------------------------------------------------------
+
+void CInternetConnectionManager::SetOccPreferences( TSetOCCPreferences aOCCPreferences)
+ {
+ if( iSyncConnector )
+ iSyncConnector->SetOccPreferences(aOCCPreferences);
+ }
// End of File