diff --git a/core/LocAdapterBase.cpp b/core/LocAdapterBase.cpp index 6a3f969b..899ad847 100644 --- a/core/LocAdapterBase.cpp +++ b/core/LocAdapterBase.cpp @@ -146,4 +146,9 @@ DEFAULT_IMPL(false) void LocAdapterBase:: reportGnssMeasurementData(GnssData &gnssMeasurementData) DEFAULT_IMPL() + +bool LocAdapterBase:: + reportWwanZppFix(GpsLocation &zppLoc) +DEFAULT_IMPL(false) + } // namespace loc_core diff --git a/core/LocAdapterBase.h b/core/LocAdapterBase.h index af251386..0b1d3d94 100644 --- a/core/LocAdapterBase.h +++ b/core/LocAdapterBase.h @@ -124,6 +124,7 @@ public: inline virtual bool isInSession() { return false; } ContextBase* getContext() const { return mContext; } virtual void reportGnssMeasurementData(GnssData &gnssMeasurementData); + virtual bool reportWwanZppFix(GpsLocation &zppLoc); }; } // namespace loc_core diff --git a/core/LocApiBase.cpp b/core/LocApiBase.cpp index fdfc537b..3af79b2d 100644 --- a/core/LocApiBase.cpp +++ b/core/LocApiBase.cpp @@ -254,6 +254,12 @@ void LocApiBase::reportPosition(UlpLocation &location, ); } +void LocApiBase::reportWwanZppFix(GpsLocation &zppLoc) +{ + // loop through adapters, and deliver to the first handling adapter. + TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->reportWwanZppFix(zppLoc)); +} + void LocApiBase::reportSv(GnssSvStatus &svStatus, GpsLocationExtended &locationExtended, void* svExt) @@ -524,7 +530,7 @@ enum loc_api_adapter_err LocApiBase:: DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) enum loc_api_adapter_err LocApiBase:: - getWwanZppFix(GpsLocation& zppLoc) + getWwanZppFix() DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) enum loc_api_adapter_err LocApiBase:: diff --git a/core/LocApiBase.h b/core/LocApiBase.h index 066695ca..4655332e 100644 --- a/core/LocApiBase.h +++ b/core/LocApiBase.h @@ -136,6 +136,7 @@ public: void saveSupportedMsgList(uint64_t supportedMsgList); void reportGnssMeasurementData(GnssData &gnssMeasurementData); void saveSupportedFeatureList(uint8_t *featureList); + void reportWwanZppFix(GpsLocation &zppLoc); // downward calls // All below functions are to be defined by adapter specific modules: @@ -209,7 +210,7 @@ public: virtual enum loc_api_adapter_err setLPPeProtocol(unsigned long lppeCP, unsigned long lppeUP); virtual enum loc_api_adapter_err - getWwanZppFix(GpsLocation & zppLoc); + getWwanZppFix(); virtual enum loc_api_adapter_err getBestAvailableZppFix(GpsLocation & zppLoc); virtual enum loc_api_adapter_err