diff options
author | Bruno Martins <bgcngm@gmail.com> | 2016-12-04 12:06:39 +0000 |
---|---|---|
committer | davidevinavil <davidevinavil@gmail.com> | 2017-01-21 18:29:23 +0100 |
commit | 4bfff05a88cb2baca116cd03a27b6bc8937e07f7 (patch) | |
tree | 06e60070c6e3d4ccc6643b65b06a9e94726146d5 /gps/izat_api | |
parent | 6818ac6afaa76a95c469707f5c1ddcfead73a634 (diff) |
z2_plus: Import QC location source
* Tag: LA.UM.5.5.r1-01800-8x96.0
Change-Id: Ib33b01591c1743dd8b217a81a580bc3c2b13bd05
Diffstat (limited to 'gps/izat_api')
-rw-r--r-- | gps/izat_api/Android.mk | 15 | ||||
-rw-r--r-- | gps/izat_api/IzatRemoteApi.h | 91 | ||||
-rw-r--r-- | gps/izat_api/izat_remote_api.h | 105 |
3 files changed, 211 insertions, 0 deletions
diff --git a/gps/izat_api/Android.mk b/gps/izat_api/Android.mk new file mode 100644 index 0000000..06db16e --- /dev/null +++ b/gps/izat_api/Android.mk @@ -0,0 +1,15 @@ +ifneq ($(BUILD_TINY_ANDROID),true) + +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_COPY_HEADERS_TO:= liblocationservice/lcp/inc/ + +LOCAL_COPY_HEADERS:= \ + IzatRemoteApi.h \ + izat_remote_api.h + +include $(BUILD_COPY_HEADERS) + +endif # not BUILD_TINY_ANDROID diff --git a/gps/izat_api/IzatRemoteApi.h b/gps/izat_api/IzatRemoteApi.h new file mode 100644 index 0000000..5cd12e3 --- /dev/null +++ b/gps/izat_api/IzatRemoteApi.h @@ -0,0 +1,91 @@ +/*============================================================================= + Copyright (c) 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 + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + =============================================================================*/ + +#ifndef __IZATREMOTEAPIS_H__ +#define __IZATREMOTEAPIS_H__ + +#include <gps_extended_c.h> + +namespace qc_loc_fw { + class InPostcard; +} + +namespace izat_remote_api { + +class IzatNotifierProxy; + +struct OutCard; + +class IzatNotifier { +protected: + IzatNotifierProxy* const mNotifierProxy; + IzatNotifier(const char* const tag, const OutCard* subCard); + virtual ~IzatNotifier(); +public: + virtual void handleMsg(qc_loc_fw::InPostcard * const in_card) = 0; +}; + + +class LocationUpdater : public IzatNotifier { + static const char* const sLatTag; + static const char* const sLonTag; + static const char* const sAccuracyTag; + static const OutCard* sSubscriptionCard; +protected: + inline LocationUpdater() : IzatNotifier(sName, sSubscriptionCard) {} + virtual inline ~LocationUpdater() {} +public: + static const char sName[]; + virtual void handleMsg(qc_loc_fw::InPostcard * const in_card) final; + virtual void locationUpdate(UlpLocation& location, GpsLocationExtended& locExtended) = 0; +}; + +class SstpUpdater : public IzatNotifier { + static const char* const sLatTag; + static const char* const sLonTag; + static const char* const sUncTag; + static const char* const sUncConfTag; + +protected: + inline SstpUpdater() : IzatNotifier(sName, nullptr) {} + virtual inline ~SstpUpdater() {} +public: + static const char sName[]; + virtual void handleMsg(qc_loc_fw::InPostcard * const in_card) final; + void stop(); + virtual void errReport(const char* errStr) = 0; + virtual void siteUpdate(const char* name, double lat, double lon, + float unc, int32_t uncConfidence) = 0; + virtual void mccUpdate(uint32_t mcc, const char* confidence) = 0; +}; + +} // izat_remote_api + +#endif //__IZATREMOTEAPIS_H__ + diff --git a/gps/izat_api/izat_remote_api.h b/gps/izat_api/izat_remote_api.h new file mode 100644 index 0000000..cbfdd60 --- /dev/null +++ b/gps/izat_api/izat_remote_api.h @@ -0,0 +1,105 @@ +/*============================================================================= + Copyright (c) 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 + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + =============================================================================*/ + +#ifndef __IZAT_REMOTE_APIS_H__ +#define __IZAT_REMOTE_APIS_H__ + +#include <gps_extended_c.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void (*locationUpdateCb)(UlpLocation *location, + GpsLocationExtended *locExtended, + void* clientData); + +/* registers a client callback for listening to location updates + locationCb - location callback function pointer implemented by client + Can not be NULL. + clientData - an opaque data pointer from client. This pointer will be + provided back when the locationCb() callbacak is called. + This can be used by client to store application context + or statemachine etc. + Can be NULL. + return: an opaque pointer that serves as a request handle. This handle + is to be fed to theunregisterLocationUpdater() call. +*/ +void* registerLocationUpdater(locationUpdateCb locationCb, void* clientData); + +/* unregisters the client callback + locationUpdaterHandle - the opaque pointer from the return of + registerLocationUpdater() +*/ +void unregisterLocationUpdater(void* locationUpdaterHandle); + +typedef void (*errReportCb)(const char* errStr, void* clientData); +typedef void (*sstpSiteUpdateCb)(const char* name, double lat, double lon, + float unc, int32_t uncConfidence, + void* clientData); +typedef void (*sstpMccUpdateCb)(uint32_t mcc, const char* confidence, + void* clientData); +/* registers a client callback for listening to SSTP updates + siteCb - site info callback function pointer implemented by client + Can not be NULL. + mccCb - MCC info callback function pointer implemented by client + Can not be NULL. + errCb - callback to receive error report in string format, in case + of any error that might happen, and no siteCb or mccCb can + be called. + Can be NULL. + clientData - an opaque data pointer from client. This pointer will be + provided back when the locationCb() callbacak is called. + This can be used by client to store application context + or statemachine etc. + Can be NULL. + return: an opaque pointer that serves as a request handle. This handle + is to be fed to theunregisterLocationUpdater() call. +*/ +void* registerSstpUpdater(sstpSiteUpdateCb siteCb, sstpMccUpdateCb mccCb, + errReportCb errCb, void* clientData); + +/* unregisters the client callback + sstpUpdaterHandle - the opaque pointer from the return of + registerLocationUpdater() +*/ +void unregisterSstpUpdater(void* sstpUpdaterHandle); + +/* stop the current burst of SSTP updates (until next triggering event) + sstpUpdaterHandle - the opaque pointer from the return of + registerLocationUpdater() +*/ +void stopSstpUpdate(void* sstpUpdaterHandle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif //__IZAT_REMOTE_APIS_H__ |