Spec-Zone.ru › Qt 5.9

Класс QDBusMessage

Класс QDBusMessage представляет одно сообщение, отправленное или полученное по шине D-Bus. Подробнее...

Заголовок: #include <QDBusMessage>
qmake: QT += dbus
С момента: Qt 4.2
  • Список всех членов, включая унаследованные

Типы публичного доступа

Перечисление MessageType { MethodCallMessage, SignalMessage, ReplyMessage, ErrorMessage, InvalidMessage }

Функции публичного доступа

QDBusMessage()
QDBusMessage(const QDBusMessage &other)
~QDBusMessage()
QList<QVariant> arguments() const
bool autoStartService() const
QDBusMessage createErrorReply(const QString name, const QString &msg) const
QDBusMessage createErrorReply(const QDBusError &error) const
QDBusMessage createErrorReply(QDBusError::ErrorType type, const QString &msg) const
QDBusMessage createReply(const QList<QVariant> &arguments = QList<QVariant> ()) const
QDBusMessage createReply(const QVariant &argument) const
QString errorMessage() const
QString errorName() const
QString interface() const
bool isDelayedReply() const
bool isReplyRequired() const
QString member() const
QString path() const
QString service() const
void setArguments(const QList<QVariant> &arguments)
void setAutoStartService(bool enable)
void setDelayedReply(bool enable) const
QString signature() const
void swap(QDBusMessage &other)
MessageType type() const
QDBusMessage & operator<<(const QVariant &arg)
QDBusMessage & operator=(QDBusMessage &&other)
QDBusMessage & operator=(const QDBusMessage &other)

Статические члены публичного доступа

QDBusMessage createError(const QString &name, const QString &msg)
QDBusMessage createError(const QDBusError &error)
QDBusMessage createError(QDBusError::ErrorType type, const QString &msg)
QDBusMessage createMethodCall(const QString &service, const QString &path, const QString &interface, const QString &method)
QDBusMessage createSignal(const QString &path, const QString &interface, const QString &name)
QDBusMessage createTargetedSignal(const QString &service, const QString &path, const QString &interface, const QString &name)

Подробное описание

Класс QDBusMessage представляет одно сообщение, отправленное или полученное по шине D-Bus.

Этот объект может представлять любой из четырех различных типов сообщений (MessageType), которые могут возникать на шине:

  • Вызовы методов
  • Возвращаемые значения методов
  • Выпускаемые сигналы
  • Коды ошибок

Объекты этого типа создаются с помощью статических функций createError(), createMethodCall() и createSignal(). Используйте функцию QDBusConnection::send() для отправки сообщений.

Документация по типам членов

Перечисление QDBusMessage::MessageType

Возможные типы сообщений:

Постоянная Значение Описание
QDBusMessage::MethodCallMessage 1 сообщение, представляющее вызов метода, отправленный или полученный
QDBusMessage::SignalMessage 4 сообщение, представляющее отправку или получение сигнала
QDBusMessage::ReplyMessage 2 сообщение, представляющее возвращаемые значения вызова метода
QDBusMessage::ErrorMessage 3 сообщение, представляющее ошибку в ответ на вызов метода
QDBusMessage::InvalidMessage 0 некорректное сообщение: это значение никогда не устанавливается для сообщений, полученных от D-Bus

Документация по функциям членов

QDBusMessage::QDBusMessage()

Конструирует пустой, недействительный объект QDBusMessage.

См. также createError(), createMethodCall() и createSignal().

QDBusMessage::QDBusMessage(const QDBusMessage &other)

Конструирует копию объекта, заданного параметром other.

Примечание: объекты QDBusMessage совместно используются. Изменения, внесенные в копию, также повлияют на исходный объект. См. setDelayedReply() для получения дополнительной информации.

QDBusMessage::~QDBusMessage()

Удаляет объект и освобождает любые используемые ресурсы.

QList<QVariant> QDBusMessage::arguments() const

Возвращает список аргументов, которые будут отправлены или были получены от D-Bus.

См. также setArguments().

bool QDBusMessage::autoStartService() const

Возвращает флаг автозапуска, установленный функцией setAutoStartService(). По умолчанию этот флаг равен true, что означает, что Qt D-Bus автоматически запустит сервис, если он ещё не запущен.

Эта функция была добавлена в Qt 4.7.

См. также setAutoStartService().

[static] QDBusMessage QDBusMessage::createError(const QString &name, const QString &msg)

Создаёт новый DBus-сообщение, представляющее ошибку, с заданным name и msg.

[static] QDBusMessage QDBusMessage::createError(const QDBusError &error)

Создаёт новое DBus-сообщение, представляющее заданную error.

[static] QDBusMessage QDBusMessage::createError(QDBusError::ErrorType type, const QString &msg)

Создаёт новое DBus-сообщение для типа ошибки type, используя сообщение msg. Возвращает DBus-сообщение.

QDBusMessage QDBusMessage::createErrorReply(const QString name, const QString &msg) const

Создаёт новое DBus-сообщение, представляющее ответ с ошибкой, с заданным name и msg.

QDBusMessage QDBusMessage::createErrorReply(const QDBusError &error) const

Создаёт новое DBus-сообщение, представляющее ответ с ошибкой, на основе объекта error.

QDBusMessage QDBusMessage::createErrorReply(QDBusError::ErrorType type, const QString &msg) const

Создаёт новый DBus-ответ с ошибкой типа type, используя сообщение msg. Возвращает DBus-сообщение.

[static] QDBusMessage QDBusMessage::createMethodCall(const QString &service, const QString &path, const QString &interface, const QString &method)

Создаёт новое DBus-сообщение, представляющее вызов метода. Вызов метода всегда указывает адрес назначения (service, path, interface и method).

