summaryrefslogtreecommitdiff
path: root/gnss/GnssAdapter.h
diff options
context:
space:
mode:
authorDante Russo <drusso@codeaurora.org>2018-09-11 15:36:47 -0700
committerWei Chen <weic@codeaurora.org>2018-09-26 14:17:30 -0700
commit2bef34e8b2b6ffa021cc5544efab5dfdcc802ef3 (patch)
tree748f72f834f0bda248dd55aab905bd2ab7b0943f /gnss/GnssAdapter.h
parente183c751515ff530588523c0bd4bc8114ff8c9d1 (diff)
downloadgps-2bef34e8b2b6ffa021cc5544efab5dfdcc802ef3.tar.gz
FR47184: tunc constrained and position assisted time estimator
(1) Configure tunc constrained module on modem via gps.conf (2) Configure position assisted time estimator and inject DRE position with additional info to modem (3) Support get total energy consumption API by GNSS engine since device first bootup Change-Id: I1e73057df090c1d356c55a498f06eed45839ca8f CRs-fixed: 2276355
Diffstat (limited to 'gnss/GnssAdapter.h')
-rw-r--r--gnss/GnssAdapter.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gnss/GnssAdapter.h b/gnss/GnssAdapter.h
index 3f2afaa..b328884 100644
--- a/gnss/GnssAdapter.h
+++ b/gnss/GnssAdapter.h
@@ -124,6 +124,10 @@ namespace loc_core {
class SystemStatus;
}
+typedef std::function<void(
+ uint64_t gnssEnergyConsumedFromFirstBoot
+)> GnssEnergyConsumedCallback;
+
class GnssAdapter : public LocAdapterBase {
/* ==== Engine Hub ===================================================================== */
@@ -172,6 +176,9 @@ class GnssAdapter : public LocAdapterBase {
/* === Misc ===================================================================== */
BlockCPIInfo mBlockCPIInfo;
+ /* === Misc callback from QMI LOC API ============================================== */
+ GnssEnergyConsumedCallback mGnssEnergyConsumedCb;
+
/*==== CONVERSION ===================================================================*/
static void convertOptions(LocPosMode& out, const TrackingOptions& trackingOptions);
static void convertLocation(Location& out, const UlpLocation& ulpLocation,
@@ -295,6 +302,7 @@ public:
const char* apnName, int apnLen, AGpsBearerType bearerType);
void dataConnClosedCommand(AGpsExtType agpsType);
void dataConnFailedCommand(AGpsExtType agpsType);
+ void getGnssEnergyConsumedCommand(GnssEnergyConsumedCallback energyConsumedCb);
/* ========= ODCPI ===================================================================== */
/* ======== COMMANDS ====(Called from Client Thread)==================================== */
@@ -334,6 +342,7 @@ public:
virtual void reportSvPolynomialEvent(GnssSvPolynomial &svPolynomial);
virtual void reportGnssSvIdConfigEvent(const GnssSvIdConfig& config);
virtual void reportGnssSvTypeConfigEvent(const GnssSvTypeConfig& config);
+ virtual bool reportGnssEngEnergyConsumedEvent(uint64_t energyConsumedSinceFirstBoot);
virtual bool requestATL(int connHandle, LocAGpsType agps_type, LocApnTypeMask apn_type_mask);
virtual bool releaseATL(int connHandle);
@@ -354,6 +363,8 @@ public:
void reportGnssSvIdConfig(const GnssSvIdConfig& config);
void reportGnssSvTypeConfig(const GnssSvTypeConfig& config);
void requestOdcpi(const OdcpiRequestInfo& request);
+ void invokeGnssEnergyConsumedCallback(uint64_t energyConsumedSinceFirstBoot);
+ void saveGnssEnergyConsumedCallback(GnssEnergyConsumedCallback energyConsumedCb);
/*======== GNSSDEBUG ================================================================*/
bool getDebugReport(GnssDebugReport& report);