summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2014-11-13 19:19:30 +0100
committerBastien Nocera <hadess@hadess.net>2014-11-14 23:09:12 +0100
commit4fdb9cee21d0d862ed3b551bebb48cf90d645de4 (patch)
treee207b54cb61171cf45d8eaf0f170786cb9754b3a
parent3a5f3e552635a6935d5238eb37c555fd05eddbd9 (diff)
downloadupower-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.c29
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 {