18c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved. 28c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * 38c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * Redistribution and use in source and binary forms, with or without 48c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * modification, are permitted provided that the following conditions are 58c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * met: 68c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * * Redistributions of source code must retain the above copyright 78c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * notice, this list of conditions and the following disclaimer. 88c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * * Redistributions in binary form must reproduce the above 98c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * copyright notice, this list of conditions and the following 108c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * disclaimer in the documentation and/or other materials provided 118c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * with the distribution. 128c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * * Neither the name of The Linux Foundation, nor the names of its 138c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * contributors may be used to endorse or promote products derived 148c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * from this software without specific prior written permission. 158c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * 168c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 178c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 188c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 198c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 208c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 218c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 228c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 238c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 248c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 258c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 268c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 278c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * 288c2d3d5afc51d3f35150f748f263870367771b6fEd Tam */ 298c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 308c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOG_NDDEBUG 0 318c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOG_TAG "LocSvc_core_log" 328c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 338c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <loc_log.h> 348c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <log_util.h> 358c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#include <loc_core_log.h> 368c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 378c2d3d5afc51d3f35150f748f263870367771b6fEd Tamvoid LocPosMode::logv() const 388c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 398c2d3d5afc51d3f35150f748f263870367771b6fEd Tam LOC_LOGV ("Position mode: %s\n Position recurrence: %s\n " 408c2d3d5afc51d3f35150f748f263870367771b6fEd Tam "min interval: %d\n preferred accuracy: %d\n " 418c2d3d5afc51d3f35150f748f263870367771b6fEd Tam "preferred time: %d\n credentials: %s provider: %s", 428c2d3d5afc51d3f35150f748f263870367771b6fEd Tam loc_get_position_mode_name(mode), 438c2d3d5afc51d3f35150f748f263870367771b6fEd Tam loc_get_position_recurrence_name(recurrence), 448c2d3d5afc51d3f35150f748f263870367771b6fEd Tam min_interval, 458c2d3d5afc51d3f35150f748f263870367771b6fEd Tam preferred_accuracy, 468c2d3d5afc51d3f35150f748f263870367771b6fEd Tam preferred_time, 478c2d3d5afc51d3f35150f748f263870367771b6fEd Tam credentials, 488c2d3d5afc51d3f35150f748f263870367771b6fEd Tam provider); 498c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 508c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 518c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* GPS status names */ 528c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type gps_status_name[] = 538c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 548c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_STATUS_NONE ), 558c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_STATUS_SESSION_BEGIN ), 568c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_STATUS_SESSION_END ), 578c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_STATUS_ENGINE_ON ), 588c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_STATUS_ENGINE_OFF ), 598c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 608c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int gps_status_num = sizeof(gps_status_name) / sizeof(loc_name_val_s_type); 618c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 628c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* Find Android GPS status name */ 638c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_gps_status_name(GpsStatusValue gps_status) 648c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 658c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(gps_status_name, gps_status_num, 668c2d3d5afc51d3f35150f748f263870367771b6fEd Tam (long) gps_status); 678c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 688c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 698c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 708c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 718c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_position_modes[] = 728c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 738c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_POSITION_MODE_STANDALONE ), 748c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_POSITION_MODE_MS_BASED ), 758c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_POSITION_MODE_MS_ASSISTED ), 768c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_POSITION_MODE_RESERVED_1 ), 778c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_POSITION_MODE_RESERVED_2 ), 788c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_POSITION_MODE_RESERVED_3 ), 798c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_POSITION_MODE_RESERVED_4 ), 808c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_POSITION_MODE_RESERVED_5 ) 818c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 828c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_position_mode_num = sizeof(loc_eng_position_modes) / sizeof(loc_name_val_s_type); 838c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 848c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_position_mode_name(GpsPositionMode mode) 858c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 868c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(loc_eng_position_modes, loc_eng_position_mode_num, (long) mode); 878c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 888c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 898c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 908c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 918c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_position_recurrences[] = 928c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 938c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_POSITION_RECURRENCE_PERIODIC ), 948c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_POSITION_RECURRENCE_SINGLE ) 958c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 968c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_position_recurrence_num = sizeof(loc_eng_position_recurrences) / sizeof(loc_name_val_s_type); 978c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 988c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_position_recurrence_name(GpsPositionRecurrence recur) 998c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 1008c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(loc_eng_position_recurrences, loc_eng_position_recurrence_num, (long) recur); 1018c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 1028c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1038c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1048c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1058c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_aiding_data_bits[] = 1068c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 1078c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_EPHEMERIS ), 1088c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_ALMANAC ), 1098c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_POSITION ), 1108c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_TIME ), 1118c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_IONO ), 1128c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_UTC ), 1138c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_HEALTH ), 1148c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_SVDIR ), 1158c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_SVSTEER ), 1168c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_SADATA ), 1178c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_RTI ), 1188c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_CELLDB_INFO ), 1198c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifndef PDK_FEATURE_SET 1208c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_ALMANAC_CORR ), 1218c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_FREQ_BIAS_EST ), 1228c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GLO_DELETE_EPHEMERIS ), 1238c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GLO_DELETE_ALMANAC ), 1248c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GLO_DELETE_SVDIR ), 1258c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GLO_DELETE_SVSTEER ), 1268c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GLO_DELETE_ALMANAC_CORR ), 1278c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_TIME_GPS ), 1288c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GLO_DELETE_TIME ), 1298c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( BDS_DELETE_SVDIR ), 1308c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( BDS_DELETE_SVSTEER ), 1318c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( BDS_DELETE_TIME ), 1328c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( BDS_DELETE_ALMANAC_CORR ), 1338c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( BDS_DELETE_EPHEMERIS ), 1348c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( BDS_DELETE_ALMANAC ), 1358c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif 1368c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_DELETE_ALL) 1378c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1388c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_aiding_data_bit_num = sizeof(loc_eng_aiding_data_bits) / sizeof(loc_name_val_s_type); 1398c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1408c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_aiding_data_mask_names(GpsAidingData data) 1418c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 1428c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return NULL; 1438c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 1448c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1458c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1468c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_agps_types[] = 1478c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 1488c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( AGPS_TYPE_INVALID ), 1498c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( AGPS_TYPE_ANY ), 1508c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( AGPS_TYPE_SUPL ), 1518c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( AGPS_TYPE_C2K ), 1528c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( AGPS_TYPE_WWAN_ANY ) 1538c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1548c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_agps_type_num = sizeof(loc_eng_agps_types) / sizeof(loc_name_val_s_type); 1558c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1568c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_agps_type_name(AGpsType type) 1578c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 1588c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(loc_eng_agps_types, loc_eng_agps_type_num, (long) type); 1598c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 1608c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1618c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1628c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_ni_types[] = 1638c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 1648c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_NI_TYPE_VOICE ), 1658c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_NI_TYPE_UMTS_SUPL ), 1668c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_NI_TYPE_UMTS_CTRL_PLANE ), 1678c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_NI_TYPE_EMERGENCY_SUPL ) 1688c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1698c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_ni_type_num = sizeof(loc_eng_ni_types) / sizeof(loc_name_val_s_type); 1708c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1718c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_ni_type_name(GpsNiType type) 1728c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 1738c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(loc_eng_ni_types, loc_eng_ni_type_num, (long) type); 1748c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 1758c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1768c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1778c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_ni_responses[] = 1788c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 1798c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_NI_RESPONSE_ACCEPT ), 1808c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_NI_RESPONSE_DENY ), 1818c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_NI_RESPONSE_DENY ) 1828c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1838c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_ni_reponse_num = sizeof(loc_eng_ni_responses) / sizeof(loc_name_val_s_type); 1848c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1858c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_ni_response_name(GpsUserResponseType response) 1868c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 1878c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(loc_eng_ni_responses, loc_eng_ni_reponse_num, (long) response); 1888c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 1898c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1908c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 1918c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_ni_encodings[] = 1928c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 1938c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_ENC_NONE ), 1948c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_ENC_SUPL_GSM_DEFAULT ), 1958c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_ENC_SUPL_UTF8 ), 1968c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_ENC_SUPL_UCS2 ), 1978c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_ENC_UNKNOWN ) 1988c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 1998c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_ni_encoding_num = sizeof(loc_eng_ni_encodings) / sizeof(loc_name_val_s_type); 2008c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2018c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_ni_encoding_name(GpsNiEncodingType encoding) 2028c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 2038c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(loc_eng_ni_encodings, loc_eng_ni_encoding_num, (long) encoding); 2048c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 2058c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2068c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_agps_bears[] = 2078c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 2088c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( AGPS_APN_BEARER_INVALID ), 2098c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( AGPS_APN_BEARER_IPV4 ), 2108c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( AGPS_APN_BEARER_IPV6 ), 2118c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( AGPS_APN_BEARER_IPV4V6 ) 2128c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2138c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_agps_bears_num = sizeof(loc_eng_agps_bears) / sizeof(loc_name_val_s_type); 2148c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2158c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_agps_bear_name(AGpsBearerType bearer) 2168c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 2178c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(loc_eng_agps_bears, loc_eng_agps_bears_num, (long) bearer); 2188c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 2198c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2208c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_server_types[] = 2218c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 2228c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_AGPS_CDMA_PDE_SERVER ), 2238c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_AGPS_CUSTOM_PDE_SERVER ), 2248c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_AGPS_MPC_SERVER ), 2258c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_AGPS_SUPL_SERVER ) 2268c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2278c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_server_types_num = sizeof(loc_eng_server_types) / sizeof(loc_name_val_s_type); 2288c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2298c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_server_type_name(LocServerType type) 2308c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 2318c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(loc_eng_server_types, loc_eng_server_types_num, (long) type); 2328c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 2338c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2348c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_position_sess_status_types[] = 2358c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 2368c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_SESS_SUCCESS ), 2378c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_SESS_INTERMEDIATE ), 2388c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( LOC_SESS_FAILURE ) 2398c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2408c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_position_sess_status_num = sizeof(loc_eng_position_sess_status_types) / sizeof(loc_name_val_s_type); 2418c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2428c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_position_sess_status_name(enum loc_sess_status status) 2438c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 2448c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(loc_eng_position_sess_status_types, loc_eng_position_sess_status_num, (long) status); 2458c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 2468c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2478c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic loc_name_val_s_type loc_eng_agps_status_names[] = 2488c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 2498c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_REQUEST_AGPS_DATA_CONN ), 2508c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_RELEASE_AGPS_DATA_CONN ), 2518c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_AGPS_DATA_CONNECTED ), 2528c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_AGPS_DATA_CONN_DONE ), 2538c2d3d5afc51d3f35150f748f263870367771b6fEd Tam NAME_VAL( GPS_AGPS_DATA_CONN_FAILED ) 2548c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}; 2558c2d3d5afc51d3f35150f748f263870367771b6fEd Tamstatic int loc_eng_agps_status_num = sizeof(loc_eng_agps_status_names) / sizeof(loc_name_val_s_type); 2568c2d3d5afc51d3f35150f748f263870367771b6fEd Tam 2578c2d3d5afc51d3f35150f748f263870367771b6fEd Tamconst char* loc_get_agps_status_name(AGpsStatusValue status) 2588c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{ 2598c2d3d5afc51d3f35150f748f263870367771b6fEd Tam return loc_get_name_from_val(loc_eng_agps_status_names, loc_eng_agps_status_num, (long) status); 2608c2d3d5afc51d3f35150f748f263870367771b6fEd Tam} 261