1/* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
2 *
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are
5 * met:
6 *     * Redistributions of source code must retain the above copyright
7 *       notice, this list of conditions and the following disclaimer.
8 *     * Redistributions in binary form must reproduce the above
9 *       copyright notice, this list of conditions and the following
10 *       disclaimer in the documentation and/or other materials provided
11 *       with the distribution.
12 *     * Neither the name of Code Aurora Forum, Inc. nor the names of its
13 *       contributors may be used to endorse or promote products derived
14 *       from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19 * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 */
29#include <loc_api_v02_log.h>
30#include <location_service_v02.h>
31
32static loc_name_val_s_type loc_v02_event_name[] =
33{
34    NAME_VAL(QMI_LOC_INFORM_CLIENT_REVISION_REQ_V02),
35    NAME_VAL(QMI_LOC_INFORM_CLIENT_REVISION_RESP_V02),
36    NAME_VAL(QMI_LOC_REG_EVENTS_REQ_V02),
37    NAME_VAL(QMI_LOC_REG_EVENTS_RESP_V02),
38    NAME_VAL(QMI_LOC_START_REQ_V02),
39    NAME_VAL(QMI_LOC_START_RESP_V02),
40    NAME_VAL(QMI_LOC_STOP_REQ_V02),
41    NAME_VAL(QMI_LOC_STOP_RESP_V02),
42    NAME_VAL(QMI_LOC_EVENT_POSITION_REPORT_IND_V02),
43    NAME_VAL(QMI_LOC_EVENT_GNSS_SV_INFO_IND_V02),
44    NAME_VAL(QMI_LOC_EVENT_NMEA_IND_V02),
45    NAME_VAL(QMI_LOC_EVENT_NI_NOTIFY_VERIFY_REQ_IND_V02),
46    NAME_VAL(QMI_LOC_EVENT_INJECT_TIME_REQ_IND_V02),
47    NAME_VAL(QMI_LOC_EVENT_INJECT_PREDICTED_ORBITS_REQ_IND_V02),
48    NAME_VAL(QMI_LOC_EVENT_INJECT_POSITION_REQ_IND_V02),
49    NAME_VAL(QMI_LOC_EVENT_ENGINE_STATE_IND_V02),
50    NAME_VAL(QMI_LOC_EVENT_FIX_SESSION_STATE_IND_V02),
51    NAME_VAL(QMI_LOC_EVENT_WIFI_REQ_IND_V02),
52    NAME_VAL(QMI_LOC_EVENT_SENSOR_STREAMING_READY_STATUS_IND_V02),
53    NAME_VAL(QMI_LOC_EVENT_TIME_SYNC_REQ_IND_V02),
54    NAME_VAL(QMI_LOC_EVENT_SET_SPI_STREAMING_REPORT_IND_V02),
55    NAME_VAL(QMI_LOC_EVENT_LOCATION_SERVER_CONNECTION_REQ_IND_V02),
56    NAME_VAL(QMI_LOC_GET_SERVICE_REVISION_REQ_V02),
57    NAME_VAL(QMI_LOC_GET_SERVICE_REVISION_RESP_V02),
58    NAME_VAL(QMI_LOC_GET_SERVICE_REVISION_IND_V02),
59    NAME_VAL(QMI_LOC_GET_FIX_CRITERIA_REQ_V02),
60    NAME_VAL(QMI_LOC_GET_FIX_CRITERIA_RESP_V02),
61    NAME_VAL(QMI_LOC_GET_FIX_CRITERIA_IND_V02),
62    NAME_VAL(QMI_LOC_NI_USER_RESPONSE_REQ_V02),
63    NAME_VAL(QMI_LOC_NI_USER_RESPONSE_RESP_V02),
64    NAME_VAL(QMI_LOC_NI_USER_RESPONSE_IND_V02),
65    NAME_VAL(QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_REQ_V02),
66    NAME_VAL(QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_RESP_V02),
67    NAME_VAL(QMI_LOC_INJECT_PREDICTED_ORBITS_DATA_IND_V02),
68    NAME_VAL(QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_REQ_V02),
69    NAME_VAL(QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_RESP_V02),
70    NAME_VAL(QMI_LOC_GET_PREDICTED_ORBITS_DATA_SOURCE_IND_V02),
71    NAME_VAL(QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_REQ_V02),
72    NAME_VAL(QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_RESP_V02),
73    NAME_VAL(QMI_LOC_GET_PREDICTED_ORBITS_DATA_VALIDITY_IND_V02),
74    NAME_VAL(QMI_LOC_INJECT_UTC_TIME_REQ_V02),
75    NAME_VAL(QMI_LOC_INJECT_UTC_TIME_RESP_V02),
76    NAME_VAL(QMI_LOC_INJECT_UTC_TIME_IND_V02),
77    NAME_VAL(QMI_LOC_INJECT_POSITION_REQ_V02),
78    NAME_VAL(QMI_LOC_INJECT_POSITION_RESP_V02),
79    NAME_VAL(QMI_LOC_INJECT_POSITION_IND_V02),
80    NAME_VAL(QMI_LOC_SET_ENGINE_LOCK_REQ_V02),
81    NAME_VAL(QMI_LOC_SET_ENGINE_LOCK_RESP_V02),
82    NAME_VAL(QMI_LOC_SET_ENGINE_LOCK_IND_V02),
83    NAME_VAL(QMI_LOC_GET_ENGINE_LOCK_REQ_V02),
84    NAME_VAL(QMI_LOC_GET_ENGINE_LOCK_RESP_V02),
85    NAME_VAL(QMI_LOC_GET_ENGINE_LOCK_IND_V02),
86    NAME_VAL(QMI_LOC_SET_SBAS_CONFIG_REQ_V02),
87    NAME_VAL(QMI_LOC_SET_SBAS_CONFIG_RESP_V02),
88    NAME_VAL(QMI_LOC_SET_SBAS_CONFIG_IND_V02),
89    NAME_VAL(QMI_LOC_GET_SBAS_CONFIG_REQ_V02),
90    NAME_VAL(QMI_LOC_GET_SBAS_CONFIG_RESP_V02),
91    NAME_VAL(QMI_LOC_GET_SBAS_CONFIG_IND_V02),
92    NAME_VAL(QMI_LOC_SET_NMEA_TYPES_REQ_V02),
93    NAME_VAL(QMI_LOC_SET_NMEA_TYPES_RESP_V02),
94    NAME_VAL(QMI_LOC_SET_NMEA_TYPES_IND_V02),
95    NAME_VAL(QMI_LOC_GET_NMEA_TYPES_REQ_V02),
96    NAME_VAL(QMI_LOC_GET_NMEA_TYPES_RESP_V02),
97    NAME_VAL(QMI_LOC_GET_NMEA_TYPES_IND_V02),
98    NAME_VAL(QMI_LOC_SET_LOW_POWER_MODE_REQ_V02),
99    NAME_VAL(QMI_LOC_SET_LOW_POWER_MODE_RESP_V02),
100    NAME_VAL(QMI_LOC_SET_LOW_POWER_MODE_IND_V02),
101    NAME_VAL(QMI_LOC_GET_LOW_POWER_MODE_REQ_V02),
102    NAME_VAL(QMI_LOC_GET_LOW_POWER_MODE_RESP_V02),
103    NAME_VAL(QMI_LOC_GET_LOW_POWER_MODE_IND_V02),
104    NAME_VAL(QMI_LOC_SET_SERVER_REQ_V02),
105    NAME_VAL(QMI_LOC_SET_SERVER_RESP_V02),
106    NAME_VAL(QMI_LOC_SET_SERVER_IND_V02),
107    NAME_VAL(QMI_LOC_GET_SERVER_REQ_V02),
108    NAME_VAL(QMI_LOC_GET_SERVER_RESP_V02),
109    NAME_VAL(QMI_LOC_GET_SERVER_IND_V02),
110    NAME_VAL(QMI_LOC_DELETE_ASSIST_DATA_REQ_V02),
111    NAME_VAL(QMI_LOC_DELETE_ASSIST_DATA_RESP_V02),
112    NAME_VAL(QMI_LOC_DELETE_ASSIST_DATA_IND_V02),
113    NAME_VAL(QMI_LOC_SET_XTRA_T_SESSION_CONTROL_REQ_V02),
114    NAME_VAL(QMI_LOC_SET_XTRA_T_SESSION_CONTROL_RESP_V02),
115    NAME_VAL(QMI_LOC_SET_XTRA_T_SESSION_CONTROL_IND_V02),
116    NAME_VAL(QMI_LOC_GET_XTRA_T_SESSION_CONTROL_REQ_V02),
117    NAME_VAL(QMI_LOC_GET_XTRA_T_SESSION_CONTROL_RESP_V02),
118    NAME_VAL(QMI_LOC_GET_XTRA_T_SESSION_CONTROL_IND_V02),
119    NAME_VAL(QMI_LOC_INJECT_WIFI_POSITION_REQ_V02),
120    NAME_VAL(QMI_LOC_INJECT_WIFI_POSITION_RESP_V02),
121    NAME_VAL(QMI_LOC_INJECT_WIFI_POSITION_IND_V02),
122    NAME_VAL(QMI_LOC_NOTIFY_WIFI_STATUS_REQ_V02),
123    NAME_VAL(QMI_LOC_NOTIFY_WIFI_STATUS_RESP_V02),
124    NAME_VAL(QMI_LOC_NOTIFY_WIFI_STATUS_IND_V02),
125    NAME_VAL(QMI_LOC_GET_REGISTERED_EVENTS_REQ_V02),
126    NAME_VAL(QMI_LOC_GET_REGISTERED_EVENTS_RESP_V02),
127    NAME_VAL(QMI_LOC_GET_REGISTERED_EVENTS_IND_V02),
128    NAME_VAL(QMI_LOC_SET_OPERATION_MODE_REQ_V02),
129    NAME_VAL(QMI_LOC_SET_OPERATION_MODE_RESP_V02),
130    NAME_VAL(QMI_LOC_SET_OPERATION_MODE_IND_V02),
131    NAME_VAL(QMI_LOC_GET_OPERATION_MODE_REQ_V02),
132    NAME_VAL(QMI_LOC_GET_OPERATION_MODE_RESP_V02),
133    NAME_VAL(QMI_LOC_GET_OPERATION_MODE_IND_V02),
134    NAME_VAL(QMI_LOC_SET_SPI_STATUS_REQ_V02),
135    NAME_VAL(QMI_LOC_SET_SPI_STATUS_RESP_V02),
136    NAME_VAL(QMI_LOC_SET_SPI_STATUS_IND_V02),
137    NAME_VAL(QMI_LOC_INJECT_SENSOR_DATA_REQ_V02),
138    NAME_VAL(QMI_LOC_INJECT_SENSOR_DATA_RESP_V02),
139    NAME_VAL(QMI_LOC_INJECT_SENSOR_DATA_IND_V02),
140    NAME_VAL(QMI_LOC_INJECT_TIME_SYNC_DATA_REQ_V02),
141    NAME_VAL(QMI_LOC_INJECT_TIME_SYNC_DATA_RESP_V02),
142    NAME_VAL(QMI_LOC_INJECT_TIME_SYNC_DATA_IND_V02),
143    NAME_VAL(QMI_LOC_SET_CRADLE_MOUNT_CONFIG_REQ_V02),
144    NAME_VAL(QMI_LOC_SET_CRADLE_MOUNT_CONFIG_RESP_V02),
145    NAME_VAL(QMI_LOC_SET_CRADLE_MOUNT_CONFIG_IND_V02),
146    NAME_VAL(QMI_LOC_GET_CRADLE_MOUNT_CONFIG_REQ_V02),
147    NAME_VAL(QMI_LOC_GET_CRADLE_MOUNT_CONFIG_RESP_V02),
148    NAME_VAL(QMI_LOC_GET_CRADLE_MOUNT_CONFIG_IND_V02),
149    NAME_VAL(QMI_LOC_SET_EXTERNAL_POWER_CONFIG_REQ_V02),
150    NAME_VAL(QMI_LOC_SET_EXTERNAL_POWER_CONFIG_RESP_V02),
151    NAME_VAL(QMI_LOC_SET_EXTERNAL_POWER_CONFIG_IND_V02),
152    NAME_VAL(QMI_LOC_GET_EXTERNAL_POWER_CONFIG_REQ_V02),
153    NAME_VAL(QMI_LOC_GET_EXTERNAL_POWER_CONFIG_RESP_V02),
154    NAME_VAL(QMI_LOC_GET_EXTERNAL_POWER_CONFIG_IND_V02),
155    NAME_VAL(QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_REQ_V02),
156    NAME_VAL(QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_RESP_V02),
157    NAME_VAL(QMI_LOC_INFORM_LOCATION_SERVER_CONN_STATUS_IND_V02),
158    NAME_VAL(QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02),
159    NAME_VAL(QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_RESP_V02),
160    NAME_VAL(QMI_LOC_SET_PROTOCOL_CONFIG_PARAMETERS_IND_V02),
161    NAME_VAL(QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_REQ_V02),
162    NAME_VAL(QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_RESP_V02),
163    NAME_VAL(QMI_LOC_GET_PROTOCOL_CONFIG_PARAMETERS_IND_V02),
164    NAME_VAL(QMI_LOC_SET_SENSOR_CONTROL_CONFIG_REQ_V02),
165    NAME_VAL(QMI_LOC_SET_SENSOR_CONTROL_CONFIG_RESP_V02),
166    NAME_VAL(QMI_LOC_SET_SENSOR_CONTROL_CONFIG_IND_V02),
167    NAME_VAL(QMI_LOC_GET_SENSOR_CONTROL_CONFIG_REQ_V02),
168    NAME_VAL(QMI_LOC_GET_SENSOR_CONTROL_CONFIG_RESP_V02),
169    NAME_VAL(QMI_LOC_GET_SENSOR_CONTROL_CONFIG_IND_V02),
170    NAME_VAL(QMI_LOC_SET_SENSOR_PROPERTIES_REQ_V02),
171    NAME_VAL(QMI_LOC_SET_SENSOR_PROPERTIES_RESP_V02),
172    NAME_VAL(QMI_LOC_SET_SENSOR_PROPERTIES_IND_V02),
173    NAME_VAL(QMI_LOC_GET_SENSOR_PROPERTIES_REQ_V02),
174    NAME_VAL(QMI_LOC_GET_SENSOR_PROPERTIES_RESP_V02),
175    NAME_VAL(QMI_LOC_GET_SENSOR_PROPERTIES_IND_V02),
176    NAME_VAL(QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02),
177    NAME_VAL(QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_RESP_V02),
178    NAME_VAL(QMI_LOC_SET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02),
179    NAME_VAL(QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_REQ_V02),
180    NAME_VAL(QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_RESP_V02),
181    NAME_VAL(QMI_LOC_GET_SENSOR_PERFORMANCE_CONTROL_CONFIGURATION_IND_V02),
182    NAME_VAL(QMI_LOC_INJECT_SUPL_CERTIFICATE_REQ_V02),
183    NAME_VAL(QMI_LOC_INJECT_SUPL_CERTIFICATE_RESP_V02),
184    NAME_VAL(QMI_LOC_INJECT_SUPL_CERTIFICATE_IND_V02),
185    NAME_VAL(QMI_LOC_DELETE_SUPL_CERTIFICATE_REQ_V02),
186    NAME_VAL(QMI_LOC_DELETE_SUPL_CERTIFICATE_RESP_V02),
187    NAME_VAL(QMI_LOC_DELETE_SUPL_CERTIFICATE_IND_V02),
188    NAME_VAL(QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02),
189    NAME_VAL(QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_RESP_V02),
190    NAME_VAL(QMI_LOC_SET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02),
191    NAME_VAL(QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_REQ_V02),
192    NAME_VAL(QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_RESP_V02),
193    NAME_VAL(QMI_LOC_GET_POSITION_ENGINE_CONFIG_PARAMETERS_IND_V02),
194};
195static int loc_v02_event_num = sizeof(loc_v02_event_name) / sizeof(loc_name_val_s_type);
196
197const char* loc_get_v02_event_name(uint32_t event)
198{
199    return loc_get_name_from_val(loc_v02_event_name, loc_v02_event_num, (long) event);
200}
201
202static loc_name_val_s_type loc_v02_client_status_name[] =
203{
204    NAME_VAL(eLOC_CLIENT_SUCCESS),
205    NAME_VAL(eLOC_CLIENT_FAILURE_GENERAL),
206    NAME_VAL(eLOC_CLIENT_FAILURE_UNSUPPORTED),
207    NAME_VAL(eLOC_CLIENT_FAILURE_INVALID_PARAMETER),
208    NAME_VAL(eLOC_CLIENT_FAILURE_ENGINE_BUSY),
209    NAME_VAL(eLOC_CLIENT_FAILURE_PHONE_OFFLINE),
210    NAME_VAL(eLOC_CLIENT_FAILURE_TIMEOUT),
211    NAME_VAL(eLOC_CLIENT_FAILURE_SERVICE_NOT_PRESENT),
212    NAME_VAL(eLOC_CLIENT_FAILURE_SERVICE_VERSION_UNSUPPORTED),
213    NAME_VAL(eLOC_CLIENT_FAILURE_CLIENT_VERSION_UNSUPPORTED),
214    NAME_VAL(eLOC_CLIENT_FAILURE_INVALID_HANDLE),
215    NAME_VAL(eLOC_CLIENT_FAILURE_INTERNAL),
216    NAME_VAL(eLOC_CLIENT_FAILURE_NOT_INITIALIZED),
217};
218static int loc_v02_client_status_num = sizeof(loc_v02_client_status_name) / sizeof(loc_name_val_s_type);
219
220const char* loc_get_v02_client_status_name(locClientStatusEnumType status)
221{
222    return loc_get_name_from_val(loc_v02_client_status_name, loc_v02_client_status_num, (long) status);
223}
224
225
226static loc_name_val_s_type loc_v02_qmi_status_name[] =
227{
228    QMILOCSTATUSENUMT_MIN_ENUM_VAL_V02,
229    eQMI_LOC_SUCCESS_V02,
230    eQMI_LOC_GENERAL_FAILURE_V02,
231    eQMI_LOC_UNSUPPORTED_V02,
232    eQMI_LOC_INVALID_PARAMETER_V02,
233    eQMI_LOC_ENGINE_BUSY_V02,
234    eQMI_LOC_PHONE_OFFLINE_V02,
235    eQMI_LOC_TIMEOUT_V02,
236    QMILOCSTATUSENUMT_MAX_ENUM_VAL_V02
237};
238static int loc_v02_qmi_status_num = sizeof(loc_v02_qmi_status_name) / sizeof(loc_name_val_s_type);
239
240const char* loc_get_v02_qmi_status_name(qmiLocStatusEnumT_v02 status)
241{
242    return loc_get_name_from_val(loc_v02_qmi_status_name, loc_v02_qmi_status_num, (long) status);
243}
244