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