diff options
author | Richard Hughes <richard@hughsie.com> | 2009-10-14 10:53:35 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2009-10-14 10:53:35 +0100 |
commit | b00791b9bf30bf1089d20062f730e59895096fe8 (patch) | |
tree | 917a74ccd57ef498d8f45942234f117a42b40931 /devkit-power-gobject | |
parent | b69e31ef05a18be74c4ff69ed3a6ce79a0550bc2 (diff) |
Add g_object_notify() calls for properties on DkpClient
Diffstat (limited to 'devkit-power-gobject')
-rw-r--r-- | devkit-power-gobject/dkp-client.c | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/devkit-power-gobject/dkp-client.c b/devkit-power-gobject/dkp-client.c index f654edd..0f7562c 100644 --- a/devkit-power-gobject/dkp-client.c +++ b/devkit-power-gobject/dkp-client.c @@ -265,42 +265,66 @@ dkp_client_ensure_properties (DkpClient *client) g_warning ("No 'CanSuspend' property"); goto out; } - client->priv->can_suspend = g_value_get_boolean (value); + ret = g_value_get_boolean (value); + if (ret != client->priv->can_suspend) { + client->priv->can_suspend = ret; + g_object_notify (G_OBJECT(client), "can-suspend"); + } value = g_hash_table_lookup (props, "CanHibernate"); if (value == NULL) { g_warning ("No 'CanHibernate' property"); goto out; } - client->priv->can_hibernate = g_value_get_boolean (value); + ret = g_value_get_boolean (value); + if (ret != client->priv->can_hibernate) { + client->priv->can_hibernate = ret; + g_object_notify (G_OBJECT(client), "can-hibernate"); + } value = g_hash_table_lookup (props, "LidIsClosed"); if (value == NULL) { g_warning ("No 'LidIsClosed' property"); goto out; } - client->priv->lid_is_closed = g_value_get_boolean (value); + ret = g_value_get_boolean (value); + if (ret != client->priv->lid_is_closed) { + client->priv->lid_is_closed = ret; + g_object_notify (G_OBJECT(client), "lid-is-closed"); + } value = g_hash_table_lookup (props, "OnBattery"); if (value == NULL) { g_warning ("No 'OnBattery' property"); goto out; } - client->priv->on_battery = g_value_get_boolean (value); + ret = g_value_get_boolean (value); + if (ret != client->priv->on_battery) { + client->priv->on_battery = ret; + g_object_notify (G_OBJECT(client), "on-battery"); + } value = g_hash_table_lookup (props, "OnLowBattery"); if (value == NULL) { g_warning ("No 'OnLowBattery' property"); goto out; } - client->priv->on_low_battery = g_value_get_boolean (value); + ret = g_value_get_boolean (value); + if (ret != client->priv->on_low_battery) { + client->priv->on_low_battery = ret; + g_object_notify (G_OBJECT(client), "on-low-battery"); + } value = g_hash_table_lookup (props, "LidIsPresent"); if (value == NULL) { g_warning ("No 'LidIsPresent' property"); goto out; } - client->priv->lid_is_present = g_value_get_boolean (value); + ret = g_value_get_boolean (value); + if (ret != client->priv->lid_is_present) { + client->priv->lid_is_present = ret; + g_object_notify (G_OBJECT(client), "lid-is-present"); + } /* cached */ client->priv->have_properties = TRUE; |