supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplconnrequestor.cpp
branchRCL_3
changeset 23 5944cae565c9
parent 0 667063e416a2
child 44 2b4ea9893b66
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplconnrequestor.cpp	Tue Apr 27 17:05:00 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplconnrequestor.cpp	Tue May 11 16:36:36 2010 +0300
@@ -50,7 +50,8 @@
     				 						 iObserver( aObserver),    				 						  
     				 						 iIapDialogShown(EFalse),
     				 						 iIapDlgTimerExpired(EFalse),    				 			            
-    				 			             iIsTimeoutDialogTimerStarted(EFalse)
+    				 			             iIsTimeoutDialogTimerStarted(EFalse),
+											 iTriggerSession(EFalse)
     {
 			
     }
@@ -124,6 +125,14 @@
 //    
 void COMASuplConnRequestor::CreateConnectionL(TBool aTriggerSession)
 	{
+	if(!iIsSettingInitilized)
+        {
+		iTriggerSession = aTriggerSession;
+		iState = EInitialState;
+        InitilizeSetting();
+        }
+    else
+        {
 		TBuf<100> iapName;
 		TBuf<128> buffer;
 		iState = EConnecting;  
@@ -179,6 +188,7 @@
 				iHostAddress.Zero();
 				iObserver.OperationCompleteL(errorCode);
 			}
+		}
 	}
 
 // -----------------------------------------------------------------------------
@@ -237,9 +247,10 @@
 				SetActive();
 			}
 		}
-		else
+	else
 		{
-			InitilizeSetting();
+		iState = EInitilizeSetting;
+		InitilizeSetting();
 		}
 	}
     
@@ -284,6 +295,15 @@
     	
     	switch(iState)
     		{
+			
+			case EInitialState:
+	            {
+	            iIsSettingInitilized = ETrue;
+	            iTrace->Trace(_L("Setting API Initilizing Completed..."), KTraceFileName, __LINE__);
+	            CreateConnectionL(iTriggerSession);
+	            
+	            break;
+	            }
     		
 			case  EConnecting:
 				{
@@ -386,7 +406,6 @@
 void COMASuplConnRequestor::InitilizeSetting()
 	{
 			iTrace->Trace(_L("Intilizing Setting API..."), KTraceFileName, __LINE__); 				
-			iState = EInitilizeSetting;
 			iSuplSettings->Initialize(iStatus);
 			SetActive();
 	}