diff options
author | Bastien Nocera <hadess@hadess.net> | 2014-11-13 19:19:30 +0100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2014-11-14 23:09:12 +0100 |
commit | 4fdb9cee21d0d862ed3b551bebb48cf90d645de4 (patch) | |
tree | e207b54cb61171cf45d8eaf0f170786cb9754b3a | |
parent | 3a5f3e552635a6935d5238eb37c555fd05eddbd9 (diff) | |
download | upower-4fdb9cee21d0d862ed3b551bebb48cf90d645de4.tar.gz |
daemon: Split out updating on_battery and warning_level
So that we can reuse this code.
https://bugs.freedesktop.org/show_bug.cgi?id=86144
-rw-r--r-- | src/up-daemon.c | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/src/up-daemon.c b/src/up-daemon.c index e51f1a5..0f32a18 100644 --- a/src/up-daemon.c +++ b/src/up-daemon.c @@ -832,6 +832,23 @@ up_daemon_compute_warning_level (UpDaemon *daemon, g_assert_not_reached (); } +static void +up_daemon_update_warning_level (UpDaemon *daemon) +{ + gboolean ret; + UpDaemonPrivate *priv = daemon->priv; + UpDeviceLevel warning_level; + + /* Check if the on_battery and warning_level state has changed */ + ret = (up_daemon_get_on_battery_local (daemon) && !up_daemon_get_on_ac_local (daemon)); + if (ret != priv->on_battery) { + up_daemon_set_on_battery (daemon, ret); + } + warning_level = up_daemon_get_warning_level_local (daemon); + if (warning_level != priv->warning_level) + up_daemon_set_warning_level (daemon, warning_level); +} + /** * up_daemon_device_changed_cb: **/ @@ -839,9 +856,6 @@ static void up_daemon_device_changed_cb (UpDevice *device, GParamSpec *pspec, UpDaemon *daemon) { UpDeviceKind type; - gboolean ret; - UpDaemonPrivate *priv = daemon->priv; - UpDeviceLevel warning_level; g_return_if_fail (UP_IS_DAEMON (daemon)); g_return_if_fail (UP_IS_DEVICE (device)); @@ -855,14 +869,7 @@ up_daemon_device_changed_cb (UpDevice *device, GParamSpec *pspec, UpDaemon *daem up_daemon_refresh_battery_devices (daemon); } - /* second, check if the on_battery and warning_level state has changed */ - ret = (up_daemon_get_on_battery_local (daemon) && !up_daemon_get_on_ac_local (daemon)); - if (ret != priv->on_battery) { - up_daemon_set_on_battery (daemon, ret); - } - warning_level = up_daemon_get_warning_level_local (daemon); - if (warning_level != priv->warning_level) - up_daemon_set_warning_level (daemon, warning_level); + up_daemon_update_warning_level (daemon); } typedef struct { |