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