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