Объявление сигналов в адаптерах D-Bus
Любой сигнал в классе, производном от QDBusAbstractAdaptor, будет автоматически передан в D-Bus, при условии, что параметры сигнала соответствуют определённым правилам (см. Систему типов Qt D-Bus для получения дополнительной информации). Для этого не требуется специальный код.
Однако, сигналы всё равно должны быть испущены. Самый простой способ испустить сигнал адаптера — подключить к нему другой сигнал, чтобы механизм сигналов и слотов Qt также испускал сигнал адаптера. Это можно сделать в конструкторе адаптера, как показано в примере D-Bus Complex Ping Pong.
Функция-удобство QDBusAbstractAdaptor::setAutoRelaySignals() также может использоваться для создания и разрыва соединений между сигналами в реальном объекте и соответствующими сигналами в адаптере. Она будет проверять список сигналов в обоих классах и подключать те, параметры которых точно совпадают.
См. также Использование адаптеров Qt D-Bus, Объявление слотов в адаптерах D-Bus, Систему типов Qt D-Bus и QDBusAbstractAdaptor.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qdbusdeclaringsignals.html