Get Started. It's Free
or sign up with your email address
Rocket clouds
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. Definitions

2.1. Interface

2.1.1. Interface: collection of Methods

2.2. Type

2.2.1. Collection of Interfaces (supported by an Object)

2.3. Method

2.4. Addressing

2.4.1. Bus address

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

2.4.2. Connection

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

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

2.4.3. Object

2.4.3.1. e.g. /com/mycompany/myobject

2.4.4. Interface

2.4.4.1. e.g. com.mycompany.myinterface

2.4.5. Member

2.4.5.1. e.g. list...

2.5. 'Member'

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

2.5.1.1. Supported Methods

2.5.1.2. Emitted Signals

3. Concepts

3.1. An Object supports particular Methods

3.2. An Object emits particular Signals

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

4. Catch-All signal Handler

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

4.1.1. Interface: 'dbus_interface'

4.1.2. Member: 'member'

5. Socket Protocol

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

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

5.2.1. Client --> Server

5.2.1.1. AUTH

5.2.1.2. CANCEL

5.2.1.3. BEGIN

5.2.1.4. DATA

5.2.1.5. ERROR

5.2.1.6. EXTENSION_ (future)

5.2.2. Server --> Client

5.2.2.1. REJECTED

5.2.2.2. OK

5.2.2.3. DATA

5.2.2.4. ERROR

5.3. On connection, first send 1 NUL byte

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()