supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp
changeset 32 b12ea03c50a3
parent 0 667063e416a2
child 39 3efc7a0e8755
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp	Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp	Wed Jun 23 18:40:52 2010 +0300
@@ -149,9 +149,24 @@
 //
 TInt COMASuplStartState::GenerateMessageL() 
 	{
-		iTrace->Trace(_L("Start of COMASuplStartState::GenerateMessage"), KTraceFileName, __LINE__); 					
-		iLocationIDRequestor->GetLocationID();
-		return KErrNone;
+    
+    iTrace->Trace(_L("Start of COMASuplStartState::GenerateMessage"), KTraceFileName, __LINE__);
+          //if no cell stale cell id is available, retrieve current cell id
+          if(!iIsStaleCellId)
+              {
+              iTrace->Trace(_L("COMASuplStartState::GenerateMessage stale cell id false"), KTraceFileName, __LINE__);
+              iLocationIDRequestor->GetLocationID();
+              iTrace->Trace(_L("COMASuplStartState::GenerateMessage called get location id"), KTraceFileName, __LINE__);
+              }
+          else // dont retrieve current cell id as cell id was already provided
+              {
+              iGenerationStatus = EFalse;
+              iECId = EFalse;
+              iTrace->Trace(_L("COMASuplStartState::GenerateMessage stale cell id true"), KTraceFileName, __LINE__);
+              GetAssistceDataFromPluginL(KErrNone);
+              }
+          
+          return KErrNone;
 	}
 	
 // -----------------------------------------------------------------------------
@@ -996,4 +1011,15 @@
 	aCurrentCellId.iMCC = lRefMCC;
 	aCurrentCellId.iLac = lRefLAC;
 	}
-}	//  End of File
+}
+void COMASuplStartState::SetStaleCellIdToUse(COMASuplLocationId* aLocationId)
+    {
+    if(iLocationId)
+        {
+        delete iLocationId;
+        iLocationId = NULL;
+        }
+    iLocationId = aLocationId;
+    iIsStaleCellId = ETrue;
+    }
+//  End of File