diff options
author | Bastien Nocera <hadess@hadess.net> | 2013-10-14 14:27:48 +0200 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2013-10-14 14:27:48 +0200 |
commit | 77c3278ff525edf30e2e7adb417a8944b59ccefa (patch) | |
tree | b9d8b263f50eee07c07a9e24a2d5bea73a5652da /src | |
parent | ac1708e86e0f87c25e5cf7e11a82324c5d002fba (diff) | |
download | upower-77c3278ff525edf30e2e7adb417a8944b59ccefa.tar.gz |
daemon: Move all computations of warning level to daemon
There's no reason why the state check should be done in the UpDevice
implementation, and the state will be needed to add a new warning
level for UPSes.
Diffstat (limited to 'src')
-rw-r--r-- | src/up-daemon.c | 14 | ||||
-rw-r--r-- | src/up-daemon.h | 1 | ||||
-rw-r--r-- | src/up-device.c | 14 |
3 files changed, 16 insertions, 13 deletions
diff --git a/src/up-daemon.c b/src/up-daemon.c index 9651999..2018a91 100644 --- a/src/up-daemon.c +++ b/src/up-daemon.c @@ -543,14 +543,18 @@ up_daemon_set_warning_level (UpDaemon *daemon, UpDeviceLevel warning_level) } UpDeviceLevel -up_daemon_compute_warning_level (UpDaemon *daemon, - UpDeviceKind kind, - gboolean power_supply, - gdouble percentage, - gint64 time_to_empty) +up_daemon_compute_warning_level (UpDaemon *daemon, + UpDeviceState state, + UpDeviceKind kind, + gboolean power_supply, + gdouble percentage, + gint64 time_to_empty) { gboolean use_percentage = TRUE; + if (state != UP_DEVICE_STATE_DISCHARGING) + return UP_DEVICE_LEVEL_NONE; + /* Keyboard and mice usually have a coarser * battery level, so this avoids falling directly * into critical (or off) before any warnings */ diff --git a/src/up-daemon.h b/src/up-daemon.h index 3bf7a19..19ca334 100644 --- a/src/up-daemon.h +++ b/src/up-daemon.h @@ -84,6 +84,7 @@ void up_daemon_set_on_battery (UpDaemon *daemon, void up_daemon_set_warning_level (UpDaemon *daemon, UpDeviceLevel warning_level); UpDeviceLevel up_daemon_compute_warning_level(UpDaemon *daemon, + UpDeviceState state, UpDeviceKind kind, gboolean power_supply, gdouble percentage, diff --git a/src/up-device.c b/src/up-device.c index c51e7d7..371dcb9 100644 --- a/src/up-device.c +++ b/src/up-device.c @@ -180,14 +180,12 @@ update_warning_level (UpDevice *device) { UpDeviceLevel warning_level; - if (device->priv->state != UP_DEVICE_STATE_DISCHARGING) - warning_level = UP_DEVICE_LEVEL_NONE; - else - warning_level = up_daemon_compute_warning_level (device->priv->daemon, - device->priv->type, - device->priv->power_supply, - device->priv->percentage, - device->priv->time_to_empty); + warning_level = up_daemon_compute_warning_level (device->priv->daemon, + device->priv->state, + device->priv->type, + device->priv->power_supply, + device->priv->percentage, + device->priv->time_to_empty); if (warning_level == device->priv->warning_level) return; |