supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp
--- 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