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/IzatRemoteApi.h | |
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/IzatRemoteApi.h')
-rw-r--r-- | gps/izat_api/IzatRemoteApi.h | 91 |
1 files changed, 91 insertions, 0 deletions
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__ + |