Get Started. It's Free
or sign up with your email address
DBUS by Mind Map: DBUS

1. Transaction Types

1.1. Point-to-Point

1.1.1. "Request-Response"

1.2. Point-to-Multipoint

1.2.1. "Signal"

2. Concepts

2.1. An Object supports particular Methods

2.2. An Object emits particular Signals

2.3. An Object subscribes to a Signal of a particular Object (?)

3. Catch-All signal Handler

3.1. Subscribe to: (i.e. add signal handler)

3.1.1. Interface: 'dbus_interface'

3.1.2. Member: 'member'

4. Socket Protocol

4.1. "line based" i.e. each line terminates with \r\n

4.2. Each line begins with all-caps ASCII command name

4.2.1. Client --> Server

4.2.1.1. AUTH

4.2.1.2. CANCEL

4.2.1.3. BEGIN

4.2.1.4. DATA

4.2.1.5. ERROR

4.2.1.6. EXTENSION_ (future)

4.2.2. Server --> Client

4.2.2.1. REJECTED

4.2.2.2. OK

4.2.2.3. DATA

4.2.2.4. ERROR

4.3. On connection, first send 1 NUL byte

5. Definitions

5.1. Interface

5.1.1. Interface: collection of Methods

5.2. Type

5.2.1. Collection of Interfaces (supported by an Object)

5.3. Method

5.4. Addressing

5.4.1. Bus address

5.4.1.1. e.g. unix: path=/var/run/dbus/system_bus_socket

5.4.2. Connection

5.4.2.1. (unique) e.g. :34-907

5.4.2.2. (well-known) e.g. com.mycompany.myconnection

5.4.3. Object

5.4.3.1. e.g. /com/mycompany/myobject

5.4.4. Interface

5.4.4.1. e.g. com.mycompany.myinterface

5.4.5. Member

5.4.5.1. e.g. list...

5.5. 'Member'

5.5.1. For an Object, it is the Collection of:

5.5.1.1. Supported Methods

5.5.1.2. Emitted Signals

6. Standard Interfaces

6.1. org.freedesktop.DBus.Peer

6.1.1. Ping()

6.1.2. GetMachineId()

6.2. org.freedesktop.DBus.Introspectable

6.2.1. Introspect()

6.3. org.freedesktop.DBus.Properties

6.3.1. Get()

6.3.2. Set()

6.3.3. GetAll()

7. Message Bus

7.1. name=org.freedesktop.DBus

7.2. methods

7.2.1. org.freedesktop.DBus.Hello()

7.2.2. org.freedesktop.DBus.RequestName()

7.2.3. org.freedesktop.DBus.ReleaseName()

7.2.4. org.freedesktop.DBus.ListNames()

7.2.5. org.freedesktop.DBus.ListActivatableNames()

7.2.6. org.freedesktop.DBus.NameHasOwner()

7.2.7. org.freedesktop.DBus.StartServiceByName()

7.2.8. org.freedesktop.DBus.GetNameOwner()

7.2.9. org.freedesktop.DBus.GetConnectionUnixUser()

7.2.10. org.freedesktop.DBus.AddMatch()

7.2.11. org.freedesktop.DBus.RemoveMatch()

7.2.12. org.freedesktop.DBus.GetId()

7.3. signals

7.3.1. org.freedesktop.DBus.NameOwnerChanged()

7.3.2. org.freedesktop.DBus.NameLost()

7.3.3. org.freedesktop.DBus.NameAcquired()