supl/locationsuplfw/gateway/src/epos_csuplsessionmanager.cpp
branchRCL_3
changeset 41 d746aee05493
parent 0 667063e416a2
child 42 02ba3f1733c6
--- a/supl/locationsuplfw/gateway/src/epos_csuplsessionmanager.cpp	Mon Jun 21 16:08:35 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplsessionmanager.cpp	Thu Jul 15 19:06:58 2010 +0300
@@ -49,7 +49,8 @@
 void CSuplSessionManager::ConstructL()
     {
     DEBUG_TRACE("CSuplSessionManager::ConstructL", __LINE__)            
-    iCommMgr = CSuplCommunicationManager::NewL();
+	iSessionRetryQ = CSuplSessionRetryQ::NewL();
+    iCommMgr = CSuplCommunicationManager::NewL(*this);
     iCommMgr->Initialize();
     iConnectError=KErrNone;
     }
@@ -72,6 +73,7 @@
     if(iProtocolMgr)          
     delete iProtocolMgr;
     delete iCommMgr;
+	delete iSessionRetryQ;
     delete iEcomWatcher;
     REComSession::FinalClose();
     }
@@ -465,5 +467,26 @@
 		User::RequestComplete(status,KErrNotReady);
 		}	
 	}
+	
+void CSuplSessionManager::ConnectionOpened()
+	{
+	iSessionRetryQ->SessionStarted();	
+	}
+
+void CSuplSessionManager::ConnectionClosed()
+	{
+	iSessionRetryQ->SessionEnded();	
+	}
+
+
+void CSuplSessionManager::QueueForReIssueRequestL(CSuplSessionRequest& aSessionRequest)
+	{
+	iSessionRetryQ->AddToQueueL(aSessionRequest);
+	}
+
+void CSuplSessionManager::RemoveFromQueueForReIssueRequest(CSuplSessionRequest& aSessionRequest)
+	{
+	iSessionRetryQ->RemoveFromQueueL(aSessionRequest);
+	}	
     
 // End of File