From 7163629c87ae748354000be7716e6e017b3b1d27 Mon Sep 17 00:00:00 2001 From: lokilee73 Date: Mon, 25 Jan 2021 16:06:16 +0900 Subject: [PATCH] Use device_battery_get_info_direct Change-Id: I387f39d1ba792e9c79aae75abc12cf498652bd34 Signed-off-by: lokilee73 --- include/battery-internal.h | 15 -------- src/battery.c | 88 +++++----------------------------------------- 2 files changed, 9 insertions(+), 94 deletions(-) diff --git a/include/battery-internal.h b/include/battery-internal.h index 19b8768..2ce0e56 100644 --- a/include/battery-internal.h +++ b/include/battery-internal.h @@ -61,21 +61,6 @@ struct device_battery_info { * @retval #DEVICE_ERROR_OPERATION_FAILED Operation failed * @retval #DEVICE_ERROR_NOT_SUPPORTED Not supported device */ -int device_battery_get_info(struct device_battery_info *info); - -/** - * @brief Gets the battery status.. - * @since_tizen 6.0 - * @param[out] info battery status information.\n - * The current_average is INT_MAX if battery hw does not provide current average.\n - * The voltage_average is INT_MAX if battery hw does not provide voltage average. - * @return @c 0 on success, - * otherwise a negative error value - * @retval #DEVICE_ERROR_NONE Successful - * @retval #DEVICE_ERROR_INVALID_PARAMETER Invalid parameter - * @retval #DEVICE_ERROR_OPERATION_FAILED Operation failed - * @retval #DEVICE_ERROR_NOT_SUPPORTED Not supported device - */ int device_battery_get_info_direct(struct device_battery_info *info); /** diff --git a/src/battery.c b/src/battery.c index 5d14920..4e4add5 100644 --- a/src/battery.c +++ b/src/battery.c @@ -58,6 +58,7 @@ static int is_battery_supported(void) int device_battery_get_percent(int *percent) { + struct device_battery_info info; int ret; if (!percent) @@ -67,16 +68,11 @@ int device_battery_get_percent(int *percent) if (!ret) return DEVICE_ERROR_NOT_SUPPORTED; - ret = dbus_handle_method_sync_var(DEVICED_BUS_NAME, - DEVICED_PATH_BATTERY, DEVICED_INTERFACE_BATTERY, - METHOD_GET_PERCENT, NULL); - /* regard not suppoted as disconnected */ - if (ret == -ENOTSUP) - ret = 0; - else if (ret < 0) - return errno_to_device_error(ret); //LCOV_EXCL_LINE System Error + ret = device_battery_get_info_direct(&info); + if (ret < 0) + return ret; //LCOV_EXCL_LINE System Error - *percent = ret; + *percent = info.capacity; return DEVICE_ERROR_NONE; } @@ -138,72 +134,6 @@ int device_battery_get_level_status(device_battery_level_e *status) return DEVICE_ERROR_NONE; } -int device_battery_get_info(struct device_battery_info *info) -{ - int ret; - GVariant *output = NULL; - char *status = NULL; - char *health = NULL; - char *power_source = NULL; - int online; - int present; - int capacity; - int current_now; - int current_average; - int voltage_now; - int voltage_average; - int temperature; - - if (!info) - return DEVICE_ERROR_INVALID_PARAMETER; - - ret = is_battery_supported(); - if (!ret) - return DEVICE_ERROR_NOT_SUPPORTED; - - output = dbus_handle_method_sync_with_reply_var(DEVICED_BUS_NAME, - DEVICED_PATH_BATTERY, DEVICED_INTERFACE_BATTERY, - METHOD_GET_INFO, NULL); - - if (!output) - return DEVICE_ERROR_OPERATION_FAILED; //LCOV_EXCL_LINE System Error - - g_variant_get(output, "(isssiiiiiiii)", &ret, - &status, &health, &power_source, - &online, &present, &capacity, - ¤t_now, ¤t_average, &voltage_now, - &voltage_average, &temperature); - - if (ret < 0) { -//LCOV_EXCL_START System Error - ret = errno_to_device_error(ret); - goto out; -//LCOV_EXCL_STOP - } - - snprintf(info->status, sizeof(info->status), "%s", status); - snprintf(info->health, sizeof(info->health), "%s", health); - snprintf(info->power_source, sizeof(info->power_source), "%s", power_source); - info->online = online; - info->present = present; - info->capacity = capacity; - info->current_now = current_now; - info->current_average = current_average; - info->voltage_now = voltage_now; - info->voltage_average = voltage_average; - info->temperature = temperature; - - ret = DEVICE_ERROR_NONE; - -out: - g_free(status); - g_free(health); - g_free(power_source); - g_variant_unref(output); - - return ret; -} - static void battery_get_info(struct battery_info *info, void *data) { struct device_battery_info *bat = data; @@ -267,7 +197,7 @@ int device_battery_get_health(device_battery_health_e *health) if (!ret) return DEVICE_ERROR_NOT_SUPPORTED; - ret = device_battery_get_info(&info); + ret = device_battery_get_info_direct(&info); if (ret != DEVICE_ERROR_NONE) { //LCOV_EXCL_START System Error _E("Failed to get battery info (%d)", ret); @@ -305,7 +235,7 @@ int device_battery_get_power_source(device_battery_power_source_e *source) if (!ret) return DEVICE_ERROR_NOT_SUPPORTED; - ret = device_battery_get_info(&info); + ret = device_battery_get_info_direct(&info); if (ret != DEVICE_ERROR_NONE) { //LCOV_EXCL_START System Error _E("Failed to get battery info (%d)", ret); @@ -338,7 +268,7 @@ int device_battery_get_property(device_battery_property_e property, int *val) if (!ret) return DEVICE_ERROR_NOT_SUPPORTED; - ret = device_battery_get_info(&info); + ret = device_battery_get_info_direct(&info); if (ret != DEVICE_ERROR_NONE) { //LCOV_EXCL_START System Error _E("Failed to get battery info (%d)", ret); @@ -386,7 +316,7 @@ int device_battery_get_status(device_battery_status_e *status) if (!ret) return DEVICE_ERROR_NOT_SUPPORTED; - ret = device_battery_get_info(&info); + ret = device_battery_get_info_direct(&info); if (ret != DEVICE_ERROR_NONE) { //LCOV_EXCL_START System Error _E("Failed to get battery info (%d)", ret); -- 2.7.4