Класс QDBusAbstractAdaptor
Класс QDBusAbstractAdaptor — базовый класс для классов адаптеров D-Bus. Подробнее...
| Заголовок: | #include <QDBusAbstractAdaptor> |
| CMake: | find_package(Qt6 COMPONENTS Dbus REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Dbus) |
| qmake: | QT += dbus |
| Наследует: | QObject |
Открытые функции
| virtual | ~QDBusAbstractAdaptor() |
Защищенные функции
| QDBusAbstractAdaptor(QObject *obj) | |
| bool | autoRelaySignals() const |
| void | setAutoRelaySignals(bool enable) |
Макросы
| Q_NOREPLY |
Подробное описание
Класс QDBusAbstractAdaptor — отправная точка для всех объектов, намеревающихся предоставлять интерфейсы внешнему миру с использованием D-Bus. Это достигается путем прикрепления одного или нескольких классов, производных от QDBusAbstractAdaptor, к обычному объекту QObject, а затем регистрации этого объекта QObject с помощью QDBusConnection::registerObject. Объекты QDBusAbstractAdaptor предназначены для создания лёгких оберток, в основном просто перенаправляющих вызовы в реальный объект (его родительский) и сигналы от него.
Каждый класс, производный от QDBusAbstractAdaptor, должен определять реализуемый им интерфейс D-Bus, используя макрос Q_CLASSINFO в определении класса. Обратите внимание, что таким образом может быть экспонирован только один интерфейс.
QDBusAbstractAdaptor использует стандартный механизм QObject сигналов, слотов и свойств для определения сигналов, методов и свойств, которые нужно экспортировать в шину. Любой сигнал, испускаемый классами, производными от QDBusAbstractAdaptor, будет автоматически перенаправлен через все подключения D-Bus, на которых зарегистрирован объект.
Классы, производные от QDBusAbstractAdaptor, должны создаваться в куче с помощью оператора new и не должны удаляться пользователем (они будут удалены автоматически, когда объект, к которому они подключены, также будет удален).
См. также Использование адаптеров и QDBusConnection.
Документация функций-членов
[protected] QDBusAbstractAdaptor::QDBusAbstractAdaptor(QObject *obj)
Создаёт QDBusAbstractAdaptor с obj в качестве родительского объекта.
[virtual] QDBusAbstractAdaptor::~QDBusAbstractAdaptor()
Уничтожает адаптер.
Предупреждение: Адаптеры уничтожаются автоматически при уничтожении реального объекта, на который они ссылаются. Не удаляйте адаптеры самостоятельно.
[protected] bool QDBusAbstractAdaptor::autoRelaySignals() const
Возвращает true, если автоматическая пересылка сигналов от реального объекта (см. object()) включена, в противном случае возвращает false.
См. также setAutoRelaySignals().
[protected] void QDBusAbstractAdaptor::setAutoRelaySignals(bool enable)
Включает или отключает автоматическую пересылку сигналов от реального объекта (см. object()).
Автоматическая пересылка сигналов включает соединение сигналов-сигналов сигналов родительского объекта с сигналом в производном классе, имеющим точно такой же метод.
Если enable установлено в true, соединить сигналы; если установлено в false, отключить все сигналы.
См. также autoRelaySignals().
Документация макросов
Q_NOREPLY
Макрос Q_NOREPLY может быть использован для маркировки метода, который должен быть вызван, но не ожидать его завершения до возврата из QDBusInterface::call(). Вызываемый метод не может возвращать какие-либо выходные аргументы, и, если он это делает, любые такие аргументы будут проигнорированы.
Вы можете использовать этот макрос в собственных адаптерах, поместив его перед значением возврата метода (которое должно быть «void») в объявлении класса, как показано в примере:
Q_NOREPLY void myMethod();
Его присутствие в реализации метода (вне объявления класса) необязательно.
См. также Использование адаптеров Qt D-Bus.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qdbusabstractadaptor.html