1e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/* Copyright (c) 2009-2013, 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
127e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    if(callbacks == NULL) {
128e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti        LOC_LOGE("loc_eng_xtra_init: failed, cb is NULL");
129e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    } else {
130e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti        xtra_module_data_ptr = &loc_eng_data.xtra_module_data;
131e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti        xtra_module_data_ptr->download_request_cb = callbacks->download_request_cb;
132e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti        xtra_module_data_ptr->report_xtra_server_cb = callbacks->report_xtra_server_cb;
133e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
134e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti        ret_val = 0;
135e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    }
136e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    EXIT_LOG(%d, ret_val);
137e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    return ret_val;
138e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti}
139e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
140e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*===========================================================================
141e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION    loc_eng_xtra_inject_data
142e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
143e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION
144e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   Injects XTRA file into the engine but buffers the data if engine is busy.
145e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
146e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES
147e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   N/A
148e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
149e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE
150e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   0
151e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
152e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS
153e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   N/A
154e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
155e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/
156e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint loc_eng_xtra_inject_data(loc_eng_data_s_type &loc_eng_data,
157e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti                             char* data, int length)
158e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{
159e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    ENTRY_LOG();
160e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    LocEngAdapter* adapter = loc_eng_data.adapter;
161e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    adapter->sendMsg(new LocEngInjectXtraData(adapter, data, length));
162e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    EXIT_LOG(%d, 0);
163e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    return 0;
164e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti}
165e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*===========================================================================
166e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION    loc_eng_xtra_request_server
167e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
168e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION
169e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   Request the Xtra server url from the modem
170e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
171e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES
172e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   N/A
173e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
174e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE
175e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   0
176e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
177e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS
178e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   N/A
179e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
180e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/
181e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint loc_eng_xtra_request_server(loc_eng_data_s_type &loc_eng_data)
182e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{
183e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    ENTRY_LOG();
184e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    LocEngAdapter* adapter = loc_eng_data.adapter;
185e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    adapter->sendMsg(new LocEngRequestXtraServer(adapter));
186e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    EXIT_LOG(%d, 0);
187e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    return 0;
188e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti}
189e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/*===========================================================================
190e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiFUNCTION    loc_eng_xtra_version_check
191e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
192e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDESCRIPTION
193e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   Injects the enable/disable value for checking XTRA version
194e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   that is specified in gps.conf
195e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
196e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiDEPENDENCIES
197e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   N/A
198e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
199e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiRETURN VALUE
200e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   none
201e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
202e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore PasupuletiSIDE EFFECTS
203e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti   N/A
204e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti
205e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti===========================================================================*/
206e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid loc_eng_xtra_version_check(loc_eng_data_s_type &loc_eng_data,
207e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti                                int check)
208e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{
209e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    ENTRY_LOG();
210e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    LocEngAdapter *adapter = loc_eng_data.adapter;
211e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    adapter->sendMsg(new LocEngSetXtraVersionCheck(adapter, check));
212e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti    EXIT_LOG(%d, 0);
213e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti}
214