1351d6980abc8e7786068f1c8f879904524d0643eDante Russo/* Copyright (c) 2009-2013,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 30e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#define LOG_NDDEBUG 0 31e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#define LOG_TAG "LocSvc_eng" 32e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 33e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <loc_eng.h> 34e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <MsgTask.h> 35e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include "log_util.h" 36e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include "platform_lib_includes.h" 37e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 38e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiusing namespace loc_core; 39e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 40e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletistruct LocEngRequestXtraServer : public LocMsg { 41e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngAdapter* mAdapter; 42e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline LocEngRequestXtraServer(LocEngAdapter* adapter) : 43e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocMsg(), mAdapter(adapter) 44e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 45e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locallog(); 46e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 47e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline virtual void proc() const { 48e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mAdapter->requestXtraServer(); 49e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 50e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline void locallog() const { 51e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGV("LocEngRequestXtraServer"); 52e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 53e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline virtual void log() const { 54e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locallog(); 55e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 56e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti}; 57e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 58e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletistruct LocEngInjectXtraData : public LocMsg { 59e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngAdapter* mAdapter; 60e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti char* mData; 61e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti const int mLen; 62e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline LocEngInjectXtraData(LocEngAdapter* adapter, 63e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti char* data, int len): 64e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocMsg(), mAdapter(adapter), 65e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mData(new char[len]), mLen(len) 66e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 67e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti memcpy((void*)mData, (void*)data, len); 68e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locallog(); 69e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 70e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline ~LocEngInjectXtraData() 71e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 72e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti delete[] mData; 73e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 74e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline virtual void proc() const { 75e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mAdapter->setXtraData(mData, mLen); 76e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 77e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline void locallog() const { 78e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGV("length: %d\n data: %p", mLen, mData); 79e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 80e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline virtual void log() const { 81e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locallog(); 82e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 83e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti}; 84e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 85e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletistruct LocEngSetXtraVersionCheck : public LocMsg { 86e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngAdapter *mAdapter; 87e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int mCheck; 88e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline LocEngSetXtraVersionCheck(LocEngAdapter* adapter, 89e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int check): 90e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mAdapter(adapter), mCheck(check) {} 91e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline virtual void proc() const { 92e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locallog(); 93e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti mAdapter->setXtraVersionCheck(mCheck); 94e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 95e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline void locallog() const { 96e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("%s:%d]: mCheck: %d", 97e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti __func__, __LINE__, mCheck); 98e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 99e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti inline virtual void log() const { 100e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti locallog(); 101e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 102e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti}; 103e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 104e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 105e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION loc_eng_xtra_init 106e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 107e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 108e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Initialize XTRA module. 109e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 110e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 111e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 112e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 113e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 114e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 0: success 115e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 116e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 117e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 118e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 119e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 120e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint loc_eng_xtra_init (loc_eng_data_s_type &loc_eng_data, 121e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti GpsXtraExtCallbacks* callbacks) 122e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 123e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int ret_val = -1; 124e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti loc_eng_xtra_data_s_type *xtra_module_data_ptr; 125e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti ENTRY_LOG(); 126e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 127351d6980abc8e7786068f1c8f879904524d0643eDante Russo if(!loc_eng_data.adapter->mSupportsTimeInjection 128351d6980abc8e7786068f1c8f879904524d0643eDante Russo || loc_eng_data.adapter->hasNativeXtraClient()) { 129351d6980abc8e7786068f1c8f879904524d0643eDante Russo LOC_LOGD("XTRA is already supported. disable it here.\n"); 130351d6980abc8e7786068f1c8f879904524d0643eDante Russo EXIT_LOG(%d, 1); // return 1 denote failure 131351d6980abc8e7786068f1c8f879904524d0643eDante Russo return 1; 132351d6980abc8e7786068f1c8f879904524d0643eDante Russo } 133351d6980abc8e7786068f1c8f879904524d0643eDante Russo 134e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if(callbacks == NULL) { 135e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGE("loc_eng_xtra_init: failed, cb is NULL"); 136e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } else { 137e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti xtra_module_data_ptr = &loc_eng_data.xtra_module_data; 138e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti xtra_module_data_ptr->download_request_cb = callbacks->download_request_cb; 139e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti xtra_module_data_ptr->report_xtra_server_cb = callbacks->report_xtra_server_cb; 140e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 141e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti ret_val = 0; 142e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 143e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti EXIT_LOG(%d, ret_val); 144e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return ret_val; 145e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 146e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 147e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 148e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION loc_eng_xtra_inject_data 149e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 150e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 151e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Injects XTRA file into the engine but buffers the data if engine is busy. 152e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 153e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 154e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 155e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 156e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 157e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 0 158e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 159e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 160e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 161e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 162e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 163e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint loc_eng_xtra_inject_data(loc_eng_data_s_type &loc_eng_data, 164e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti char* data, int length) 165e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 166e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti ENTRY_LOG(); 167e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngAdapter* adapter = loc_eng_data.adapter; 168e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti adapter->sendMsg(new LocEngInjectXtraData(adapter, data, length)); 169e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti EXIT_LOG(%d, 0); 170e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return 0; 171e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 172e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 173e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION loc_eng_xtra_request_server 174e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 175e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 176e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Request the Xtra server url from the modem 177e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 178e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 179e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 180e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 181e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 182e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 0 183e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 184e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 185e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 186e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 187e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 188e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint loc_eng_xtra_request_server(loc_eng_data_s_type &loc_eng_data) 189e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 190e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti ENTRY_LOG(); 191e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngAdapter* adapter = loc_eng_data.adapter; 192e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti adapter->sendMsg(new LocEngRequestXtraServer(adapter)); 193e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti EXIT_LOG(%d, 0); 194e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return 0; 195e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 196e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*=========================================================================== 197e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION loc_eng_xtra_version_check 198e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 199e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION 200e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti Injects the enable/disable value for checking XTRA version 201e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti that is specified in gps.conf 202e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 203e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES 204e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 205e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 206e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE 207e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti none 208e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 209e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS 210e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti N/A 211e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 212e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/ 213e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid loc_eng_xtra_version_check(loc_eng_data_s_type &loc_eng_data, 214e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti int check) 215e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 216e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti ENTRY_LOG(); 217e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngAdapter *adapter = loc_eng_data.adapter; 218e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti adapter->sendMsg(new LocEngSetXtraVersionCheck(adapter, check)); 219e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti EXIT_LOG(%d, 0); 220e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 221