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.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.