aboutsummaryrefslogtreecommitdiff
path: root/src/device-provider-upower.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2013-10-29 09:25:02 -0700
committerTed Gould <ted@gould.cx>2013-10-29 09:25:02 -0700
commitfb134415e1e0042a00db4008e91adccd7d8eeff2 (patch)
tree7167a1e3e4fe537daf4f0062a25875806237189e /src/device-provider-upower.c
parent812ac9a18c469c7a4ad60cd7bb1921eb622d7df9 (diff)
parent1a9e81a4071d1bd137ca8135a993ad65a91e8ee9 (diff)
downloadayatana-indicator-power-fb134415e1e0042a00db4008e91adccd7d8eeff2.tar.gz
ayatana-indicator-power-fb134415e1e0042a00db4008e91adccd7d8eeff2.tar.bz2
ayatana-indicator-power-fb134415e1e0042a00db4008e91adccd7d8eeff2.zip
Updating to trunk
Diffstat (limited to 'src/device-provider-upower.c')
-rw-r--r--src/device-provider-upower.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/device-provider-upower.c b/src/device-provider-upower.c
index 05faeab..1b1b7bd 100644
--- a/src/device-provider-upower.c
+++ b/src/device-provider-upower.c
@@ -249,6 +249,22 @@ on_upower_device_removed (DbusUPower * unused G_GNUC_UNUSED,
}
static void
+on_upower_resuming (DbusUPower * unused G_GNUC_UNUSED,
+ gpointer gself)
+{
+ IndicatorPowerDeviceProviderUPower * self;
+ GHashTableIter iter;
+ gpointer object_path;
+
+ self = INDICATOR_POWER_DEVICE_PROVIDER_UPOWER (gself);
+
+ g_debug ("Resumed from hibernate/sleep; queueing all devices for a refresh");
+ g_hash_table_iter_init (&iter, self->priv->devices);
+ while (g_hash_table_iter_next (&iter, &object_path, NULL))
+ refresh_device_soon (self, object_path);
+}
+
+static void
on_upower_proxy_ready (GObject * source G_GNUC_UNUSED,
GAsyncResult * res,
gpointer gself)
@@ -272,6 +288,8 @@ on_upower_proxy_ready (GObject * source G_GNUC_UNUSED,
p = self->priv;
p->upower_proxy = proxy;
+ g_signal_connect (proxy, "resuming",
+ G_CALLBACK (on_upower_resuming), self);
g_signal_connect (proxy, "device-changed",
G_CALLBACK (on_upower_device_changed), self);
g_signal_connect (proxy, "device-added",