diff options
author | Ted Gould <ted@gould.cx> | 2013-10-29 09:25:02 -0700 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2013-10-29 09:25:02 -0700 |
commit | fb134415e1e0042a00db4008e91adccd7d8eeff2 (patch) | |
tree | 7167a1e3e4fe537daf4f0062a25875806237189e /src/device-provider-upower.c | |
parent | 812ac9a18c469c7a4ad60cd7bb1921eb622d7df9 (diff) | |
parent | 1a9e81a4071d1bd137ca8135a993ad65a91e8ee9 (diff) | |
download | ayatana-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.c | 18 |
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", |