Declaring Signals in D-Bus Adaptors

Any signal in a class derived from QDBusAbstractAdaptor will be automatically relayed into D-Bus, provided that the signal's parameters conform to certain rules (see The Qt D-Bus Type System for more information). No special code is necessary to make this relay.

However, signals must still be emitted. The easiest way to emit an adaptor signal is to connect another signal to it, so that Qt's signals and slots mechanism automatically emits the adaptor signal, too. This can be done in the adaptor's constructor, as you can see in the D-Bus Complex Ping Pong Example.

The QDBusAbstractAdaptor::setAutoRelaySignals() convenience function can also be used to make and break connections between signals in the real object and the corresponding signals in the adaptor. It will inspect the list of signals in both classes and connect those whose parameters match exactly.

See also Using Qt D-Bus Adaptors, Declaring Slots in D-Bus Adaptors, The Qt D-Bus Type System, and QDBusAbstractAdaptor.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qdbusdeclaringsignals.html