Service names and object paths
Alberto Mardegan
mardy at users.sourceforge.net
Sun Dec 26 08:20:07 PST 2010
Hi all!
I'm considering implementing a new low-level IPC system, and I'm
planning it so that most of libdbus APIs could be implemented on top of it.
I'm not new to D-Bus, but I haven't used the low-level API much and I
have a few doubts. I'd like some kind soul to go through the following
statements and tell me whether they are correct:
In the same bus (e.g., the session bus):
- object paths are unique
- 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
- match rules are needed only to enable receiving signals, and to sniff
method calls meant for other destinations
- method calls are always received by the destination, even if no match
was set
- 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
This is my understanding. Please let me know if I got anything wrong. :-)
TIA,
Alberto
--
http://blog.mardy.it <- geek in un lingua international!
More information about the dbus
mailing list