DBus-шина позволяет вызывать метод на заданном удалённом объекте без указания целевого интерфейса, если имя метода уникально. Однако, если два интерфейса на удалённом объекте экспортируют метод с одинаковым именем, результат неопределён (может быть вызван один из двух или возвращена ошибка).

При использовании DBus в контексте peer-to-peer (т. е. не на шине), параметр service является необязательным.

Класс QDBusInterface предоставляет более простое абстрагирование для синхронного вызова методов.

Эта функция возвращает объект QDBusMessage, который можно отправить с помощью QDBusConnection::call().

QDBusMessage QDBusMessage::createReply(const QList<QVariant> &arguments = QList<QVariant> ()) const

Создаёт новое DBus-сообщение, представляющее ответ, с заданными arguments.

QDBusMessage QDBusMessage::createReply(const QVariant &argument) const

Создаёт новое DBus-сообщение, представляющее ответ, с заданным argument.

[static] QDBusMessage QDBusMessage::createSignal(const QString &path, const QString &interface, const QString &name)

Создаёт новое DBus-сообщение с заданными path, interface и name, представляющее отправку сигнала.

DBus-сигнал отправляется одним приложением и принимается всеми приложениями, которые прослушивают этот сигнал от этого интерфейса.

Возвращаемый объект QDBusMessage можно отправить, используя функцию QDBusConnection::send().

[static] QDBusMessage QDBusMessage::createTargetedSignal(const QString &service, const QString &path, const QString &interface, const QString &name)

Создаёт новое DBus-сообщение с заданными path, interface и name, представляющее отправку сигнала определённому получателю.

DBus-сигнал отправляется одним приложением и принимается только приложением, владеющим именем службы service.

Возвращаемый объект QDBusMessage можно отправить, используя функцию QDBusConnection::send().

Эта функция была добавлена в Qt 5.6.

QString QDBusMessage::errorMessage() const

Возвращает удобочитаемое сообщение, связанное с полученной ошибкой.

Эта функция была добавлена в Qt 4.3.

QString QDBusMessage::errorName() const

Возвращает имя полученной ошибки.

QString QDBusMessage::interface() const

Возвращает интерфейс вызываемого метода (в случае вызова метода) или интерфейс сигнала, полученного от.

bool QDBusMessage::isDelayedReply() const

Возвращает флаг отложенного ответа, установленный функцией setDelayedReply(). По умолчанию этот флаг равен false, что означает, что Qt D-Bus будет генерировать автоматические ответы при необходимости.

bool QDBusMessage::isReplyRequired() const

Возвращает флаг, указывающий, требуется ли ответ на это сообщение. Это имеет смысл только для сообщений вызова метода: любой другой тип сообщения не может иметь ответов, и эта функция всегда будет возвращать false для них.

QString QDBusMessage::member() const

Возвращает имя сигнала, который был отправлен, или имя метода, который был вызван.

QString QDBusMessage::path() const

Возвращает путь объекта, которому отправляется это сообщение (в случае вызова метода) или от которого получен сигнал (для сигнала).

QString QDBusMessage::service() const

Возвращает имя службы или адрес шины удалённого вызова метода.

void QDBusMessage::setArguments(const QList<QVariant> &arguments)

Устанавливает аргументы, которые будут отправлены по D-Bus, в arguments. Это будут аргументы вызова метода или параметры в сигнале.

См. также arguments().

void QDBusMessage::setAutoStartService(bool enable)

Устанавливает флаг автозапуска в enable. Этот флаг имеет смысл только для сообщений вызова метода, где он указывает D-Bus-серверу либо автоматически запускать службу, ответственную за имя службы, либо не запускать её.

По умолчанию этот флаг равен true, т. е. служба запускается автоматически. Это означает:

Если служба, к которой отправляется вызов метода, уже запущена, вызов метода отправляется ей. Если служба ещё не запущена, D-Bus-демон получает запрос на автоматический запуск службы, которая назначена этому имени службы. Это обрабатывается файлами .service, которые размещаются в каталоге, известном D-Bus-серверу. Эти файлы содержат имя службы и путь к программе, которая должна быть выполнена при запросе этого имени службы.

Эта функция была добавлена в Qt 4.7.

См. также autoStartService().

void QDBusMessage::setDelayedReply(bool enable) const

Устанавливает, будет ли сообщение отвечено позже (если enable равно true) или Qt D-Bus должен сгенерировать автоматический ответ (если enable равно false).

В D-Bus все вызовы методов должны генерировать ответ вызывающей стороне, если вызывающая сторона не указывает иное (см. isReplyRequired()). QtDBus автоматически генерирует такие ответы для всех вызываемых слотов, но также позволяет слотам указывать, будут ли они отвечать за отправку ответа позже, после завершения обработки функции.

См. также isDelayedReply() и Отложенные ответы.

QString QDBusMessage::signature() const

Возвращает сигнатуру принятого сигнала или выходных аргументов вызова метода.

void QDBusMessage::swap(QDBusMessage &other)

MessageType QDBusMessage::type() const

Возвращает тип сообщения.

QDBusMessage &QDBusMessage::operator<<(const QVariant &arg)

Добавляет аргумент arg в список аргументов, которые будут отправлены по D-Bus при вызове метода или генерации сигнала.

QDBusMessage &QDBusMessage::operator=(QDBusMessage &&other)

Оператор перемещающего присваивания.

QDBusMessage &QDBusMessage::operator=(const QDBusMessage &other)

Копирует содержимое объекта, заданного other.

Примечание: объекты QDBusMessage являются общими. Изменения, внесенные в копию, повлияют и на оригинальный объект. Дополнительную информацию см. в setDelayedReply().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qdbusmessage.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API