GDBus: Update docs for GDBusProxy::g-properties-changed signal

Also update the example. See

https://bugzilla.gnome.org/show_bug.cgi?id=618559

for more details.

Signed-off-by: David Zeuthen <davidz@redhat.com>
This commit is contained in:
David Zeuthen 2010-05-13 16:57:29 -04:00
parent e3f5d3c005
commit 3ca28ef718
2 changed files with 10 additions and 7 deletions

View File

@ -387,13 +387,13 @@ g_dbus_proxy_class_init (GDBusProxyClass *klass)
/** /**
* GDBusProxy::g-properties-changed: * GDBusProxy::g-properties-changed:
* @proxy: The #GDBusProxy emitting the signal. * @proxy: The #GDBusProxy emitting the signal.
* @changed_properties: A #GVariant containing the properties that * @changed_properties: A #GVariant containing the properties that changed
* changed or %NULL if no properties changed. * @invalidated_properties: A %NULL terminated array of properties that was invalidated
* @invalidated_properties: A %NULL terminated list of properties that was
* invalidated or %NULL if no properties was invalidated.
* *
* Emitted when one or more D-Bus properties on @proxy changes. The * Emitted when one or more D-Bus properties on @proxy changes. The
* local cache has already been updated when this signal fires. * local cache has already been updated when this signal fires. Note
* that both @changed_properties and @invalidated_properties are
* guaranteed to never be %NULL (either may be empty though).
* *
* This signal corresponds to the * This signal corresponds to the
* <literal>PropertiesChanged</literal> D-Bus signal on the * <literal>PropertiesChanged</literal> D-Bus signal on the

View File

@ -47,8 +47,11 @@ on_properties_changed (GDBusProxy *proxy,
const gchar* const *invalidated_properties, const gchar* const *invalidated_properties,
gpointer user_data) gpointer user_data)
{ {
/* Note that we are guaranteed that changed_properties and
* invalidated_properties are never NULL
*/
if (changed_properties != NULL) if (g_variant_n_children (changed_properties) > 0)
{ {
GVariantIter *iter; GVariantIter *iter;
GVariant *item; GVariant *item;
@ -72,7 +75,7 @@ on_properties_changed (GDBusProxy *proxy,
} }
} }
if (invalidated_properties != NULL) if (g_strv_length ((GStrv) invalidated_properties) > 0)
{ {
guint n; guint n;
g_print (" *** Properties Invalidated:\n"); g_print (" *** Properties Invalidated:\n");