summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorWei Chen <weic@codeaurora.org>2018-09-19 10:59:28 -0700
committerWei Chen <weic@codeaurora.org>2018-10-08 12:26:06 -0700
commit21b9c4e47ed5811f53d764c38943e3b971bde5e8 (patch)
tree7050d4d2124d0ff0abd72605cd4a58598892d6a6 /core
parent5b53be1d9e037a197cdc56b65c73543c63051df1 (diff)
downloadgps-21b9c4e47ed5811f53d764c38943e3b971bde5e8.tar.gz
FR48381: Support leap second change event
Support leap second change event (1) Info will be available in location api and location client api (2) Engine hub aggregator will use the info to calculate UTC timestamp Change-Id: Ie79c1a38301fa094134a4a31af424487758343f6 CRs-fixed: 2289457
Diffstat (limited to 'core')
-rw-r--r--core/EngineHubProxyBase.h5
-rw-r--r--core/LocAdapterBase.cpp4
-rw-r--r--core/LocAdapterBase.h2
-rw-r--r--core/LocApiBase.cpp6
-rw-r--r--core/LocApiBase.h1
5 files changed, 18 insertions, 0 deletions
diff --git a/core/EngineHubProxyBase.h b/core/EngineHubProxyBase.h
index 455c52e..34af4d0 100644
--- a/core/EngineHubProxyBase.h
+++ b/core/EngineHubProxyBase.h
@@ -85,6 +85,11 @@ public:
(void) svEphemeris;
return false;
}
+
+ inline virtual bool gnssReportSystemInfo(const LocationSystemInfo& systemInfo) {
+ (void) systemInfo;
+ return false;
+ }
};
typedef std::function<void(const UlpLocation& ulpLocation,
diff --git a/core/LocAdapterBase.cpp b/core/LocAdapterBase.cpp
index 42cf7aa..3f82dd6 100644
--- a/core/LocAdapterBase.cpp
+++ b/core/LocAdapterBase.cpp
@@ -131,6 +131,10 @@ bool LocAdapterBase::
const char* /*url3*/, const int /*maxlength*/)
DEFAULT_IMPL(false)
+void LocAdapterBase::
+ reportLocationSystemInfoEvent(const LocationSystemInfo& /*locationSystemInfo*/)
+DEFAULT_IMPL()
+
bool LocAdapterBase::
requestXtraData()
DEFAULT_IMPL(false)
diff --git a/core/LocAdapterBase.h b/core/LocAdapterBase.h
index a934817..e4f7be2 100644
--- a/core/LocAdapterBase.h
+++ b/core/LocAdapterBase.h
@@ -151,6 +151,8 @@ public:
virtual void reportStatus(LocGpsStatusValue status);
virtual bool reportXtraServer(const char* url1, const char* url2,
const char* url3, const int maxlength);
+ virtual void reportLocationSystemInfoEvent(const LocationSystemInfo& locationSystemInfo);
+
virtual bool requestXtraData();
virtual bool requestTime();
virtual bool requestLocation();
diff --git a/core/LocApiBase.cpp b/core/LocApiBase.cpp
index b2642ca..c2ee411 100644
--- a/core/LocApiBase.cpp
+++ b/core/LocApiBase.cpp
@@ -461,6 +461,12 @@ void LocApiBase::reportXtraServer(const char* url1, const char* url2,
}
+void LocApiBase::reportLocationSystemInfo(const LocationSystemInfo& locationSystemInfo)
+{
+ // loop through adapters, and deliver to all adapters.
+ TO_ALL_LOCADAPTERS(mLocAdapters[i]->reportLocationSystemInfoEvent(locationSystemInfo));
+}
+
void LocApiBase::requestXtraData()
{
// loop through adapters, and deliver to the first handling adapter.
diff --git a/core/LocApiBase.h b/core/LocApiBase.h
index 77c57d9..e5dfebf 100644
--- a/core/LocApiBase.h
+++ b/core/LocApiBase.h
@@ -171,6 +171,7 @@ public:
void reportData(GnssDataNotification& dataNotify, int msInWeek);
void reportXtraServer(const char* url1, const char* url2,
const char* url3, const int maxlength);
+ void reportLocationSystemInfo(const LocationSystemInfo& locationSystemInfo);
void requestXtraData();
void requestTime();
void requestLocation();