1f16e0440Sopenharmony_ci# Copyright (c) 2021-2023 Huawei Device Co., Ltd. 2f16e0440Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3f16e0440Sopenharmony_ci# you may not use this file except in compliance with the License. 4f16e0440Sopenharmony_ci# You may obtain a copy of the License at 5f16e0440Sopenharmony_ci# 6f16e0440Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7f16e0440Sopenharmony_ci# 8f16e0440Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9f16e0440Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10f16e0440Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11f16e0440Sopenharmony_ci# See the License for the specific language governing permissions and 12f16e0440Sopenharmony_ci# limitations under the License. 13f16e0440Sopenharmony_ci 14f16e0440Sopenharmony_ciimport("../batterymgr.gni") 15f16e0440Sopenharmony_ci 16f16e0440Sopenharmony_ciconfig("batterysrv_public_config") { 17f16e0440Sopenharmony_ci include_dirs = [ 18f16e0440Sopenharmony_ci "native/include", 19f16e0440Sopenharmony_ci "${battery_service_zidl}/include", 20f16e0440Sopenharmony_ci "${battery_inner_api}/native/include", 21f16e0440Sopenharmony_ci ] 22f16e0440Sopenharmony_ci} 23f16e0440Sopenharmony_ci 24f16e0440Sopenharmony_ciohos_shared_library("batteryservice") { 25f16e0440Sopenharmony_ci sanitize = { 26f16e0440Sopenharmony_ci cfi = true 27f16e0440Sopenharmony_ci cfi_cross_dso = true 28f16e0440Sopenharmony_ci debug = false 29f16e0440Sopenharmony_ci } 30f16e0440Sopenharmony_ci branch_protector_ret = "pac_ret" 31f16e0440Sopenharmony_ci 32f16e0440Sopenharmony_ci sources = [ 33f16e0440Sopenharmony_ci "native/src/battery_callback.cpp", 34f16e0440Sopenharmony_ci "native/src/battery_config.cpp", 35f16e0440Sopenharmony_ci "native/src/battery_dump.cpp", 36f16e0440Sopenharmony_ci "native/src/battery_light.cpp", 37f16e0440Sopenharmony_ci "native/src/battery_notify.cpp", 38f16e0440Sopenharmony_ci "native/src/battery_service.cpp", 39f16e0440Sopenharmony_ci ] 40f16e0440Sopenharmony_ci 41f16e0440Sopenharmony_ci configs = [ 42f16e0440Sopenharmony_ci "${battery_utils}:utils_config", 43f16e0440Sopenharmony_ci "${battery_utils}:coverage_flags", 44f16e0440Sopenharmony_ci ] 45f16e0440Sopenharmony_ci 46f16e0440Sopenharmony_ci public_configs = [ ":batterysrv_public_config" ] 47f16e0440Sopenharmony_ci 48f16e0440Sopenharmony_ci deps = [ "${battery_service_zidl}:batterysrv_stub" ] 49f16e0440Sopenharmony_ci 50f16e0440Sopenharmony_ci external_deps = [ "power_manager:power_permission" ] 51f16e0440Sopenharmony_ci external_deps += [ 52f16e0440Sopenharmony_ci "ability_runtime:ability_manager", 53f16e0440Sopenharmony_ci "bundle_framework:appexecfwk_base", 54f16e0440Sopenharmony_ci "c_utils:utils", 55f16e0440Sopenharmony_ci "common_event_service:cesfwk_core", 56f16e0440Sopenharmony_ci "common_event_service:cesfwk_innerkits", 57f16e0440Sopenharmony_ci "drivers_interface_battery:libbattery_proxy_2.0", 58f16e0440Sopenharmony_ci "eventhandler:libeventhandler", 59f16e0440Sopenharmony_ci "ffrt:libffrt", 60f16e0440Sopenharmony_ci "hdf_core:libhdi", 61f16e0440Sopenharmony_ci "hdf_core:libpub_utils", 62f16e0440Sopenharmony_ci "hicollie:libhicollie", 63f16e0440Sopenharmony_ci "hilog:libhilog", 64f16e0440Sopenharmony_ci "ipc:ipc_core", 65f16e0440Sopenharmony_ci "jsoncpp:jsoncpp", 66f16e0440Sopenharmony_ci "power_manager:power_ffrt", 67f16e0440Sopenharmony_ci "power_manager:power_sysparam", 68f16e0440Sopenharmony_ci "power_manager:power_vibrator", 69f16e0440Sopenharmony_ci "power_manager:powermgr_client", 70f16e0440Sopenharmony_ci "safwk:system_ability_fwk", 71f16e0440Sopenharmony_ci "samgr:samgr_proxy", 72f16e0440Sopenharmony_ci ] 73f16e0440Sopenharmony_ci 74f16e0440Sopenharmony_ci public_external_deps = [ "ability_base:want" ] 75f16e0440Sopenharmony_ci 76f16e0440Sopenharmony_ci if (battery_manager_feature_set_low_capacity_threshold) { 77f16e0440Sopenharmony_ci defines += [ "BATTERY_MANAGER_SET_LOW_CAPACITY_THRESHOLD" ] 78f16e0440Sopenharmony_ci } 79f16e0440Sopenharmony_ci 80f16e0440Sopenharmony_ci if (has_sensors_miscdevice_part) { 81f16e0440Sopenharmony_ci external_deps += [ "miscdevice:light_interface_native" ] 82f16e0440Sopenharmony_ci } 83f16e0440Sopenharmony_ci 84f16e0440Sopenharmony_ci if (has_hiviewdfx_hisysevent_part) { 85f16e0440Sopenharmony_ci external_deps += [ "hisysevent:libhisysevent" ] 86f16e0440Sopenharmony_ci } 87f16e0440Sopenharmony_ci 88f16e0440Sopenharmony_ci if (has_battery_config_policy_part) { 89f16e0440Sopenharmony_ci defines += [ "HAS_BATTERY_CONFIG_POLICY_PART" ] 90f16e0440Sopenharmony_ci external_deps += [ "config_policy:configpolicy_util" ] 91f16e0440Sopenharmony_ci } 92f16e0440Sopenharmony_ci 93f16e0440Sopenharmony_ci if (build_variant == "user") { 94f16e0440Sopenharmony_ci defines += [ "BATTERY_USER_VERSION" ] 95f16e0440Sopenharmony_ci } 96f16e0440Sopenharmony_ci 97f16e0440Sopenharmony_ci subsystem_name = "powermgr" 98f16e0440Sopenharmony_ci part_name = "battery_manager" 99f16e0440Sopenharmony_ci} 100f16e0440Sopenharmony_ci 101f16e0440Sopenharmony_cigroup("service") { 102f16e0440Sopenharmony_ci deps = [ 103f16e0440Sopenharmony_ci ":batteryservice", 104f16e0440Sopenharmony_ci "native/profile:battery_config", 105f16e0440Sopenharmony_ci "native/profile:battery_vibrator_config", 106f16e0440Sopenharmony_ci ] 107f16e0440Sopenharmony_ci} 108