Files
powermgr_battery_manager/batterymgr.gni
T
wangyantian 56ee1320da feat: add ohos-battery-manager CLI tool for battery capacity and energy queries
Add a new CLI tool under tools/ohos-battery-manager/ that wraps
BatterySrvClient inner API to provide battery information queries
via command line interface.

Commands:
- capacity: query battery level percentage (0-100%)
- total-energy: query battery total energy (mAh)
- remain-energy: query battery remaining energy (mAh)

The tool uses static command table dispatch (std::unordered_map),
outputs JSON to stdout, logs to stderr, and is configured with
CFI sanitize per battery_manager component requirements.

Feature gate: battery_manager_feature_support_battery_cli (default: false)

Co-Authored-By: Agent
Change-Id: I11bbcad5db8189338df3b1d7982f9860868aaa7a
Signed-off-by: wangyantian <wangyantian@huawei.com>
2026-04-27 10:10:58 +08:00

102 lines
3.6 KiB
Plaintext
Executable File

# Copyright (c) 2021 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build/ohos.gni")
declare_args() {
battery_manager_feature_set_low_capacity_threshold = false
battery_manager_feature_enable_charger = false
battery_manager_feature_enable_charging_sound = false
battery_manager_feature_support_notification = false
battery_manager_feature_support_notification_string = false
battery_manager_feature_enable_wireless_charge = false
battery_manager_feature_support_battery_cli = false
}
defines = []
if (battery_manager_feature_set_low_capacity_threshold) {
defines += [ "BATTERY_MANAGER_SET_LOW_CAPACITY_THRESHOLD" ]
}
if (!defined(global_parts_info) ||
defined(global_parts_info.hiviewdfx_hisysevent)) {
has_hiviewdfx_hisysevent_part = true
defines += [ "HAS_HIVIEWDFX_HISYSEVENT_PART" ]
} else {
has_hiviewdfx_hisysevent_part = false
}
if (!defined(global_parts_info) ||
defined(global_parts_info.sensors_miscdevice)) {
has_sensors_miscdevice_part = true
defines += [ "HAS_SENSORS_MISCDEVICE_PART" ]
} else {
has_sensors_miscdevice_part = false
}
if (!defined(global_parts_info) ||
defined(global_parts_info.hdf_drivers_interface_display)) {
has_drivers_interface_display_part = true
} else {
has_drivers_interface_display_part = false
}
if (!defined(global_parts_info) ||
defined(global_parts_info.hdf_drivers_interface_light)) {
has_drivers_interface_light_part = true
} else {
has_drivers_interface_light_part = false
}
if (!defined(global_parts_info) ||
defined(global_parts_info.graphic_graphic_surface)) {
has_graphic_surface_part = true
} else {
has_graphic_surface_part = false
}
if (!defined(global_parts_info) || defined(global_parts_info.arkui_ui_lite)) {
has_ui_lite_part = true
} else {
has_ui_lite_part = false
}
if (!defined(global_parts_info) || defined(global_parts_info.graphic_utils_lite)) {
has_graphic_utils_lite_part = true
} else {
has_graphic_utils_lite_part = false
}
if (!defined(global_parts_info) ||
defined(global_parts_info.customization_config_policy)) {
has_battery_config_policy_part = true
} else {
has_battery_config_policy_part = false
}
ability_runtime_path = "//foundation/ability/ability_runtime"
ability_runtime_napi_path = "${ability_runtime_path}/frameworks/js/napi"
ability_runtime_inner_api_path = "${ability_runtime_path}/interfaces/inner_api"
ability_runtime_services_path = "${ability_runtime_path}/services"
batterymgr_native_part_name = "battery_manager"
module_output_path = "battery_manager/battery_manager"
battery_manager_path = "//base/powermgr/battery_manager"
battery_inner_api = "${battery_manager_path}/interfaces/inner_api"
battery_frameworks = "${battery_manager_path}/frameworks"
battery_service = "${battery_manager_path}/services"
battery_service_native = "${battery_service}/native"
battery_service_zidl = "${battery_service}/zidl"
battery_utils = "${battery_manager_path}/utils"
taihe_generated_file_path_batteryInfo = "${root_out_dir}/taihe/out/powermgr/battery_manager/batteryInfo"
taihe_generated_file_path_charger = "${root_out_dir}/taihe/out/powermgr/battery_manager/charger"