164efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar/* Copyright (c) 2011-2014,2016, The Linux Foundation. All rights reserved. 2e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * 3e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * Redistribution and use in source and binary forms, with or without 4e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * modification, are permitted provided that the following conditions are 5e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * met: 6e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * * Redistributions of source code must retain the above copyright 7e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * notice, this list of conditions and the following disclaimer. 8e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * * Redistributions in binary form must reproduce the above 9e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * copyright notice, this list of conditions and the following 10e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * disclaimer in the documentation and/or other materials provided 11e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * with the distribution. 12e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * * Neither the name of The Linux Foundation, nor the names of its 13e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * contributors may be used to endorse or promote products derived 14e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * from this software without specific prior written permission. 15e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * 16e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 17e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 19e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 20e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 23e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 25e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 26e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * 28e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti */ 29e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#define LOG_NDDEBUG 0 30e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#define LOG_TAG "LocSvc_LocApiBase" 31e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 32e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <dlfcn.h> 33e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <LocApiBase.h> 34e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <LocAdapterBase.h> 35e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <log_util.h> 36e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <LocDualContext.h> 37e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 38e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletinamespace loc_core { 39e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 40e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#define TO_ALL_LOCADAPTERS(call) TO_ALL_ADAPTERS(mLocAdapters, (call)) 41e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#define TO_1ST_HANDLING_LOCADAPTERS(call) TO_1ST_HANDLING_ADAPTER(mLocAdapters, (call)) 42e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 43e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint hexcode(char *hexstring, int string_size, 44e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti const char *data, int data_size) 45e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 46e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int i; 47e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti for (i = 0; i < data_size; i++) 48e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 49e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti char ch = data[i]; 50e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if (i*2 + 3 <= string_size) 51e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 52e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti snprintf(&hexstring[i*2], 3, "%02X", ch); 53e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 54e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti else { 55e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 56e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 57e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 58e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return i; 59e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 60e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 61e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint decodeAddress(char *addr_string, int string_size, 62e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti const char *data, int data_size) 63e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 64e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti const char addr_prefix = 0x91; 65e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int i, idxOutput = 0; 66e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 67e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if (!data || !addr_string) { return 0; } 68e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 69e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if (data[0] != addr_prefix) 70e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 71e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGW("decodeAddress: address prefix is not 0x%x but 0x%x", addr_prefix, data[0]); 72e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti addr_string[0] = '\0'; 73e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return 0; // prefix not correct 74e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 75e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 76e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti for (i = 1; i < data_size; i++) 77e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 78e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti unsigned char ch = data[i], low = ch & 0x0F, hi = ch >> 4; 79e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if (low <= 9 && idxOutput < string_size - 1) { addr_string[idxOutput++] = low + '0'; } 80e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if (hi <= 9 && idxOutput < string_size - 1) { addr_string[idxOutput++] = hi + '0'; } 81e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 82e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 83e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti addr_string[idxOutput] = '\0'; // Terminates the string 84e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 85e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return idxOutput; 86e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 87e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 88e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletistruct LocSsrMsg : public LocMsg { 89e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocApiBase* mLocApi; 90e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline LocSsrMsg(LocApiBase* locApi) : 91e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocMsg(), mLocApi(locApi) 92e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 93e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locallog(); 94e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 95e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline virtual void proc() const { 96e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mLocApi->close(); 97e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mLocApi->open(mLocApi->getEvtMask()); 98e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 99e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline void locallog() { 100e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGV("LocSsrMsg"); 101e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 102e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline virtual void log() { 103e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locallog(); 104e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 105e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti}; 106e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 107e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletistruct LocOpenMsg : public LocMsg { 108e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocApiBase* mLocApi; 109e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_API_ADAPTER_EVENT_MASK_T mMask; 110e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline LocOpenMsg(LocApiBase* locApi, 111e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_API_ADAPTER_EVENT_MASK_T mask) : 112e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocMsg(), mLocApi(locApi), mMask(mask) 113e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 114e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locallog(); 115e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 116e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline virtual void proc() const { 117e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mLocApi->open(mMask); 118e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 119e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline void locallog() { 120e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGV("%s:%d]: LocOpen Mask: %x\n", 121e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti __func__, __LINE__, mMask); 122e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 123e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline virtual void log() { 124e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locallog(); 125e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 126e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti}; 127e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 128e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiLocApiBase::LocApiBase(const MsgTask* msgTask, 129e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_API_ADAPTER_EVENT_MASK_T excludedMask, 130e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti ContextBase* context) : 131e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mExcludedMask(excludedMask), mMsgTask(msgTask), 132e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mMask(0), mSupportedMsg(0), mContext(context) 133e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 134e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti memset(mLocAdapters, 0, sizeof(mLocAdapters)); 135e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 136e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 137e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiLOC_API_ADAPTER_EVENT_MASK_T LocApiBase::getEvtMask() 138e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 139e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_API_ADAPTER_EVENT_MASK_T mask = 0; 140e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 141e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_ALL_LOCADAPTERS(mask |= mLocAdapters[i]->getEvtMask()); 142e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 143e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return mask & ~mExcludedMask; 144e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 145e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 146e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletibool LocApiBase::isInSession() 147e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 148e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti bool inSession = false; 149e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 150e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti for (int i = 0; 151e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti !inSession && i < MAX_ADAPTERS && NULL != mLocAdapters[i]; 152e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti i++) { 153e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inSession = mLocAdapters[i]->isInSession(); 154e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 155e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 156e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return inSession; 157e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 158e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 159e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::addAdapter(LocAdapterBase* adapter) 160e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 161e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti for (int i = 0; i < MAX_ADAPTERS && mLocAdapters[i] != adapter; i++) { 162e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if (mLocAdapters[i] == NULL) { 163e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mLocAdapters[i] = adapter; 164e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mMsgTask->sendMsg(new LocOpenMsg(this, 165e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (adapter->getEvtMask()))); 166e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 167e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 168e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 169e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 170e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 171e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::removeAdapter(LocAdapterBase* adapter) 172e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 173e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti for (int i = 0; 174e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti i < MAX_ADAPTERS && NULL != mLocAdapters[i]; 175e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti i++) { 176e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if (mLocAdapters[i] == adapter) { 177e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mLocAdapters[i] = NULL; 178e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 179e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // shift the rest of the adapters up so that the pointers 180e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // in the array do not have holes. This should be more 181e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // performant, because the array maintenance is much much 182e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // less frequent than event handlings, which need to linear 183e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // search all the adapters 184e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int j = i; 185e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti while (++i < MAX_ADAPTERS && mLocAdapters[i] != NULL); 186e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 187e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // i would be MAX_ADAPTERS or point to a NULL 188e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti i--; 189e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // i now should point to a none NULL adapter within valid 190e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // range although i could be equal to j, but it won't hurt. 191e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // No need to check it, as it gains nothing. 192e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mLocAdapters[j] = mLocAdapters[i]; 193e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // this makes sure that we exit the for loop 194e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mLocAdapters[i] = NULL; 195e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 196e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // if we have an empty list of adapters 197e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if (0 == i) { 198e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti close(); 199e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } else { 200e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // else we need to remove the bit 201e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mMsgTask->sendMsg(new LocOpenMsg(this, getEvtMask())); 202e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 203e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 204e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 205e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 206e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 207e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::updateEvtMask() 208e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 209e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mMsgTask->sendMsg(new LocOpenMsg(this, getEvtMask())); 210e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 211e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 212e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::handleEngineUpEvent() 213e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 214e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // This will take care of renegotiating the loc handle 215e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mMsgTask->sendMsg(new LocSsrMsg(this)); 216e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 217e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocDualContext::injectFeatureConfig(mContext); 218e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 219e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to all adapters. 220e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_ALL_LOCADAPTERS(mLocAdapters[i]->handleEngineUpEvent()); 221e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 222e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 223e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::handleEngineDownEvent() 224e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 225e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to all adapters. 226e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_ALL_LOCADAPTERS(mLocAdapters[i]->handleEngineDownEvent()); 227e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 228e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 229e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::reportPosition(UlpLocation &location, 230e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti GpsLocationExtended &locationExtended, 231e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti void* locationExt, 232e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti enum loc_sess_status status, 233e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocPosTechMask loc_technology_mask) 234e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 235e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // print the location info before delivering 236e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGV("flags: %d\n source: %d\n latitude: %f\n longitude: %f\n " 237e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti "altitude: %f\n speed: %f\n bearing: %f\n accuracy: %f\n " 238e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti "timestamp: %lld\n rawDataSize: %d\n rawData: %p\n " 239e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti "Session status: %d\n Technology mask: %u", 240e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti location.gpsLocation.flags, location.position_source, 241e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti location.gpsLocation.latitude, location.gpsLocation.longitude, 242e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti location.gpsLocation.altitude, location.gpsLocation.speed, 243e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti location.gpsLocation.bearing, location.gpsLocation.accuracy, 244e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti location.gpsLocation.timestamp, location.rawDataSize, 245e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti location.rawData, status, loc_technology_mask); 246e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to all adapters. 247e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_ALL_LOCADAPTERS( 248e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mLocAdapters[i]->reportPosition(location, 249e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locationExtended, 250e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locationExt, 251e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti status, 252e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti loc_technology_mask) 253e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti ); 254e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 255e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 25664efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumarvoid LocApiBase::reportSv(GnssSvStatus &svStatus, 257e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti GpsLocationExtended &locationExtended, 258e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti void* svExt) 259e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 260e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // print the SV info before delivering 26164efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar LOC_LOGV("num sv: %d", svStatus.num_svs); 26264efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar for (int i = 0; i < svStatus.num_svs && i < GNSS_MAX_SVS; i++) { 26364efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar LOC_LOGV(" %03d: %02d %d %f %f %f 0x%02X", 264e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti i, 26564efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar svStatus.gnss_sv_list[i].svid, 26664efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar svStatus.gnss_sv_list[i].constellation, 26764efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar svStatus.gnss_sv_list[i].c_n0_dbhz, 26864efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar svStatus.gnss_sv_list[i].elevation, 26964efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar svStatus.gnss_sv_list[i].azimuth, 27064efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar svStatus.gnss_sv_list[i].flags); 271e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 27264efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar 273e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to all adapters. 274e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_ALL_LOCADAPTERS( 275e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mLocAdapters[i]->reportSv(svStatus, 276e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locationExtended, 277e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti svExt) 278e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti ); 279e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 280e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 281e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::reportStatus(GpsStatusValue status) 282e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 283e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to all adapters. 284e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_ALL_LOCADAPTERS(mLocAdapters[i]->reportStatus(status)); 285e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 286e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 287e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::reportNmea(const char* nmea, int length) 288e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 289e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to all adapters. 290e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_ALL_LOCADAPTERS(mLocAdapters[i]->reportNmea(nmea, length)); 291e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 292e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 293e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::reportXtraServer(const char* url1, const char* url2, 294e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti const char* url3, const int maxlength) 295e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 296e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to the first handling adapter. 297e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->reportXtraServer(url1, url2, url3, maxlength)); 298e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 299e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 300e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 301e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::requestXtraData() 302e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 303e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to the first handling adapter. 304e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->requestXtraData()); 305e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 306e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 307e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::requestTime() 308e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 309e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to the first handling adapter. 310e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->requestTime()); 311e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 312e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 313e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::requestLocation() 314e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 315e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to the first handling adapter. 316e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->requestLocation()); 317e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 318e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 319e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::requestATL(int connHandle, AGpsType agps_type) 320e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 321e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to the first handling adapter. 322e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->requestATL(connHandle, agps_type)); 323e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 324e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 325e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::releaseATL(int connHandle) 326e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 327e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to the first handling adapter. 328e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->releaseATL(connHandle)); 329e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 330e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 331e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::requestSuplES(int connHandle) 332e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 333e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to the first handling adapter. 334e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->requestSuplES(connHandle)); 335e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 336e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 337e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::reportDataCallOpened() 338e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 339e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to the first handling adapter. 340e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->reportDataCallOpened()); 341e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 342e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 343e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::reportDataCallClosed() 344e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 345e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to the first handling adapter. 346e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->reportDataCallClosed()); 347e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 348e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 349e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::requestNiNotify(GpsNiNotification ¬ify, const void* data) 350e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 351e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to the first handling adapter. 352e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti TO_1ST_HANDLING_LOCADAPTERS(mLocAdapters[i]->requestNiNotify(notify, data)); 353e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 354e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 355e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase::saveSupportedMsgList(uint64_t supportedMsgList) 356e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 357e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mSupportedMsg = supportedMsgList; 358e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 359e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 360e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid* LocApiBase :: getSibling() 361e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti DEFAULT_IMPL(NULL) 362e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 363e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiLocApiProxyBase* LocApiBase :: getLocApiProxy() 364e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti DEFAULT_IMPL(NULL) 365e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 36664efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumarvoid LocApiBase::reportGnssMeasurementData(GnssData &gnssMeasurementData) 367e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 368e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti // loop through adapters, and deliver to all adapters. 36964efbd901d2142e100b2f16f4879baedb7de6efeAjit Kumar TO_ALL_LOCADAPTERS(mLocAdapters[i]->reportGnssMeasurementData(gnssMeasurementData)); 370e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 371e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 372e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 373e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti open(LOC_API_ADAPTER_EVENT_MASK_T mask) 374e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 375e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 376e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 377e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti close() 378e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 379e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 380e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 381e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti startFix(const LocPosMode& posMode) 382e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 383e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 384e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 385e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti stopFix() 386e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 387e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 388e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 389e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti deleteAidingData(GpsAidingData f) 390e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 391e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 392e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 393e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti enableData(int enable) 394e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 395e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 396e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 397e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setAPN(char* apn, int len) 398e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 399e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 400e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 401e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti injectPosition(double latitude, double longitude, float accuracy) 402e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 403e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 404e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 405e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setTime(GpsUtcTime time, int64_t timeReference, int uncertainty) 406e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 407e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 408e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 409e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setXtraData(char* data, int length) 410e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 411e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 412e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 413e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti requestXtraServer() 414e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 415e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 416e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 417e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti atlOpenStatus(int handle, int is_succ, char* apn, 418e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti AGpsBearerType bear, AGpsType agpsType) 419e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 420e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 421e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 422e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti atlCloseStatus(int handle, int is_succ) 423e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 424e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 425e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 426e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setPositionMode(const LocPosMode& posMode) 427e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 428e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 429e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 430e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setServer(const char* url, int len) 431e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 432e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 433e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 434e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setServer(unsigned int ip, int port, 435e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocServerType type) 436e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 437e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 438e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 439e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti informNiResponse(GpsUserResponseType userResponse, 440e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti const void* passThroughData) 441e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 442e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 443e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 444e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setSUPLVersion(uint32_t version) 445e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 446e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 447e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 448e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setLPPConfig(uint32_t profile) 449e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 450e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 451e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 452e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setSensorControlConfig(int sensorUsage, 453e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int sensorProvider) 454e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 455e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 456e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 457e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setSensorProperties(bool gyroBiasVarianceRandomWalk_valid, 458e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti float gyroBiasVarianceRandomWalk, 459e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti bool accelBiasVarianceRandomWalk_valid, 460e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti float accelBiasVarianceRandomWalk, 461e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti bool angleBiasVarianceRandomWalk_valid, 462e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti float angleBiasVarianceRandomWalk, 463e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti bool rateBiasVarianceRandomWalk_valid, 464e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti float rateBiasVarianceRandomWalk, 465e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti bool velocityBiasVarianceRandomWalk_valid, 466e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti float velocityBiasVarianceRandomWalk) 467e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 468e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 469e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 470e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setSensorPerfControlConfig(int controlMode, 471e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int accelSamplesPerBatch, 472e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int accelBatchesPerSec, 473e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int gyroSamplesPerBatch, 474e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int gyroBatchesPerSec, 475e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int accelSamplesPerBatchHigh, 476e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int accelBatchesPerSecHigh, 477e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int gyroSamplesPerBatchHigh, 478e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int gyroBatchesPerSecHigh, 479e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int algorithmConfig) 480e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 481e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 482e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 483e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setExtPowerConfig(int isBatteryCharging) 484e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 485e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 486e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 487e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setAGLONASSProtocol(unsigned long aGlonassProtocol) 488e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 489e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 490e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 491e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti getWwanZppFix(GpsLocation& zppLoc) 492e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 493e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 494e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 495e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti getBestAvailableZppFix(GpsLocation& zppLoc) 496e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 497e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti memset(&zppLoc, 0, sizeof(zppLoc)); 498e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 499e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 500e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 501e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 502e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti getBestAvailableZppFix(GpsLocation & zppLoc, LocPosTechMask & tech_mask) 503e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 504e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti memset(&zppLoc, 0, sizeof(zppLoc)); 505e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti memset(&tech_mask, 0, sizeof(tech_mask)); 506e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti DEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 507e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 508e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 509e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint LocApiBase:: 510e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti initDataServiceClient() 511e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(-1) 512e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 513e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint LocApiBase:: 514e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti openAndStartDataCall() 515e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(-1) 516e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 517e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase:: 518e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti stopDataCall() 519e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL() 520e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 521e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase:: 522e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti closeDataCall() 523e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL() 524e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 525e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint LocApiBase:: 526e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setGpsLock(LOC_GPS_LOCK_MASK lock) 527e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(-1) 528e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 529e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid LocApiBase:: 530e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti installAGpsCert(const DerEncodedCertificate* pData, 531e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti size_t length, 532e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti uint32_t slotBitMask) 533e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL() 534e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 535e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint LocApiBase:: 536e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti getGpsLock() 537e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(-1) 538e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 539e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletienum loc_api_adapter_err LocApiBase:: 540e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti setXtraVersionCheck(enum xtra_version_check check) 541e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(LOC_API_ADAPTER_ERR_SUCCESS) 542e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 543e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint LocApiBase:: 544e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti updateRegistrationMask(LOC_API_ADAPTER_EVENT_MASK_T event, 545e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti loc_registration_mask_status isEnabled) 546e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(-1) 547e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 548e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletibool LocApiBase:: 549e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti gnssConstellationConfig() 550e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEFAULT_IMPL(false) 551e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 552e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} // namespace loc_core 553