1d590543dSopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2d590543dSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3d590543dSopenharmony_ci# you may not use this file except in compliance with the License.
4d590543dSopenharmony_ci# You may obtain a copy of the License at
5d590543dSopenharmony_ci#
6d590543dSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7d590543dSopenharmony_ci#
8d590543dSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9d590543dSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10d590543dSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11d590543dSopenharmony_ci# See the License for the specific language governing permissions and
12d590543dSopenharmony_ci# limitations under the License.
13d590543dSopenharmony_ci
14d590543dSopenharmony_ciimport("../batterystats.gni")
15d590543dSopenharmony_ci
16d590543dSopenharmony_ciconfig("batterystats_public_config") {
17d590543dSopenharmony_ci  include_dirs = [
18d590543dSopenharmony_ci    "native/include",
19d590543dSopenharmony_ci    "${batterystats_service_zidl}/include",
20d590543dSopenharmony_ci  ]
21d590543dSopenharmony_ci}
22d590543dSopenharmony_ci
23d590543dSopenharmony_ciohos_shared_library("batterystats_service") {
24d590543dSopenharmony_ci  sanitize = {
25d590543dSopenharmony_ci    cfi = true
26d590543dSopenharmony_ci    cfi_cross_dso = true
27d590543dSopenharmony_ci    debug = false
28d590543dSopenharmony_ci  }
29d590543dSopenharmony_ci  branch_protector_ret = "pac_ret"
30d590543dSopenharmony_ci
31d590543dSopenharmony_ci  sources = [
32d590543dSopenharmony_ci    "native/src/battery_stats_core.cpp",
33d590543dSopenharmony_ci    "native/src/battery_stats_detector.cpp",
34d590543dSopenharmony_ci    "native/src/battery_stats_dumper.cpp",
35d590543dSopenharmony_ci    "native/src/battery_stats_listener.cpp",
36d590543dSopenharmony_ci    "native/src/battery_stats_parser.cpp",
37d590543dSopenharmony_ci    "native/src/battery_stats_service.cpp",
38d590543dSopenharmony_ci    "native/src/battery_stats_subscriber.cpp",
39d590543dSopenharmony_ci    "native/src/cpu_time_reader.cpp",
40d590543dSopenharmony_ci    "native/src/entities/alarm_entity.cpp",
41d590543dSopenharmony_ci    "native/src/entities/audio_entity.cpp",
42d590543dSopenharmony_ci    "native/src/entities/battery_stats_entity.cpp",
43d590543dSopenharmony_ci    "native/src/entities/bluetooth_entity.cpp",
44d590543dSopenharmony_ci    "native/src/entities/camera_entity.cpp",
45d590543dSopenharmony_ci    "native/src/entities/cpu_entity.cpp",
46d590543dSopenharmony_ci    "native/src/entities/flashlight_entity.cpp",
47d590543dSopenharmony_ci    "native/src/entities/gnss_entity.cpp",
48d590543dSopenharmony_ci    "native/src/entities/idle_entity.cpp",
49d590543dSopenharmony_ci    "native/src/entities/phone_entity.cpp",
50d590543dSopenharmony_ci    "native/src/entities/screen_entity.cpp",
51d590543dSopenharmony_ci    "native/src/entities/sensor_entity.cpp",
52d590543dSopenharmony_ci    "native/src/entities/uid_entity.cpp",
53d590543dSopenharmony_ci    "native/src/entities/user_entity.cpp",
54d590543dSopenharmony_ci    "native/src/entities/wakelock_entity.cpp",
55d590543dSopenharmony_ci    "native/src/entities/wifi_entity.cpp",
56d590543dSopenharmony_ci  ]
57d590543dSopenharmony_ci
58d590543dSopenharmony_ci  configs = [
59d590543dSopenharmony_ci    "${batterystats_utils_path}:batterystats_utils_config",
60d590543dSopenharmony_ci    "${batterystats_utils_path}:coverage_flags",
61d590543dSopenharmony_ci  ]
62d590543dSopenharmony_ci
63d590543dSopenharmony_ci  public_configs = [ ":batterystats_public_config" ]
64d590543dSopenharmony_ci
65d590543dSopenharmony_ci  deps = [
66d590543dSopenharmony_ci    ":batterystats_stub",
67d590543dSopenharmony_ci    "${batterystats_inner_api}:batterystats_client",
68d590543dSopenharmony_ci    "${batterystats_utils_path}:batterystats_utils",
69d590543dSopenharmony_ci  ]
70d590543dSopenharmony_ci
71d590543dSopenharmony_ci  external_deps = [ "power_manager:power_permission" ]
72d590543dSopenharmony_ci  external_deps += [
73d590543dSopenharmony_ci    "battery_manager:batterysrv_client",
74d590543dSopenharmony_ci    "c_utils:utils",
75d590543dSopenharmony_ci    "common_event_service:cesfwk_innerkits",
76d590543dSopenharmony_ci    "eventhandler:libeventhandler",
77d590543dSopenharmony_ci    "hicollie:libhicollie",
78d590543dSopenharmony_ci    "hilog:libhilog",
79d590543dSopenharmony_ci    "hisysevent:libhisyseventmanager",
80d590543dSopenharmony_ci    "ipc:ipc_core",
81d590543dSopenharmony_ci    "jsoncpp:jsoncpp",
82d590543dSopenharmony_ci    "os_account:libaccountkits",
83d590543dSopenharmony_ci    "power_manager:power_sysparam",
84d590543dSopenharmony_ci    "safwk:system_ability_fwk",
85d590543dSopenharmony_ci    "samgr:samgr_proxy",
86d590543dSopenharmony_ci  ]
87d590543dSopenharmony_ci
88d590543dSopenharmony_ci  defines = []
89d590543dSopenharmony_ci  public_external_deps = [ "ability_base:want" ]
90d590543dSopenharmony_ci
91d590543dSopenharmony_ci  if (has_batterystats_bluetooth_part) {
92d590543dSopenharmony_ci    external_deps += [ "bluetooth:btframework" ]
93d590543dSopenharmony_ci  }
94d590543dSopenharmony_ci
95d590543dSopenharmony_ci  if (has_batterystats_call_manager_part) {
96d590543dSopenharmony_ci    external_deps += [ "call_manager:tel_call_manager_api" ]
97d590543dSopenharmony_ci  }
98d590543dSopenharmony_ci
99d590543dSopenharmony_ci  if (has_batterystats_config_policy_part) {
100d590543dSopenharmony_ci    defines += [ "HAS_BATTERYSTATS_CONFIG_POLICY_PART" ]
101d590543dSopenharmony_ci    external_deps += [ "config_policy:configpolicy_util" ]
102d590543dSopenharmony_ci  }
103d590543dSopenharmony_ci
104d590543dSopenharmony_ci  if (has_batterystats_display_manager_part) {
105d590543dSopenharmony_ci    external_deps += [ "display_manager:displaymgr" ]
106d590543dSopenharmony_ci  }
107d590543dSopenharmony_ci
108d590543dSopenharmony_ci  if (has_batterystats_wifi_part) {
109d590543dSopenharmony_ci    external_deps += [ "wifi:wifi_sdk" ]
110d590543dSopenharmony_ci  }
111d590543dSopenharmony_ci  if (false) {
112d590543dSopenharmony_ci    defines += [ "SYS_MGR_CLIENT_ENABLE" ]
113d590543dSopenharmony_ci    public_external_deps = [ "ability_runtime:appkit_native" ]
114d590543dSopenharmony_ci  }
115d590543dSopenharmony_ci
116d590543dSopenharmony_ci  subsystem_name = "powermgr"
117d590543dSopenharmony_ci  part_name = "${batterystats_part_name}"
118d590543dSopenharmony_ci}
119d590543dSopenharmony_ci
120d590543dSopenharmony_ciohos_shared_library("batterystats_stub") {
121d590543dSopenharmony_ci  sources = [ "${batterystats_service_zidl}/src/battery_stats_stub.cpp" ]
122d590543dSopenharmony_ci
123d590543dSopenharmony_ci  configs = [
124d590543dSopenharmony_ci    "${batterystats_utils_path}:batterystats_utils_config",
125d590543dSopenharmony_ci    "${batterystats_utils_path}:coverage_flags",
126d590543dSopenharmony_ci  ]
127d590543dSopenharmony_ci
128d590543dSopenharmony_ci  public_configs = [ ":batterystats_public_config" ]
129d590543dSopenharmony_ci
130d590543dSopenharmony_ci  external_deps = [
131d590543dSopenharmony_ci    "c_utils:utils",
132d590543dSopenharmony_ci    "hicollie:libhicollie",
133d590543dSopenharmony_ci    "hilog:libhilog",
134d590543dSopenharmony_ci    "ipc:ipc_core",
135d590543dSopenharmony_ci  ]
136d590543dSopenharmony_ci
137d590543dSopenharmony_ci  if (has_batterystats_call_manager_part) {
138d590543dSopenharmony_ci    external_deps += [ "call_manager:tel_call_manager_api" ]
139d590543dSopenharmony_ci  }
140d590543dSopenharmony_ci
141d590543dSopenharmony_ci  if (has_batterystats_display_manager_part) {
142d590543dSopenharmony_ci    external_deps += [ "display_manager:displaymgr" ]
143d590543dSopenharmony_ci  }
144d590543dSopenharmony_ci  public_external_deps = [ "ability_runtime:appkit_native" ]
145d590543dSopenharmony_ci
146d590543dSopenharmony_ci  subsystem_name = "powermgr"
147d590543dSopenharmony_ci  part_name = "${batterystats_part_name}"
148d590543dSopenharmony_ci}
149d590543dSopenharmony_ci
150d590543dSopenharmony_cigroup("service") {
151d590543dSopenharmony_ci  deps = [
152d590543dSopenharmony_ci    ":batterystats_service",
153d590543dSopenharmony_ci    ":batterystats_stub",
154d590543dSopenharmony_ci    "profile:power_average.json",
155d590543dSopenharmony_ci  ]
156d590543dSopenharmony_ci}
157