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