supl/locationsuplfw/gateway/inc/epos_csuplsessionmanager.h
changeset 39 3efc7a0e8755
parent 32 b12ea03c50a3
--- a/supl/locationsuplfw/gateway/inc/epos_csuplsessionmanager.h	Fri Jul 23 19:40:48 2010 +0530
+++ b/supl/locationsuplfw/gateway/inc/epos_csuplsessionmanager.h	Fri Aug 06 19:34:22 2010 +0530
@@ -27,6 +27,8 @@
 #include <epos_suplterminaltrigger.h>
 #include <epos_suplgeocellinfo.h>
 #include "epos_csuplecomeventwatcher.h"
+#include "epos_csuplsessionretryq.h"
+#include "epos_csuplcommunicationmanager.h"
 
 // FORWARD DECLARATIONS
 class CSUPLProtocolManagerBase;
@@ -39,7 +41,7 @@
 /**
 *  Class to handle SUPL sessions 
 */
-class CSuplSessionManager : public CBase
+class CSuplSessionManager : public CBase, MSuplConnectionMonitor
 	{
     public:  // Constructors and destructor
 
@@ -69,6 +71,8 @@
         void DeInitialize(TRequestStatus& aStatus);
         void CancelDeInitialize();
 
+		void QueueForReIssueRequestL(CSuplSessionRequest& aSessionRequest);
+		void RemoveFromQueueForReIssueRequest(CSuplSessionRequest& aSessionRequest);
 		void StartTriggerSessionL(
 				CSuplSessionBase* aSuplSession,
 				TRequestStatus& aStatus,
@@ -87,16 +91,30 @@
         		TSuplTriggerFireInfo& aFireInfo
         	);
 		
+	   /**
+        * Get SUPL message version.
+        */
 		TInt GetSUPLMessageVersionL(TInt& aMajorVersion, const TDesC8& aReceivedMessage);
 		
 		
+	   /**
+        * Makes location conversion request.
+        */
 		void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
 		                                             TGeoCellInfo& aCellInfo,
 		                                             TRequestStatus& aStatus
 		                                           );	                                           
-		                                           
+		
+		/**
+		 * Cancels outstanding conversion request.
+		 */
 		void CancelLocationConversionRequest(CSuplSessionBase *aSessn);
 		
+	
+		// from MSuplConnectionMonitor
+		void ConnectionOpened();
+		void ConnectionClosed();
+	
     private:
 
         /**
@@ -120,7 +138,7 @@
         CSuplCommunicationManager*  iCommMgr;
         TInt iConnectError;
         CSuplEcomEventWatcher*      iEcomWatcher;
-
+		CSuplSessionRetryQ*			iSessionRetryQ;
     };