D-Bus helps coordinate process lifecycle. It makes it simple and reliable to
code a “single instance” (?) application or deamon, and to launch applications
and deamons on demand when their services are needed.
D-Bus is designed for two specific use cases:
l A “system bus” for notifications from the system to user sessions,
and to allow the system to request input from user sessions
l A “session bus” used to implement desktop environments such as GNOME
and KDE
Converting a value from some other representation into the wire
format is called marshaling and converting it back from the
wire format is unmarshaling.
a block of marshaled values must have a known type
signature.
a single complete type is a sequence of type codes that fully
describes one type: a single complete type is a basic type code, a variant type
code, an array with its element type, or a struct with its fields.
- basic types: struct is entirely defined by their 1-character type code.
- 1) fixed type : values have a fixed length
- 2) string-like types:
- string:
- object_path: are namespaced by starting with a reversed domain name
and containing an interface version number - signature: ?
- http://dbus.freedesktop.org/doc/dbus-specification.html