Service names and object paths

Thomas Themel thomas at
Sun Dec 26 09:09:27 PST 2010

Excerpts from Alberto Mardegan's message of Sun Dec 26 17:20:07 +0100 2010:
> - object paths are unique

Nope. Object paths are unique within one connection.

> - a D-Bus client can have multiple bus names registered on the same 
> connection


> - a given bus name can be owned by at most one connection (and therefore 
> by at most one client) at a time


> - method calls to another client must have a destination field in the 
> message, even if the message contains a path field that could be used by 
> the D-Bus server to uniquely identify the recipient

Well, that depends on your wrong assumption one, so no.

> - match rules are needed only to enable receiving signals, and to sniff 
> method calls meant for other destinations

Well, at least from an API standpoint, that's true. Of course you can treat
some of the registration business as the setting of match rules, but AFAICT
that's not even how it's implemented.

> - method calls are always received by the destination, even if no match 
> was set

I think all messages are always received by the destination, but signals don't
usually have one set, so you need to request them via match rules.

> - if a client registered an object path such as "/com/example/object" 
> and three bus names "com.example.object", "com.example.server", 
> "org.domain.object" on a connection whose unique name is ":1.1", methods 
> on this object will be invoked for all of these messages (coming from 
> another client in the same bus):
> destination=":1.1",path="/com/example/object",method=...
> destination="com.example.object",path="/com/example/object",method=...
> destination="com.example.server",path="/com/example/object",method=...
> destination="org.domain.object",path="/com/example/object",method=...


> - a connection cannot release its unique name, not even after having 
> registered additional bus names


> - when a connection releases any bus names it previously acquired, 
> objects registered on the same connections are not released


> - when a connection is disconnected, all its bus names are released, and 
> the object paths previously registered become available for registration 
> by other clients


[*Thomas  Themel*] <@insomnia> it only takes three commands to install Gentoo
[extended contact] [... 23 part compound command ...]
[info provided in] <@insomnia> that's the first one
[*message header*] -> <>

More information about the dbus mailing list