该项目是一款基于C++和C语言开发的位置服务子系统源码,包含453个文件,涵盖168个头文件(h)、145个C++源文件(cpp)、50个构建脚本(gn)、25个XML配置文件(xml)、17个JSON配置文件(json)、7个其他类型脚本(ets)、5个PNG图片文件(png)、2个Markdown文档(md)、2个未知文件(gni)和1个Git忽略文件(gitignore)。该系统具备GNSS定位、网络定位、地理编码、逆地理编码、地理围栏等多种位置服务功能。
关键词
C++ 位置服务 GNSS定位 网络定位 地理编码
目录结构
├── .gitignore
├── CODEOWNERS
├── LICENSE
├── OAT.xml
├── bundle.json
├── cfi_blocklist.txt
├── config.gni
├── figures
├── En-1.png
├── zh-1.png
├── frameworks
├── base_module
├── BUILD.gn
├── source
├── location.cpp
├── location_sa_load_manager.cpp
├── request_config.cpp
├── satellite_status.cpp
├── js
├── napi
├── BUILD.gn
├── include
├── cached_locations_callback_napi.h
├── callback_manager.h
├── country_code_callback_napi.h
├── gnss_status_callback_napi.h
├── locating_required_data_callback_napi.h
├── location_error_callback_napi.h
├── location_napi_adapter.h
├── location_napi_errcode.h
├── location_napi_event.h
├── location_napi_system.h
├── location_switch_callback_napi.h
├── locator_callback_napi.h
├── napi_util.h
├── nmea_message_callback_napi.h
├── notification
├── include
├── geofence_napi.h
├── notification_napi.h
├── src
├── notification_napi.cpp
├── notification_napi_convert_content.cpp
├── notification_napi_convert_liveview.cpp
├── notification_napi_convert_notification.cpp
├── notification_napi_convert_request.cpp
├── notification_napi_utils.cpp
├── source
├── cached_locations_callback_napi.cpp
├── country_code_callback_napi.cpp
├── geofence_napi.cpp
├── gnss_status_callback_napi.cpp
├── locating_required_data_callback_napi.cpp
├── location_error_callback_napi.cpp
├── location_gnss_geofence_callback_napi.cpp
├── location_napi_adapter.cpp
├── location_napi_entry.cpp
├── location_napi_errcode.cpp
├── location_napi_event.cpp
├── location_napi_system.cpp
├── location_switch_callback_napi.cpp
├── locator_callback_napi.cpp
├── napi_util.cpp
├── nmea_message_callback_napi.cpp
├── location_common
├── BUILD.gn
├── common
├── BUILD.gn
├── liblbsservice_common_version_script.txt
├── source
├── app_identity.cpp
├── common_hisysevent.cpp
├── common_utils.cpp
├── geo_address.cpp
├── geo_coding_mock_info.cpp
├── hook_utils.cpp
├── location_data_rdb_helper.cpp
├── location_data_rdb_manager.cpp
├── location_dumper.cpp
├── permission_manager.cpp
├── request.cpp
├── sa_load_with_statistic.cpp
├── ui_extension_ability_connection.cpp
├── native
├── geofence_sdk
├── BUILD.gn
├── libgeofence_sdk_version_script.txt
├── source
├── geofence_request.cpp
├── geofence_sdk.cpp
├── location_ndk
├── BUILD.gn
├── include
├── location_info_callback_host.h
├── locator_c_impl.h
├── liblocation.ndk.json
├── source
├── location_info_callback_host.cpp
├── locator_c_impl.cpp
├── locator_agent
├── BUILD.gn
├── include
├── native_location_callback_host.h
├── native_nmea_callback_host.h
├── native_sv_callback_host.h
├── source
├── locator_agent.cpp
├── native_location_callback_host.cpp
├── native_nmea_callback_host.cpp
├── native_sv_callback_host.cpp
├── locator_sdk
├── BUILD.gn
├── include
├── country_code_callback_host.h
├── geo_convert_callback_host.h
├── gnss_status_callback_host.h
├── location_switch_callback_host.h
├── locator_callback_host.h
├── liblocator_sdk_version_script.txt
├── source
├── country_code_callback_host.cpp
├── country_code_manager.cpp
├── geo_convert_callback_host.cpp
├── gnss_status_callback_host.cpp
├── location_data_manager.cpp
├── location_data_rdb_observer.cpp
├── location_switch_callback_host.cpp
├── locator.cpp
├── locator_callback_host.cpp
├── locator_impl.cpp
├── locator_proxy.cpp
├── switch_callback_proxy.cpp
├── interfaces
├── c_api
├── include
├── oh_location.h
├── oh_location_type.h
├── inner_api
├── include
├── app_identity.h
├── async_context.h
├── bluetooth_scan_info.h
├── common_hisysevent.h
├── common_utils.h
├── constant_definition.h
├── country_code.h
├── country_code_manager.h
├── geo_address.h
├── geo_coding_mock_info.h
├── geofence_async_context.h
├── geofence_definition.h
├── geofence_request.h
├── geofence_sdk.h
├── hook_utils.h
├── i_cached_locations_callback.h
├── i_country_code_callback.h
├── i_geocode_callback.h
├── i_gnss_geofence_callback.h
├── i_gnss_status_callback.h
├── i_locating_required_data_callback.h
├── i_locator.h
├── i_locator_callback.h
├── i_nmea_message_callback.h
├── i_switch_callback.h
├── locating_required_data.h
├── locating_required_data_config.h
├── location.h
├── location_async_context.h
├── location_data_manager.h
├── location_data_rdb_helper.h
├── location_data_rdb_manager.h
├── location_data_rdb_observer.h
├── location_dumper.h
├── location_gnss_geofence_callback_napi.h
├── location_log.h
├── location_log_event_ids.h
├── location_sa_load_manager.h
├── locationhub_ipc_interface_code.h
├── locator.h
├── locator_agent.h
├── locator_impl.h
├── locator_proxy.h
├── permission_manager.h
├── request.h
├── request_config.h
├── satellite_status.h
├── switch_callback_proxy.h
├── ui_extension_ability_connection.h
├── wifi_scan_info.h
├── readme.txt
├── sa_profile
├── 2801.json
├── 2802.json
├── 2803.json
├── 2804.json
├── 2805.json
├── BUILD.gn
├── services
├── etc
├── BUILD.gn
├── init
├── locationsa.cfg
├── param
├── location.para
├── location.para.dac
├── resource
├── location_service.conf
├── location_geocode
├── BUILD.gn
├── geocode
├── BUILD.gn
├── include
├── geo_convert_request.h
├── geo_convert_service.h
├── geo_convert_skeleton.h
├── liblbsservice_geocode_version_script.txt
├── source
├── geo_convert_request.cpp
├── geo_convert_service.cpp
├── geo_convert_skeleton.cpp
├── location_gnss
├── BUILD.gn
├── gnss
├── BUILD.gn
├── include
├── agnss_event_callback.h
├── agnss_ni_manager.h
├── geofence_event_callback.h
├── gnss_ability.h
├── gnss_ability_skeleton.h
├── gnss_common_event_subscriber.h
├── gnss_event_callback.h
├── ntp
├── elapsed_real_time_check.h
├── gps_time_manager.h
├── net_conn_observer.h
├── ntp_time_check.h
├── ntp_time_helper.h
├── time_manager.h
├── string_utils.h
├── liblbsservice_gnss_version_script.txt
├── source
├── agnss_event_callback.cpp
├── agnss_ni_manager.cpp
├── geofence_event_callback.cpp
├── gnss_ability.cpp
├── gnss_ability_skeleton.cpp
├── gnss_common_event_subscriber.cpp
├── gnss_event_callback.cpp
├── ntp
├── elapsed_real_time_check.cpp
├── gps_time_manager.cpp
├── net_conn_observer.cpp
├── ntp_time_check.cpp
├── ntp_time_helper.cpp
├── time_manager.cpp
├── string_utils.cpp
├── location_locator
├── BUILD.gn
├── callback
├── include
├── cached_locations_callback_proxy.h
├── country_code_callback_proxy.h
├── gnss_status_callback_proxy.h
├── locating_required_data_callback_proxy.h
├── location_gnss_geofence_callback_proxy.h
├── locator_callback_proxy.h
├── locator_msdp_state_change_cb.h
├── nmea_message_callback_proxy.h
├── source
├── cached_locations_callback_proxy.cpp
├── country_code_callback_proxy.cpp
├── gnss_status_callback_proxy.cpp
├── locating_required_data_callback_proxy.cpp
├── location_gnss_geofence_callback_proxy.cpp
├── locator_callback_proxy.cpp
├── locator_msdp_state_change_cb.cpp
├── nmea_message_callback_proxy.cpp
├── hisysevent.yaml
├── locator
├── BUILD.gn
├── include
├── fusion_controller.h
├── geo_convert_proxy.h
├── gnss_ability_proxy.h
├── location_config_manager.h
├── locator_ability.h
├── locator_background_proxy.h
├── locator_event_manager.h
├── locator_event_subscriber.h
├── locator_msdp_monitor_manager.h
├── locator_required_data_manager.h
├── locator_skeleton.h
├── network_ability_proxy.h
├── passive_ability_proxy.h
├── permission_status_change_cb.h
├── report_manager.h
├── request_manager.h
├── subability_common.h
├── work_record.h
├── work_record_statistic.h
├── liblbsservice_locator_version_script.txt
├── source
├── fusion_controller.cpp
├── geo_convert_proxy.cpp
├── gnss_ability_proxy.cpp
├── location_config_manager.cpp
├── locator_ability.cpp
├── locator_background_proxy.cpp
├── locator_event_manager.cpp
├── locator_event_subscriber.cpp
├── locator_msdp_monitor_manager.cpp
├── locator_required_data_manager.cpp
├── locator_skeleton.cpp
├── network_ability_proxy.cpp
├── passive_ability_proxy.cpp
├── permission_status_change_cb.cpp
├── report_manager.cpp
├── request_manager.cpp
├── subability_common.cpp
├── work_record.cpp
├── work_record_statistic.cpp
├── location_network
├── BUILD.gn
├── network
├── BUILD.gn
├── include
├── network_ability.h
├── network_ability_skeleton.h
├── network_callback_host.h
├── liblbsservice_network_version_script.txt
├── source
├── network_ability.cpp
├── network_ability_skeleton.cpp
├── network_callback_host.cpp
├── location_passive
├── BUILD.gn
├── passive
├── BUILD.gn
├── include
├── passive_ability.h
├── passive_ability_skeleton.h
├── liblbsservice_passive_version_script.txt
├── source
├── passive_ability.cpp
├── passive_ability_skeleton.cpp
├── location_ui
├── AppScope
├── app.json
├── resources
├── base
├── element
├── string.json
├── media
├── app_icon.png
├── BUILD.gn
├── entry
├── src
├── main
├── ets
├── confirmuiextability
├── ConfirmUIExtAbility.ets
├── locationprivacyextability
├── LocationPrivacyExtAbility.ets
├── pages
├── ConfirmDialog.ets
├── LocationPrivacyDialog.ets
├── WifiDialog.ets
├── serviceability
├── WifiServiceAbility.ets
├── wifiability
├── WifiUIExtAbility.ets
├── module.json
├── resources
├── base
├── element
├── color.json
├── string.json
├── media
├── icon.png
├── startIcon.png
├── profile
├── confirmcallbackability.json
├── confirmuiextability.json
├── locationprivacyextability.json
├── main_pages.json
├── bo_CN
├── element
├── string.json
├── ug
├── element
├── string.json
├── zh_CN
├── element
├── string.json
├── zh_HK
├── element
├── string.json
├── zh_TW
├── element
├── string.json
├── zz_ZX
├── element
├── string.json
├── publicity.xml
├── signature
├── locationdialog.gni
├── locationdialog.p7b
├── utils
├── BUILD.gn
├── inner_api
├── i_resources.h
├── lbsutils
├── include
├── dynamic_library_loader.h
├── lbs_res_loader.h
├── source
├── lbs_res_loader.cpp
├── resource
├── include
├── lbs_resources.h
├── source
├── lbs_resources.cpp
├── test
├── fuzztest
├── BUILD.gn
├── locator
├── cachedlocationcallbackhost_fuzzer
├── BUILD.gn
├── cachedlocationcallbackhost_fuzzer.cpp
├── cachedlocationcallbackhost_fuzzer.h
├── corpus
├── init
├── project.xml
├── checkmessage_fuzzer
├── BUILD.gn
├── checkmessage_fuzzer.cpp
├── checkmessage_fuzzer.h
├── corpus
├── init
├── project.xml
├── countrycodecallbackhost_fuzzer
├── BUILD.gn
├── corpus
├── init
├── countrycodecallbackhost_fuzzer.cpp
├── countrycodecallbackhost_fuzzer.h
├── project.xml
├── countrycodemanager_fuzzer
├── BUILD.gn
├── corpus
├── init
├── countrycodemanager_fuzzer.cpp
├── countrycodemanager_fuzzer.h
├── project.xml
├── fusioncontroller_fuzzer
├── BUILD.gn
├── corpus
├── init
├── fusioncontroller_fuzzer.cpp
├── fusioncontroller_fuzzer.h
├── project.xml
├── geoconvertproxy_fuzzer
├── BUILD.gn
├── corpus
├── init
├── geoconvertproxy_fuzzer.cpp
├── geoconvertproxy_fuzzer.h
├── project.xml
├── geoconvertservice_fuzzer
├── BUILD.gn
├── corpus
├── init
├── geoconvertservice_fuzzer.cpp
├── geoconvertservice_fuzzer.h
├── project.xml
├── gnss_fuzzer
├── BUILD.gn
├── corpus
├── init
├── gnss_fuzzer.cpp
├── gnss_fuzzer.h
├── project.xml
├── gnssability_fuzzer
├── BUILD.gn
├── corpus
├── init
├── gnssability_fuzzer.cpp
├── gnssability_fuzzer.h
├── project.xml
├── gnssstatuscallbackhost_fuzzer
├── BUILD.gn
├── corpus
├── init
├── gnssstatuscallbackhost_fuzzer.cpp
├── gnssstatuscallbackhost_fuzzer.h
├── project.xml
├── locationconfigmanager_fuzzer
├── BUILD.gn
├── corpus
├── init
├── locationconfigmanager_fuzzer.cpp
├── locationconfigmanager_fuzzer.h
├── project.xml
├── locationswitchcallbackhost_fuzzer
├── BUILD.gn
├── corpus
├── init
├── locationswitchcallbackhost_fuzzer.cpp
├── locationswitchcallbackhost_fuzzer.h
├── project.xml
├── locator_fuzzer
├── BUILD.gn
├── corpus
├── init
├── locator_fuzzer.cpp
├── locator_fuzzer.h
├── project.xml
├── locatorabilitystub_fuzzer
├── BUILD.gn
├── corpus
├── init
├── locatorabilitystub_fuzzer.cpp
├── locatorabilitystub_fuzzer.h
├── project.xml
├── locatorbackgroundproxy_fuzzer
├── BUILD.gn
├── corpus
├── init
├── locatorbackgroundproxy_fuzzer.cpp
├── locatorbackgroundproxy_fuzzer.h
├── project.xml
├── locatorcallbackhost_fuzzer
├── BUILD.gn
├── corpus
├── init
├── locatorcallbackhost_fuzzer.cpp
├── locatorcallbackhost_fuzzer.h
├── project.xml
├── locatorcallbackstub_fuzzer
├── BUILD.gn
├── corpus
├── init
├── locatorcallbackstub_fuzzer.cpp
├── locatorcallbackstub_fuzzer.h
├── project.xml
├── locatoreventmanager_fuzzer
├── BUILD.gn
├── corpus
├── init
├── locatoreventmanager_fuzzer.cpp
├── locatoreventmanager_fuzzer.h
├── project.xml
├── networkability_fuzzer
├── BUILD.gn
├── corpus
├── init
├── networkability_fuzzer.cpp
├── networkability_fuzzer.h
├── project.xml
├── networkabilityproxy_fuzzer
├── BUILD.gn
├── corpus
├── init
├── networkabilityproxy_fuzzer.cpp
├── networkabilityproxy_fuzzer.h
├── project.xml
├── networkcallbackhost_fuzzer
├── BUILD.gn
├── corpus
├── init
├── networkcallbackhost_fuzzer.cpp
├── networkcallbackhost_fuzzer.h
├── project.xml
├── nmeamessagecallbackhost_fuzzer
├── BUILD.gn
├── corpus
├── init
├── nmeamessagecallbackhost_fuzzer.cpp
├── nmeamessagecallbackhost_fuzzer.h
├── project.xml
├── passiveability_fuzzer
├── BUILD.gn
├── corpus
├── init
├── passiveability_fuzzer.cpp
├── passiveability_fuzzer.h
├── project.xml
├── passiveabilityproxy_fuzzer
├── BUILD.gn
├── corpus
├── init
├── passiveabilityproxy_fuzzer.cpp
├── passiveabilityproxy_fuzzer.h
├── project.xml
├── reportmanager_fuzzer
├── BUILD.gn
├── corpus
├── init
├── project.xml
├── reportmanager_fuzzer.cpp
├── reportmanager_fuzzer.h
├── requestmanager_fuzzer
├── BUILD.gn
├── corpus
├── init
├── project.xml
├── requestmanager_fuzzer.cpp
├── requestmanager_fuzzer.h
├── location_common
├── BUILD.gn
├── include
├── common_utils_test.h
├── location_common_test.h
├── source
├── common_utils_test.cpp
├── location_common_test.cpp
├── location_geocode
├── BUILD.gn
├── include
├── geo_convert_callback_host_test.h
├── geo_convert_service_test.h
├── mock
├── include
├── mock_geo_convert_callback_host.h
├── mock_geo_convert_service.h
├── source
├── geo_convert_callback_host_test.cpp
├── geo_convert_service_test.cpp
├── location_geofence
├── BUILD.gn
├── include
├── geofence_sdk_test.h
├── location_gnss_geofence_callback_host_test.h
├── source
├── geofence_sdk_test.cpp
├── location_gnss_geofence_callback_host_test.cpp
├── location_gnss
├── BUILD.gn
├── include
├── gnss_ability_stub_test.h
├── gnss_ability_test.h
├── gnss_event_callback_test.h
├── gnss_interface_test.h
├── ntp_time_test.h
├── string_utils_test.h
├── mock
├── include
├── mock_cached_locations_callback_host.h
├── mock_gnss_ability_stub.h
├── mock_gnss_status_callback_host.h
├── mock_i_cellular_data_manager.h
├── mock_nmea_message_callback_host.h
├── src
├── mock_i_cellular_data_manager.cpp
├── source
├── gnss_ability_stub_test.cpp
├── gnss_ability_test.cpp
├── gnss_event_callback_test.cpp
├── gnss_interface_test.cpp
├── ntp_time_test.cpp
├── location_locator
├── BUILD.gn
├── include
├── callback_test.h
├── country_code_manager_test.h
├── fusion_controller_test.h
├── location_approximately_permission_test.h
├── location_config_manager_test.h
├── location_without_permission_test.h
├── locator_agent_test.h
├── locator_background_proxy_test.h
├── locator_event_manager_test.h
├── locator_impl_test.h
├── locator_msdp_monitor_manager_test.h
├── locator_required_data_manager_test.h
├── locator_service_test.h
├── permission_manager_test.h
├── report_manager_test.h
├── work_record_test.h
├── mock
├── include
├── mock_common_event_manager.h
├── mock_locator_callback_host.h
├── src
├── mock_common_event_manager.cpp
├── source
├── callback_test.cpp
├── country_code_manager_test.cpp
├── fusion_controller_test.cpp
├── location_approximately_permission_test.cpp
├── location_config_manager_test.cpp
├── location_without_permission_test.cpp
├── locator_agent_test.cpp
├── locator_background_proxy_test.cpp
├── locator_event_manager_test.cpp
├── locator_impl_test.cpp
├── locator_msdp_monitor_manager_test.cpp
├── locator_required_data_manager_test.cpp
├── locator_service_test.cpp
├── permission_manager_test.cpp
├── report_manager_test.cpp
├── work_record_test.cpp
├── location_manager
├── BUILD.gn
├── include
├── locator_ability_test.h
├── locator_skeleton_test.h
├── request_manager_test.h
├── mock
├── include
├── mock_common_event_manager.h
├── mock_locator_ability_stub.h
├── mock_locator_callback_host.h
├── src
├── mock_common_event_manager.cpp
├── source
├── locator_ability_test.cpp
├── locator_skeleton_test.cpp
├── request_manager_test.cpp
├── location_mock_ipc
├── BUILD.gn
├── include
├── location_mock_ipc.h
├── src
├── location_mock_ipc.cpp
├── location_network
├── BUILD.gn
├── include
├── network_ability_stub_test.h
├── network_ability_test.h
├── mock
├── include
├── mock_i_remote_object.h
├── mock_network_ability_stub.h
├── src
├── mock_common_utils.cpp
├── source
├── network_ability_stub_test.cpp
├── network_ability_test.cpp
├── location_passive
├── BUILD.gn
├── include
├── passive_ability_stub_test.h
├── passive_ability_test.h
├── mock
├── include
├── mock_passive_ability_stub.h
├── source
├── passive_ability_stub_test.cpp
├── passive_ability_test.cpp
├── mock
├── include
├── mock_i_remote_object.h
├── mock_if_system_ability_manager.h
├── src
├── mock_common_utils.cpp
├── mock_ipc.cpp
├── mock_service_registry.cpp