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