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