supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplconnrequestor.cpp
--- 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();
}