Объявление сигналов в адаптерах D-Bus
Любой сигнал в классе, производном от QDBusAbstractAdaptor, будет автоматически передан в D-Bus, при условии, что параметры сигнала соответствуют определенным правилам (см. Система типов Qt D-Bus для получения дополнительной информации). Для этого не требуется специальный код.
Однако, сигналы все равно должны быть вызваны. Самый простой способ вызвать сигнал адаптера — подключить к нему другой сигнал, чтобы механизм сигналов и слотов Qt автоматически вызывал и сигнал адаптера. Это можно сделать в конструкторе адаптера, как показано в примере D-Bus Adaptor.
Функция-утилита 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.9/qdbusdeclaringsignals.html