summaryrefslogtreecommitdiff
path: root/location/loc_api/loc_api_v02/LocApiV02.h
diff options
context:
space:
mode:
Diffstat (limited to 'location/loc_api/loc_api_v02/LocApiV02.h')
-rw-r--r--location/loc_api/loc_api_v02/LocApiV02.h244
1 files changed, 0 insertions, 244 deletions
diff --git a/location/loc_api/loc_api_v02/LocApiV02.h b/location/loc_api/loc_api_v02/LocApiV02.h
deleted file mode 100644
index 9c73b6e5..00000000
--- a/location/loc_api/loc_api_v02/LocApiV02.h
+++ /dev/null
@@ -1,244 +0,0 @@
-/* Copyright (c) 2011-2014, 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 LOC_API_V_0_2_H
-#define LOC_API_V_0_2_H
-
-#include <stdint.h>
-#include <stdbool.h>
-#include "ds_client.h"
-#include <LocApiBase.h>
-#include <loc_api_v02_client.h>
-
-using namespace loc_core;
-
-/* This class derives from the LocApiBase class.
- The members of this class are responsible for converting
- the Loc API V02 data structures into Loc Adapter data structures.
- This class also implements some of the virtual functions that
- handle the requests from loc engine. */
-class LocApiV02 : public LocApiBase {
- enum supported_status {
- sup_unknown,
- sup_yes,
- sup_no
- };
-protected:
- /* loc api v02 handle*/
- locClientHandleType clientHandle;
-
-private:
- /*ds client handle*/
- dsClientHandleType dsClientHandle;
- enum supported_status mGnssMeasurementSupported;
- locClientEventMaskType mQmiMask;
- bool mInSession;
- bool mEngineOn;
-
- /* Convert event mask from loc eng to loc_api_v02 format */
- static locClientEventMaskType convertMask(LOC_API_ADAPTER_EVENT_MASK_T mask);
-
- /* Convert GPS LOCK mask from gps.conf definition */
- static qmiLocLockEnumT_v02 convertGpsLockMask(LOC_GPS_LOCK_MASK lockMask);
-
- /* Convert error from loc_api_v02 to loc eng format*/
- static enum loc_api_adapter_err convertErr(locClientStatusEnumType status);
-
- /* convert Ni Encoding type from QMI_LOC to loc eng format */
- static GpsNiEncodingType convertNiEncoding(
- qmiLocNiDataCodingSchemeEnumT_v02 loc_encoding);
-
- /*convert NI notify verify type from QMI LOC to loc eng format*/
- static bool convertNiNotifyVerifyType (GpsNiNotification *notif,
- qmiLocNiNotifyVerifyEnumT_v02 notif_priv);
-
- /*convert GpsMeasurement type from QMI LOC to loc eng format*/
- static void convertGpsMeasurements (GpsMeasurement& gpsMeasurement,
- const qmiLocSVMeasurementStructT_v02& gnss_measurement_info);
-
- /*convert GpsClock type from QMI LOC to loc eng format*/
- static void convertGpsClock (GpsClock& gpsClock,
- const qmiLocEventGnssSvMeasInfoIndMsgT_v02& gnss_measurement_info);
-
- /* convert position report to loc eng format and send the converted
- position to loc eng */
- void reportPosition
- (const qmiLocEventPositionReportIndMsgT_v02 *location_report_ptr);
-
- /* convert satellite report to loc eng format and send the converted
- report to loc eng */
- void reportSv (const qmiLocEventGnssSvInfoIndMsgT_v02 *gnss_report_ptr);
-
- /* convert engine state report to loc eng format and send the converted
- report to loc eng */
- void reportEngineState (
- const qmiLocEventEngineStateIndMsgT_v02 *engine_state_ptr);
-
- /* convert fix session report to loc eng format and send the converted
- report to loc eng */
- void reportFixSessionState (
- const qmiLocEventFixSessionStateIndMsgT_v02 *fix_session_state_ptr);
-
- /* convert NMEA report to loc eng format and send the converted
- report to loc eng */
- void reportNmea (const qmiLocEventNmeaIndMsgT_v02 *nmea_report_ptr);
-
- /* convert and report an ATL request to loc engine */
- void reportAtlRequest(
- const qmiLocEventLocationServerConnectionReqIndMsgT_v02
- *server_request_ptr);
-
- /* convert and report NI request to loc eng */
- void reportNiRequest(
- const qmiLocEventNiNotifyVerifyReqIndMsgT_v02 *ni_req_ptr);
-
- /* report the xtra server info */
- void reportXtraServerUrl(
- const qmiLocEventInjectPredictedOrbitsReqIndMsgT_v02* server_request_ptr);
-
- /* convert and report GNSS measurement data to loc eng */
- void reportGnssMeasurementData(
- const qmiLocEventGnssSvMeasInfoIndMsgT_v02& gnss_measurement_report_ptr);
-
- bool registerEventMask(locClientEventMaskType qmiMask);
- locClientEventMaskType adjustMaskForNoSession(locClientEventMaskType qmiMask);
- void cacheGnssMeasurementSupport();
-
-protected:
- virtual enum loc_api_adapter_err
- open(LOC_API_ADAPTER_EVENT_MASK_T mask);
- virtual enum loc_api_adapter_err
- close();
-
-public:
- LocApiV02(const MsgTask* msgTask,
- LOC_API_ADAPTER_EVENT_MASK_T exMask,
- ContextBase *context = NULL);
- ~LocApiV02();
-
- /* event callback registered with the loc_api v02 interface */
- virtual void eventCb(locClientHandleType client_handle,
- uint32_t loc_event_id,
- locClientEventIndUnionType loc_event_payload);
-
- /* error callback, this function handles the service unavailable
- error */
- void errorCb(locClientHandleType handle,
- locClientErrorEnumType errorId);
-
- void ds_client_event_cb(ds_client_status_enum_type result);
-
- virtual enum loc_api_adapter_err startFix(const LocPosMode& posMode);
-
- virtual enum loc_api_adapter_err stopFix();
-
- virtual enum loc_api_adapter_err
- setPositionMode(const LocPosMode& mode);
-
- virtual enum loc_api_adapter_err
- setTime(GpsUtcTime time, int64_t timeReference, int uncertainty);
-
- virtual enum loc_api_adapter_err
- injectPosition(double latitude, double longitude, float accuracy);
-
- virtual enum loc_api_adapter_err
- deleteAidingData(GpsAidingData f);
-
- virtual enum loc_api_adapter_err
- informNiResponse(GpsUserResponseType userResponse,
- const void* passThroughData);
-
- virtual enum loc_api_adapter_err
- setServer(const char* url, int len);
- virtual enum loc_api_adapter_err
- setServer(unsigned int ip, int port, LocServerType type);
- virtual enum loc_api_adapter_err
- setXtraData(char* data, int length);
- virtual enum loc_api_adapter_err
- requestXtraServer();
- virtual enum loc_api_adapter_err
- atlOpenStatus(int handle, int is_succ, char* apn, AGpsBearerType bear,
- AGpsType agpsType);
- virtual enum loc_api_adapter_err atlCloseStatus(int handle, int is_succ);
- virtual enum loc_api_adapter_err setSUPLVersion(uint32_t version);
- virtual enum loc_api_adapter_err setLPPConfig(uint32_t profile);
-
- virtual enum loc_api_adapter_err
- setSensorControlConfig(int sensorUsage, int sensorProvider);
-
- virtual enum loc_api_adapter_err
- setSensorProperties(bool gyroBiasVarianceRandomWalk_valid, float gyroBiasVarianceRandomWalk,
- bool accelBiasVarianceRandomWalk_valid, float accelBiasVarianceRandomWalk,
- bool angleBiasVarianceRandomWalk_valid, float angleBiasVarianceRandomWalk,
- bool rateBiasVarianceRandomWalk_valid, float rateBiasVarianceRandomWalk,
- bool velocityBiasVarianceRandomWalk_valid, float velocityBiasVarianceRandomWalk);
-
- virtual enum loc_api_adapter_err
- setSensorPerfControlConfig(int controlMode, int accelSamplesPerBatch, int accelBatchesPerSec,
- int gyroSamplesPerBatch, int gyroBatchesPerSec,
- int accelSamplesPerBatchHigh, int accelBatchesPerSecHigh,
- int gyroSamplesPerBatchHigh, int gyroBatchesPerSecHigh, int algorithmConfig);
- virtual enum loc_api_adapter_err setExtPowerConfig(int isBatteryCharging);
- virtual enum loc_api_adapter_err setAGLONASSProtocol(unsigned long aGlonassProtocol);
- virtual enum loc_api_adapter_err
- getWwanZppFix(GpsLocation & zppLoc);
- virtual enum loc_api_adapter_err
- getBestAvailableZppFix(GpsLocation & zppLoc);
- virtual enum loc_api_adapter_err
- getBestAvailableZppFix(GpsLocation & zppLoc, LocPosTechMask & tech_mask);
- virtual int initDataServiceClient();
- virtual int openAndStartDataCall();
- virtual void stopDataCall();
- virtual void closeDataCall();
- virtual int setGpsLock(LOC_GPS_LOCK_MASK lock);
-
- /*
- Returns
- Current value of GPS Lock on success
- -1 on failure
- */
- virtual int getGpsLock(void);
-
- virtual void installAGpsCert(const DerEncodedCertificate* pData,
- size_t length,
- uint32_t slotBitMask);
- /*
- Update Registration Mask
- */
- virtual int updateRegistrationMask(LOC_API_ADAPTER_EVENT_MASK_T event,
- loc_registration_mask_status isEnabled);
- /*
- Set Gnss Constellation Config
- */
- virtual bool gnssConstellationConfig();
-};
-
-extern "C" LocApiBase* getLocApi(const MsgTask* msgTask,
- LOC_API_ADAPTER_EVENT_MASK_T exMask,
- ContextBase* context);
-#endif //LOC_API_V_0_2_H