otter: gps/location: Update to LA.UM.9.14.1.r1-13200-QCM6490.QSSI14.0
Change-Id: I5165374321f12d7fc260c2c261582daab10bd3d9
diff --git a/gps/gnss/GnssAdapter.h b/gps/gnss/GnssAdapter.h
index d7b4275..506cfb1 100644
--- a/gps/gnss/GnssAdapter.h
+++ b/gps/gnss/GnssAdapter.h
@@ -42,6 +42,7 @@
#include <loc_misc_utils.h>
#include <queue>
#include <NativeAgpsHandler.h>
+#include <unordered_map>
#define MAX_URL_LEN 256
#define NMEA_SENTENCE_MAX_LENGTH 200
@@ -258,10 +259,17 @@
OdcpiRequestCallback mOdcpiRequestCb;
bool mOdcpiRequestActive;
OdcpiPrioritytype mCallbackPriority;
+ typedef uint8_t OdcpiStateMask;
+ OdcpiStateMask mOdcpiStateMask;
+ typedef enum {
+ ODCPI_REQ_ACTIVE = (1<<0),
+ CIVIC_ADDRESS_REQ_ACTIVE = (1<<1)
+ } OdcpiStateBits;
OdcpiTimer mOdcpiTimer;
OdcpiRequestInfo mOdcpiRequest;
+ std::unordered_map<OdcpiPrioritytype, OdcpiRequestCallback> mNonEsOdcpiReqCbMap;
void odcpiTimerExpire();
-
+ std::function<void(const Location&)> mAddressRequestCb;
/* ==== DELETEAIDINGDATA =============================================================== */
int64_t mLastDeleteAidingDataTime;
@@ -300,8 +308,20 @@
int totalSvCntInThisConstellation);
/* ======== UTILITIES ================================================================== */
- inline void initOdcpi(const OdcpiRequestCallback& callback, OdcpiPrioritytype priority);
+ inline void initOdcpi(const OdcpiRequestCallback& callback,
+ OdcpiPrioritytype priority,
+ OdcpiCallbackTypeMask typeMask);
+ inline void deRegisterOdcpi(OdcpiPrioritytype priority, OdcpiCallbackTypeMask typeMask) {
+ if (typeMask & NON_EMERGENCY_ODCPI) {
+ mNonEsOdcpiReqCbMap.erase(priority);
+ }
+ }
inline void injectOdcpi(const Location& location);
+ void fireOdcpiRequest(const OdcpiRequestInfo& request);
+ //inline void setAddressRequestCb(const std::function<void(const Location&)>& addressRequestCb)
+ //{ mAddressRequestCb = addressRequestCb;}
+ //inline void injectLocationAndAddr(const Location& location, const GnssCivicAddress& addr)
+ //{ mLocApi->injectPositionAndCivicAddress(location, addr);}
static bool isFlpClient(LocationCallbacks& locationCallbacks);
/*==== DGnss Ntrip Source ==========================================================*/
@@ -468,8 +488,12 @@
LocEngineRunState engState);
/* ========= ODCPI ===================================================================== */
+
/* ======== COMMANDS ====(Called from Client Thread)==================================== */
- void initOdcpiCommand(const OdcpiRequestCallback& callback, OdcpiPrioritytype priority);
+ void initOdcpiCommand(const OdcpiRequestCallback& callback,
+ OdcpiPrioritytype priority,
+ OdcpiCallbackTypeMask typeMask);
+ void deRegisterOdcpiCommand(OdcpiPrioritytype priority, OdcpiCallbackTypeMask typeMask);
void injectOdcpiCommand(const Location& location);
/* ======== RESPONSES ================================================================== */
void reportResponse(LocationError err, uint32_t sessionId);
@@ -628,7 +652,6 @@
void setSuplHostServer(const char* server, int port, LocServerType type);
void notifyClientOfCachedLocationSystemInfo(LocationAPI* client,
const LocationCallbacks& callbacks);
- LocationCapabilitiesMask getCapabilities();
void updateSystemPowerStateCommand(PowerStateType systemPowerState);
/*==== DGnss Usable Report Flag ====================================================*/