diff -r 380473e13443 -r d746aee05493 supl/locationsuplfw/protocolhandlerapi/src/epos_csuplcommunicationmanager.cpp --- a/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplcommunicationmanager.cpp Mon Jun 21 16:08:35 2010 +0300 +++ b/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplcommunicationmanager.cpp Thu Jul 15 19:06:58 2010 +0300 @@ -36,8 +36,8 @@ // ============================ MEMBER FUNCTIONS =============================== -CSuplCommunicationManager::CSuplCommunicationManager(): - iServerConnected(EFalse) +CSuplCommunicationManager::CSuplCommunicationManager(MSuplConnectionMonitor& aConnMonitor): + iServerConnected(EFalse), iConnMonitor(aConnMonitor) { } @@ -49,9 +49,9 @@ iTrace->Trace(_L("CSuplCommunicationManager::ConstructL"), KTraceFileName, __LINE__); } -EXPORT_C CSuplCommunicationManager* CSuplCommunicationManager::NewL() +EXPORT_C CSuplCommunicationManager* CSuplCommunicationManager::NewL(MSuplConnectionMonitor& aConnMonitor) { - CSuplCommunicationManager* self = new( ELeave ) CSuplCommunicationManager; + CSuplCommunicationManager* self = new( ELeave ) CSuplCommunicationManager(aConnMonitor); CleanupStack::PushL( self ); self->ConstructL(); @@ -127,7 +127,8 @@ suplConnection = CSuplConnection::NewL(iSocketServ, aHostAddress, aPort, aIAPId, this); iConnArray.Append(suplConnection); iTrace->Trace(_L("CSuplCommunicationManager::CreateConnectionL New Connection Created"), KTraceFileName, __LINE__); - } + iConnMonitor.ConnectionOpened(); + } else { // Check if we have exceeded the max no. of sessions @@ -140,8 +141,9 @@ suplConnection = CSuplConnection::NewL(iSocketServ, aHostAddress, aPort, aIAPId, this); iConnArray.Append(suplConnection); iTrace->Trace(_L("CSuplCommunicationManager::CreateConnectionL New Connection Created"), KTraceFileName, __LINE__); - } + iConnMonitor.ConnectionOpened(); } + } // Increment the Ref Count suplConnection->IncRefCount(); @@ -181,6 +183,7 @@ { suplConnection = CSuplConnection::NewL(iSocketServ, aHostAddress, aPort, aIAPId, aTls, aPskTls, this); iConnArray.Append(suplConnection); + iConnMonitor.ConnectionOpened(); iTrace->Trace(_L("CSuplCommunicationManager::CreateConnectionL New Connection Created"), KTraceFileName, __LINE__); } else @@ -194,6 +197,7 @@ { suplConnection = CSuplConnection::NewL(iSocketServ, aHostAddress, aPort, aIAPId, aTls, aPskTls, this); iConnArray.Append(suplConnection); + iConnMonitor.ConnectionOpened(); iTrace->Trace(_L("CSuplCommunicationManager::CreateConnectionL New Connection Created"), KTraceFileName, __LINE__); } } @@ -243,6 +247,8 @@ iTrace->Trace(_L("CSuplCommunicationManager::DestroyConnection Destroy Connection"), KTraceFileName, __LINE__); aConnection->Destroy(); + iConnMonitor.ConnectionClosed(); + return KErrNone; }