aboutsummaryrefslogtreecommitdiff
path: root/gps/loc_api/libloc_api_50001/LocEngAdapter.h
diff options
context:
space:
mode:
Diffstat (limited to 'gps/loc_api/libloc_api_50001/LocEngAdapter.h')
-rw-r--r--gps/loc_api/libloc_api_50001/LocEngAdapter.h48
1 files changed, 39 insertions, 9 deletions
diff --git a/gps/loc_api/libloc_api_50001/LocEngAdapter.h b/gps/loc_api/libloc_api_50001/LocEngAdapter.h
index 8964ede..407b390 100644
--- a/gps/loc_api/libloc_api_50001/LocEngAdapter.h
+++ b/gps/loc_api/libloc_api_50001/LocEngAdapter.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 2011-2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2011-2016, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -55,7 +55,7 @@ public:
void* locationExt,
enum loc_sess_status status,
LocPosTechMask loc_technology_mask);
- virtual void reportSv(QcomSvStatus &svStatus,
+ virtual void reportSv(GnssSvStatus &svStatus,
GpsLocationExtended &locationExtended,
void* svExt);
virtual void reportStatus(GpsStatusValue status);
@@ -80,11 +80,14 @@ class LocEngAdapter : public LocAdapterBase {
unsigned int mPowerVote;
static const unsigned int POWER_VOTE_RIGHT = 0x20;
static const unsigned int POWER_VOTE_VALUE = 0x10;
-
+ /** Gnss sv used in position data */
+ GnssSvUsedInPosition mGnssSvIdUsedInPosition;
+ bool mGnssSvIdUsedInPosAvail;
public:
bool mSupportsAgpsRequests;
bool mSupportsPositionInjection;
bool mSupportsTimeInjection;
+ GnssSystemInfo mGnssInfo;
LocEngAdapter(LOC_API_ADAPTER_EVENT_MASK_T mask,
void* owner, ContextBase* context,
@@ -105,8 +108,30 @@ public:
inline bool hasCPIExtendedCapabilities() {
return mContext->hasCPIExtendedCapabilities();
}
+ inline bool hasNativeXtraClient() {
+ return mContext->hasNativeXtraClient();
+ }
inline const MsgTask* getMsgTask() { return mMsgTask; }
+ inline void clearGnssSvUsedListData() {
+ mGnssSvIdUsedInPosAvail = false;
+ memset(&mGnssSvIdUsedInPosition, 0, sizeof (GnssSvUsedInPosition));
+ }
+
+ inline void setGnssSvUsedListData(GnssSvUsedInPosition gnssSvUsedIds) {
+ mGnssSvIdUsedInPosAvail = true;
+ memcpy(&mGnssSvIdUsedInPosition, &gnssSvUsedIds,
+ sizeof(GnssSvUsedInPosition));
+ }
+
+ inline GnssSvUsedInPosition getGnssSvUsedListData() {
+ return mGnssSvIdUsedInPosition;
+ }
+
+ inline bool isGnssSvIdUsedInPosAvail() {
+ return mGnssSvIdUsedInPosAvail;
+ }
+
inline enum loc_api_adapter_err
startFix()
{
@@ -187,6 +212,11 @@ public:
return mLocApi->setSUPLVersion(version);
}
inline enum loc_api_adapter_err
+ setNMEATypes (uint32_t typesMask)
+ {
+ return mLocApi->setNMEATypes(typesMask);
+ }
+ inline enum loc_api_adapter_err
setLPPConfig(uint32_t profile)
{
return mLocApi->setLPPConfig(profile);
@@ -222,14 +252,14 @@ public:
algorithmConfig);
}
inline virtual enum loc_api_adapter_err
- setExtPowerConfig(int isBatteryCharging)
+ setAGLONASSProtocol(unsigned long aGlonassProtocol)
{
- return mLocApi->setExtPowerConfig(isBatteryCharging);
+ return mLocApi->setAGLONASSProtocol(aGlonassProtocol);
}
inline virtual enum loc_api_adapter_err
- setAGLONASSProtocol(unsigned long aGlonassProtocol)
+ setLPPeProtocol(unsigned long lppeCP, unsigned long lppeUP)
{
- return mLocApi->setAGLONASSProtocol(aGlonassProtocol);
+ return mLocApi->setLPPeProtocol(lppeCP, lppeUP);
}
inline virtual int initDataServiceClient()
{
@@ -269,7 +299,7 @@ public:
void* locationExt,
enum loc_sess_status status,
LocPosTechMask loc_technology_mask);
- virtual void reportSv(QcomSvStatus &svStatus,
+ virtual void reportSv(GnssSvStatus &svStatus,
GpsLocationExtended &locationExtended,
void* svExt);
virtual void reportStatus(GpsStatusValue status);
@@ -284,7 +314,7 @@ public:
virtual bool requestSuplES(int connHandle);
virtual bool reportDataCallOpened();
virtual bool reportDataCallClosed();
- virtual void reportGpsMeasurementData(GpsData &gpsMeasurementData);
+ virtual void reportGnssMeasurementData(GnssData &gnssMeasurementData);
inline const LocPosMode& getPositionMode() const
{return mFixCriteria;}