C convenience lib (was Re: Is dbus_pending_call_set_notify() thread safe?)
Thiago Macieira
thiago at kde.org
Fri Aug 3 10:23:24 PDT 2007
Havoc Pennington wrote:
>> 1) does it handle properly the introspections for objects with
>> sub-nodes only (no interfaces)? I.e., object paths that were created
>> only because they have children objects, like /org for
>> /org/freedesktop/DBus.
>
>If you register a "fallback handler" for a whole subtree you would
>normally implement Introspect() on that subtree also, since libdbus
>doesn't know what's "inside" it.
I was talking about the leading path to an object that was registered.
That is, nothing registered /org, but it must exist
because /org/freedesktop/DBus does.
libdbus-1 must generate it.
>> 2) how does it insert the sub-nodes XML entries for existing objects?
>> That is, suppose I register /foo and /foo/bar. If I get the
>> introspection call for /foo, does libdbus-1 insert the <node
>> name="bar"/> into my XML data?
>
>The only thing libdbus does is that if all app handlers return
>NOT_YET_HANDLED for an Introspect(), it has a default Introspect()
>implementation that just lists the registered child nodes. This default
>implementation is used for nodes that nobody owns, for example usually
> "/"
Good. This answers the question above.
>If you handle Introspect() at all, you have to handle it entirely by
>listing the child nodes and including them in your xml, with
>dbus_connection_list_registered()
Good, that makes sense. The apidox doesn't say so, but does it return only
immediate paths?
Example:
/foo
/foo/bar
/foo/bar/baz
dbus_connection_list_registered("/foo") returns "bar/baz" too?
>> 3) does dbus_bus_add_match causes a reference count to go up
>> somewhere? (preferrably, in the daemon)
>
>Right, if you add the same match 3 times you must remove it 3 times
>before it goes away.
Good. Those are the good answers to my questions.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freedesktop.org/archives/dbus/attachments/20070803/36caec0f/attachment.pgp
More information about the dbus
mailing list