Thread (7 messages) 7 messages, 2 authors, 2012-11-29

Re: [PATCH BlueZ 1/3] gdbus: Don't register DBus.Properties with no properties

From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2012-11-29 13:33:03

Hi Lucas,

On Thu, Nov 29, 2012 at 3:19 PM, Lucas De Marchi
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
Delay registering DBus.Properties interface until the moment there are
properties on that path. This is needed for objects that currently don't
expose any property to not export the interface.
---
 gdbus/object.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/gdbus/object.c b/gdbus/object.c
index 3101ca6..47116bd 100644
--- a/gdbus/object.c
+++ b/gdbus/object.c
@@ -1213,9 +1213,6 @@ static struct generic_data *object_path_ref(DBusConnection *connection,
                                        manager_methods, manager_signals,
                                        NULL, data, NULL);

-       add_interface(data, DBUS_INTERFACE_PROPERTIES, properties_methods,
-                                       properties_signals, NULL, data, NULL);
-
        return data;
 }
@@ -1336,6 +1333,12 @@ gboolean g_dbus_register_interface(DBusConnection *connection,
                return FALSE;
        }

+       if (properties != NULL && !find_interface(data->interfaces,
+                                               DBUS_INTERFACE_PROPERTIES))
+               add_interface(data, DBUS_INTERFACE_PROPERTIES,
+                               properties_methods, properties_signals, NULL,
+                               data, NULL);
+
        add_interface(data, name, methods, signals, properties, user_data,
                                                                destroy);

--
1.8.0.1
Ack


--
Luiz Augusto von Dentz
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help