18c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved. 28c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * 38c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * Redistribution and use in source and binary forms, with or without 48c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * modification, are permitted provided that the following conditions are 58c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * met: 68c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * * Redistributions of source code must retain the above copyright 78c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * notice, this list of conditions and the following disclaimer. 88c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * * Redistributions in binary form must reproduce the above 98c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * copyright notice, this list of conditions and the following 108c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * disclaimer in the documentation and/or other materials provided 118c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * with the distribution. 128c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * * Neither the name of The Linux Foundation, nor the names of its 138c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * contributors may be used to endorse or promote products derived 148c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * from this software without specific prior written permission. 158c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * 168c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 178c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 188c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 198c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 208c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 218c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 228c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 238c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 248c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 258c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 268c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 278c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * 288c2d3d5afc51d3f35150f748f263870367771b6fEd Tam */ 298c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifndef LOC_ENG_MSG_H 308c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_ENG_MSG_H 318c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 328c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 338c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <hardware/gps.h> 348c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <gps_extended.h> 358c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <stdlib.h> 368c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <string.h> 378c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <log_util.h> 388c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <loc_eng_log.h> 398c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <loc_eng.h> 408c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <MsgTask.h> 418c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <LocEngAdapter.h> 428c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 438c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifndef SSID_BUF_SIZE 448c2d3d5afc51d3f35150f748f263870367771b6fEd Tam #define SSID_BUF_SIZE (32+1) 458c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif 468c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifdef USE_GLIB 478c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 488c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <glib.h> 498c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 508c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif /* USE_GLIB */ 518c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include "platform_lib_includes.h" 528c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 538c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifdef __cplusplus 548c2d3d5afc51d3f35150f748f263870367771b6fEd Tamextern "C" { 558c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif /* __cplusplus */ 568c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 578c2d3d5afc51d3f35150f748f263870367771b6fEd Tamusing namespace loc_core; 588c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 598c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngPositionMode : public LocMsg { 608c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngAdapter* mAdapter; 618c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const LocPosMode mPosMode; 628c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngPositionMode(LocEngAdapter* adapter, LocPosMode &mode); 638c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 648c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 658c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void send() const; 668c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 678c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 688c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 698c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngStartFix : public LocMsg { 708c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngAdapter* mAdapter; 718c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngStartFix(LocEngAdapter* adapter); 728c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 738c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 748c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 758c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void send() const; 768c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 778c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 788c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngStopFix : public LocMsg { 798c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngAdapter* mAdapter; 808c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngStopFix(LocEngAdapter* adapter); 818c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 828c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 838c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 848c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void send() const; 858c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 868c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 878c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngReportPosition : public LocMsg { 888c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocAdapterBase* mAdapter; 898c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const UlpLocation mLocation; 908c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const GpsLocationExtended mLocationExtended; 918c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const void* mLocationExt; 928c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const enum loc_sess_status mStatus; 938c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const LocPosTechMask mTechMask; 948c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngReportPosition(LocAdapterBase* adapter, 958c2d3d5afc51d3f35150f748f263870367771b6fEd Tam UlpLocation &loc, 968c2d3d5afc51d3f35150f748f263870367771b6fEd Tam GpsLocationExtended &locExtended, 978c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* locExt, 988c2d3d5afc51d3f35150f748f263870367771b6fEd Tam enum loc_sess_status st, 998c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocPosTechMask technology); 1008c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 1018c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 1028c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 1038c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void send() const; 1048c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1058c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1068c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngReportSv : public LocMsg { 1078c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocAdapterBase* mAdapter; 1088c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const GpsSvStatus mSvStatus; 1098c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const GpsLocationExtended mLocationExtended; 1108c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const void* mSvExt; 1118c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngReportSv(LocAdapterBase* adapter, 1128c2d3d5afc51d3f35150f748f263870367771b6fEd Tam GpsSvStatus &sv, 1138c2d3d5afc51d3f35150f748f263870367771b6fEd Tam GpsLocationExtended &locExtended, 1148c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* svExtended); 1158c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 1168c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 1178c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 1188c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void send() const; 1198c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1208c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1218c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngReportStatus : public LocMsg { 1228c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocAdapterBase* mAdapter; 1238c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const GpsStatusValue mStatus; 1248c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngReportStatus(LocAdapterBase* adapter, 1258c2d3d5afc51d3f35150f748f263870367771b6fEd Tam GpsStatusValue engineStatus); 1268c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 1278c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 1288c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 1298c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1308c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1318c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngReportNmea : public LocMsg { 1328c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 1338c2d3d5afc51d3f35150f748f263870367771b6fEd Tam char* const mNmea; 1348c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const int mLen; 1358c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngReportNmea(void* locEng, 1368c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const char* data, int len); 1378c2d3d5afc51d3f35150f748f263870367771b6fEd Tam inline virtual ~LocEngReportNmea() 1388c2d3d5afc51d3f35150f748f263870367771b6fEd Tam { 1398c2d3d5afc51d3f35150f748f263870367771b6fEd Tam delete[] mNmea; 1408c2d3d5afc51d3f35150f748f263870367771b6fEd Tam } 1418c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 1428c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 1438c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 1448c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1458c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1468c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngReportXtraServer : public LocMsg { 1478c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 1488c2d3d5afc51d3f35150f748f263870367771b6fEd Tam int mMaxLen; 1498c2d3d5afc51d3f35150f748f263870367771b6fEd Tam char *mServers; 1508c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngReportXtraServer(void* locEng, 1518c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const char *url1, const char *url2, 1528c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const char *url3, const int maxlength); 1538c2d3d5afc51d3f35150f748f263870367771b6fEd Tam inline virtual ~LocEngReportXtraServer() 1548c2d3d5afc51d3f35150f748f263870367771b6fEd Tam { 1558c2d3d5afc51d3f35150f748f263870367771b6fEd Tam delete[] mServers; 1568c2d3d5afc51d3f35150f748f263870367771b6fEd Tam } 1578c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 1588c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 1598c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 1608c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1618c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1628c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngSuplEsOpened : public LocMsg { 1638c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 1648c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngSuplEsOpened(void* locEng); 1658c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 1668c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 1678c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 1688c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1698c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1708c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngSuplEsClosed : public LocMsg { 1718c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 1728c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngSuplEsClosed(void* locEng); 1738c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 1748c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 1758c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 1768c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1778c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1788c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngRequestSuplEs : public LocMsg { 1798c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 1808c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const int mID; 1818c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngRequestSuplEs(void* locEng, int id); 1828c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 1838c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 1848c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 1858c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1868c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1878c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngRequestATL : public LocMsg { 1888c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 1898c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const int mID; 1908c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const AGpsExtType mType; 1918c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngRequestATL(void* locEng, int id, 1928c2d3d5afc51d3f35150f748f263870367771b6fEd Tam AGpsExtType agps_type); 1938c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 1948c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 1958c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 1968c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1978c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1988c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngReleaseATL : public LocMsg { 1998c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 2008c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const int mID; 2018c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngReleaseATL(void* locEng, int id); 2028c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 2038c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 2048c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 2058c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2068c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2078c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngReqRelBIT : public LocMsg { 2088c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 2098c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const AGpsExtType mType; 2108c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const int mIPv4Addr; 2118c2d3d5afc51d3f35150f748f263870367771b6fEd Tam char* const mIPv6Addr; 2128c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const bool mIsReq; 2138c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngReqRelBIT(void* instance, AGpsExtType type, 2148c2d3d5afc51d3f35150f748f263870367771b6fEd Tam int ipv4, char* ipv6, bool isReq); 2158c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual ~LocEngReqRelBIT(); 2168c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 2178c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 2188c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 2198c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void send() const; 2208c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2218c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2228c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngReqRelWifi : public LocMsg { 2238c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 2248c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const AGpsExtType mType; 2258c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const loc_if_req_sender_id_e_type mSenderId; 2268c2d3d5afc51d3f35150f748f263870367771b6fEd Tam char* const mSSID; 2278c2d3d5afc51d3f35150f748f263870367771b6fEd Tam char* const mPassword; 2288c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const bool mIsReq; 2298c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngReqRelWifi(void* locEng, AGpsExtType type, 2308c2d3d5afc51d3f35150f748f263870367771b6fEd Tam loc_if_req_sender_id_e_type sender_id, 2318c2d3d5afc51d3f35150f748f263870367771b6fEd Tam char* s, char* p, bool isReq); 2328c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual ~LocEngReqRelWifi(); 2338c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 2348c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 2358c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 2368c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void send() const; 2378c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2388c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2398c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngRequestXtra : public LocMsg { 2408c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 2418c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngRequestXtra(void* locEng); 2428c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 2438c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 2448c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 2458c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2468c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2478c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngRequestTime : public LocMsg { 2488c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 2498c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngRequestTime(void* locEng); 2508c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 2518c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 2528c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 2538c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2548c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2558c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngRequestNi : public LocMsg { 2568c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 2578c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const GpsNiNotification mNotify; 2588c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const void *mPayload; 2598c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngRequestNi(void* locEng, 2608c2d3d5afc51d3f35150f748f263870367771b6fEd Tam GpsNiNotification ¬if, 2618c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const void* data); 2628c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 2638c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 2648c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 2658c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2668c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2678c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngDown : public LocMsg { 2688c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 2698c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngDown(void* locEng); 2708c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 2718c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 2728c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 2738c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2748c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2758c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngUp : public LocMsg { 2768c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 2778c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngUp(void* locEng); 2788c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 2798c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 2808c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 2818c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2828c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2838c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngGetZpp : public LocMsg { 2848c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngAdapter* mAdapter; 2858c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngGetZpp(LocEngAdapter* adapter); 2868c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 2878c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 2888c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 2898c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void send() const; 2908c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2918c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2928c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstruct LocEngReportGpsMeasurement : public LocMsg { 2938c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void* mLocEng; 2948c2d3d5afc51d3f35150f748f263870367771b6fEd Tam const GpsData mGpsData; 2958c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LocEngReportGpsMeasurement(void* locEng, 2968c2d3d5afc51d3f35150f748f263870367771b6fEd Tam GpsData &gpsData); 2978c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void proc() const; 2988c2d3d5afc51d3f35150f748f263870367771b6fEd Tam void locallog() const; 2998c2d3d5afc51d3f35150f748f263870367771b6fEd Tam virtual void log() const; 3008c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 3018c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 3028c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifdef __cplusplus 3038c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 3048c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif /* __cplusplus */ 3058c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 3068c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif /* LOC_ENG_MSG_H */ 307