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("//base/powermgr/battery_statistics/batterystats.gni") 15 16config("batterystats_private_config") { 17 include_dirs = [ 18 "//base/hiviewdfx/hicollie/interfaces/native/innerkits/include/xcollie", 19 "//base/telephony/call_manager/interfaces/innerkits", 20 "//foundation/communication/bluetooth/services/bluetooth/common/", 21 "//foundation/communication/wifi/wifi/utils/inc", 22 "//base/powermgr/display_manager/interfaces/innerkits/native/include", 23 ] 24} 25 26config("batterystats_public_config") { 27 include_dirs = [ 28 "native/include", 29 "${ability_runtime_path}/interfaces/kits/native/appkit/app", 30 "${batterystats_service_zidl}/include", 31 ] 32} 33 34ohos_shared_library("batterystats_service") { 35 sources = [ 36 "native/src/battery_stats_core.cpp", 37 "native/src/battery_stats_detector.cpp", 38 "native/src/battery_stats_dumper.cpp", 39 "native/src/battery_stats_listener.cpp", 40 "native/src/battery_stats_parser.cpp", 41 "native/src/battery_stats_service.cpp", 42 "native/src/battery_stats_subscriber.cpp", 43 "native/src/cpu_time_reader.cpp", 44 "native/src/entities/alarm_entity.cpp", 45 "native/src/entities/audio_entity.cpp", 46 "native/src/entities/battery_stats_entity.cpp", 47 "native/src/entities/bluetooth_entity.cpp", 48 "native/src/entities/camera_entity.cpp", 49 "native/src/entities/cpu_entity.cpp", 50 "native/src/entities/flashlight_entity.cpp", 51 "native/src/entities/gnss_entity.cpp", 52 "native/src/entities/idle_entity.cpp", 53 "native/src/entities/phone_entity.cpp", 54 "native/src/entities/screen_entity.cpp", 55 "native/src/entities/sensor_entity.cpp", 56 "native/src/entities/uid_entity.cpp", 57 "native/src/entities/user_entity.cpp", 58 "native/src/entities/wakelock_entity.cpp", 59 "native/src/entities/wifi_entity.cpp", 60 ] 61 62 configs = [ 63 "${batterystats_utils_path}:batterystats_utils_config", 64 ":batterystats_private_config", 65 ] 66 67 public_configs = [ ":batterystats_public_config" ] 68 69 deps = [ 70 ":batterystats_stub", 71 "${batterystats_innerkits}:batterystats_client", 72 "${batterystats_utils_path}:batterystats_utils", 73 "//base/powermgr/power_manager/utils/permission:power_permission", 74 "//third_party/jsoncpp", 75 ] 76 77 external_deps = [ 78 "ability_base:want", 79 "ability_runtime:abilitykit_native", 80 "battery_manager:batterysrv_client", 81 "c_utils:utils", 82 "common_event_service:cesfwk_innerkits", 83 "eventhandler:libeventhandler", 84 "hicollie_native:libhicollie", 85 "hisysevent_native:libhisyseventmanager", 86 "hiviewdfx_hilog_native:libhilog", 87 "ipc:ipc_core", 88 "os_account:libaccountkits", 89 "safwk:system_ability_fwk", 90 ] 91 92 part_name = "${batterystats_part_name}" 93} 94 95ohos_shared_library("batterystats_stub") { 96 sources = [ "${batterystats_service_zidl}/src/battery_stats_stub.cpp" ] 97 98 configs = [ 99 "${batterystats_utils_path}:batterystats_utils_config", 100 ":batterystats_private_config", 101 ] 102 103 public_configs = [ ":batterystats_public_config" ] 104 105 external_deps = [ 106 "c_utils:utils", 107 "hicollie_native:libhicollie", 108 "hiviewdfx_hilog_native:libhilog", 109 "ipc:ipc_core", 110 ] 111 112 part_name = "${batterystats_part_name}" 113} 114 115group("service") { 116 deps = [ 117 ":batterystats_service", 118 ":batterystats_stub", 119 "profile:power_average.json", 120 ] 121} 122