From b47eea6b2373d42c5cf9153d2211fd08b9d9272a Mon Sep 17 00:00:00 2001 From: Kevin Tang Date: Wed, 7 Mar 2018 10:19:24 -0800 Subject: [PATCH] GPS GNSS adapter: connectivity support for engine hub (1) allow engine hub to be able to receive connectivity status update (2) fix kw warning in LocIpc.h Change-Id: I62ac534639003051a8992c143ff273d5ff66ee5a CRs-fixed: 2198446 --- core/EngineHubProxyBase.h | 1 + gnss/GnssAdapter.cpp | 3 ++- gnss/GnssAdapter.h | 1 + utils/LocIpc.h | 6 +++--- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/core/EngineHubProxyBase.h b/core/EngineHubProxyBase.h index c17b2c29..7b9f3ae8 100644 --- a/core/EngineHubProxyBase.h +++ b/core/EngineHubProxyBase.h @@ -101,6 +101,7 @@ typedef std::function // potential parameters: message queue: MsgTask * msgTask; // callback function to report back dr and ppe position and sv report typedef EngineHubProxyBase* (getEngHubProxyFn)(const MsgTask * msgTask, + IOsObserver* osObserver, GnssAdapterReportPositionEventCb positionEventCb, GnssAdapterReportSvEventCb svEventCb); diff --git a/gnss/GnssAdapter.cpp b/gnss/GnssAdapter.cpp index a57d1a40..f996ebee 100644 --- a/gnss/GnssAdapter.cpp +++ b/gnss/GnssAdapter.cpp @@ -3310,7 +3310,8 @@ GnssAdapter::initEngHubProxy() { getEngHubProxyFn* getter = (getEngHubProxyFn*) dlsym(handle, "getEngHubProxy"); if(getter != nullptr) { - EngineHubProxyBase* hubProxy = (*getter) (mMsgTask, reportPositionEventCb, + EngineHubProxyBase* hubProxy = (*getter) (mMsgTask, mSystemStatus->getOsObserver(), + reportPositionEventCb, reportSvEventCb); if (hubProxy != nullptr) { mEngHubProxy = hubProxy; diff --git a/gnss/GnssAdapter.h b/gnss/GnssAdapter.h index e047f75b..c1e17545 100644 --- a/gnss/GnssAdapter.h +++ b/gnss/GnssAdapter.h @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include diff --git a/utils/LocIpc.h b/utils/LocIpc.h index 8598a327..0c37a7ad 100644 --- a/utils/LocIpc.h +++ b/utils/LocIpc.h @@ -140,10 +140,10 @@ private: std::shared_ptr mSocket; struct sockaddr_un mDestAddr; - inline LocIpcSender( - const std::shared_ptr& mySocket, const char* destSocket) : mSocket(mySocket) { + inline LocIpcSender(const std::shared_ptr& mySocket, const char* destSocket) : + mSocket(mySocket), + mDestAddr({.sun_family = AF_UNIX, {}}) { if ((nullptr != mSocket) && (-1 != *mSocket) && (nullptr != destSocket)) { - mDestAddr.sun_family = AF_UNIX; snprintf(mDestAddr.sun_path, sizeof(mDestAddr.sun_path), "%s", destSocket); } }