supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp
branchRCL_3
changeset 42 02ba3f1733c6
parent 0 667063e416a2
child 44 2b4ea9893b66
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp	Thu Jul 15 19:06:58 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp	Thu Aug 19 10:20:18 2010 +0300
@@ -149,8 +149,22 @@
 //
 TInt COMASuplStartState::GenerateMessageL() 
 	{
-		iTrace->Trace(_L("Start of COMASuplStartState::GenerateMessage"), KTraceFileName, __LINE__); 					
-		iLocationIDRequestor->GetLocationID();
+		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 +1010,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