mirror of
https://github.com/openharmony/powermgr_battery_manager.git
synced 2026-07-01 06:42:05 -04:00
56ee1320da
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>
102 lines
3.6 KiB
Plaintext
Executable File
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"
|