supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplconnrequestor.cpp
changeset 25 73f6c2762ffe
parent 22 4c4ed41530db
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplconnrequestor.cpp	Fri May 14 16:17:02 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplconnrequestor.cpp	Thu May 27 13:18:17 2010 +0300
@@ -47,7 +47,8 @@
     				 						 iCommMgr(aCommMgr), 
     				 						 iProtocolManager(aProtoMgr),
     				 						 iPort(aPort),
-    				 						 iObserver( aObserver)
+    				 						 iObserver( aObserver),
+    				 						 iTriggerSession(EFalse)
     {
 			
     }
@@ -116,6 +117,14 @@
 //    
 void COMASuplConnRequestor::CreateConnectionL(TBool aTriggerSession)
 	{
+	if(!iIsSettingInitilized)
+        {
+        iTriggerSession = aTriggerSession;
+				iState = EInitialState;
+        InitilizeSetting();
+        }
+    else
+        {
 		TBuf<100> iapName;
 		TBuf<128> buffer;
 		iState = EConnecting;  
@@ -159,6 +168,7 @@
 				iObserver.OperationCompleteL(errorCode);
 			}
 	}
+    }
 
 // -----------------------------------------------------------------------------
 // COMASuplConnRequestor::OpenConnection
@@ -215,6 +225,7 @@
 		}
 		else
 		{
+		iState = EInitilizeSetting;
 			InitilizeSetting();
 		}
 	}
@@ -261,6 +272,14 @@
     	switch(iState)
     		{
     		
+		case EInitialState:
+            {
+            iIsSettingInitilized = ETrue;
+            iTrace->Trace(_L("Setting API Initilizing Completed..."), KTraceFileName, __LINE__);
+            CreateConnectionL(iTriggerSession);
+            
+            break;
+            }
 			case  EConnecting:
 				{
 					if(iLastConnectionError < 0)
@@ -362,7 +381,7 @@
 void COMASuplConnRequestor::InitilizeSetting()
 	{
 			iTrace->Trace(_L("Intilizing Setting API..."), KTraceFileName, __LINE__); 				
-			iState = EInitilizeSetting;
+			
 			iSuplSettings->Initialize(iStatus);
 			SetActive();
 	}