Request for the 1.0 release

Thiago Macieira thiago.macieira at trolltech.com
Sun Feb 26 04:18:48 PST 2006


Havoc Pennington wrote:
>On Sun, 2006-02-26 at 02:48 +0100, Thiago Macieira wrote:
>> It works if the bindings play nice with each other. Currently, we
>> don't. We don't register the objects because the tree is dynamic and
>> can change without calling "registerObject".
>
>I'm not sure I understand all the issues - do you think this is
>something fixable?

Maybe. It's not a high priority in my TO-DO list.

>Is the problem you can't reliably tell if another binding registers the
>same object?

I've got two trees here: the object tree registered with registerObject 
and the tree that the registered objects bring with themselves: QObject 
objects are organised in a tree themselves, so the user can use 
the "ExportChildObjects" flag.

And that tree is out of my control: it can change at any time, so I cannot 
register it with the D-Bus library.

A simple solution to this would be to namespace all the objects the 
binding registers.

>get_interface() is something you call on the proxy itself, not on the
>signal; so you'd always get whatever interface you created the proxy
>with (the dbus interface name of the remote object). If a remote object
>has two interfaces, with DBusGProxy you have to create two proxies, or I
>think you can just pass in NULL for the interface (which will then omit
>it in the DBusMessage as well).

Ok, I understand. The "destroyed" signal actually means that the (service, 
object, interface) tuple is no longer available, instead of the (service, 
object) pair.

>DBusGProxy does not map remote signals to regular GObject signals,
>instead there's a special dbus_g_proxy_connect_signal() that you use
>instead of g_signal_connect() for remote signals. To map remote signals
>to regular GObject signals, a new proxy *class* would have to be
>generated for each remote object, while right now the proxy instances
>all have the class DBusGProxy.

I have a similar situation here. I pondered doing that on my way home last 
night, but I came to the conclusion that it's more trouble than it's 
worth. And, besides, the correct behaviour of a QObject cannot be 
reproduced (objectDestroyed signal, deleteLater slot, setParent, setName, 
etc.).

So I'll stay with my current light-weight wrappers (proxies).

-- 
Thiago José Macieira - thiago.macieira AT trolltech.com
Trolltech AS - Sandakerveien 116, NO-0402 Oslo, Norway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/dbus/attachments/20060226/947d126a/attachment.pgp


More information about the dbus mailing list