Класс QDBusAbstractAdaptor
Класс QDBusAbstractAdaptor является базовым классом для классов адаптеров D-Bus. Подробнее...
| Заголовок: | #include <QDBusAbstractAdaptor> |
| qmake: | QT += dbus |
| С тех пор: | Qt 4.2 |
| Наследуется от: | QObject |
Открытые функции
| ~QDBusAbstractAdaptor() |
- 32 открытых функции унаследованы от QObject
Защищенные функции
| QDBusAbstractAdaptor(QObject *obj) | |
| bool | autoRelaySignals() const |
| void | setAutoRelaySignals(bool enable) |
- 9 защищенных функций унаследованы от QObject
Макросы
| Q_NOREPLY |
Дополнительные унаследованные члены
- 1 свойство унаследовано от QObject
- 1 открытый слот унаследован от QObject
- 2 сигнала унаследованы от QObject
- 11 статических открытых членов унаследованы от QObject
Подробное описание
Класс QDBusAbstractAdaptor является базовым классом для классов адаптеров D-Bus.
Класс 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 в качестве родительского объекта.
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 4.2.
См. также Использование адаптеров Qt D-Bus.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qdbusabstractadaptor.html