Объявление сигналов в адаптерах 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/archives/qt-5.11/qdbusdeclaringsignals.html