Spec-Zone.ru › Qt 5.15

Класс QDBusPendingCall

Класс QDBusPendingCall относится к одному ожидающему асинхронному вызову. Подробнее...

Заголовок: #include <QDBusPendingCall>
qmake: QT += dbus
С момента: Qt 4.5
Наследуется от:

QDBusPendingCallWatcher и QDBusPendingReply

Этот класс был представлен в Qt 4.5.

  • Список всех членов, включая наследуемые

Открытые функции

QDBusPendingCall(const QDBusPendingCall &other)
QDBusPendingCall & operator=(const QDBusPendingCall &other)
~QDBusPendingCall()
void swap(QDBusPendingCall &other)

Статические открытые члены

QDBusPendingCall fromCompletedCall(const QDBusMessage &msg)
QDBusPendingCall fromError(const QDBusError &error)

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

Объект QDBusPendingCall представляет собой ссылку на вызов метода, который был отправлен по D-Bus без ожидания ответа. QDBusPendingCall — это непрозрачный тип, предназначенный для использования в качестве маркера для ожидающего ответа.

В большинстве программ класс QDBusPendingCall не будет использоваться напрямую. Его можно безопасно заменить шаблоном QDBusPendingReply, чтобы получить доступ к содержимому ответа или дождаться его завершения.

Класс QDBusPendingCallWatcher позволяет подключиться к сигналу, который укажет, когда ответ прибыл или вызов истек по таймауту. Он также предоставляет метод QDBusPendingCallWatcher::waitForFinished(), который приостановит выполнение программы до прибытия ответа.

Примечание: Если вы создаёте копию объекта QDBusPendingCall, вся информация будет разделена между многими копиями. Поэтому QDBusPendingCall — это объект с явным совместным доступом, и он не предоставляет метод отсоединения копий (поскольку они ссылаются на один и тот же ожидающий вызов).

См. также QDBusPendingReply и QDBusPendingCallWatcher.

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

QDBusPendingCall::QDBusPendingCall(const QDBusPendingCall &other)

Создаёт копию ожидающего асинхронного вызова other. Обратите внимание, что оба объекта будут ссылаться на тот же ожидающий вызов.

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

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

Если этот объект содержал последнюю ссылку на ожидающий асинхронный вызов, вызов будет отменён, и дальнейшие уведомления не будут получены. Не будет возможности получить доступ к содержимому ответа при его поступлении.

QDBusPendingCall::~QDBusPendingCall()

Удаляет эту копию объекта QDBusPendingCall. Если эта копия также является последней копией ожидающего асинхронного вызова, вызов будет отменён, и дальнейшие уведомления не будут получены. Не будет возможности получить доступ к содержимому ответа при его поступлении.

[static] QDBusPendingCall QDBusPendingCall::fromCompletedCall(const QDBusMessage &msg)

Создаёт объект QDBusPendingCall на основе сообщения msg. Сообщение должно быть типа QDBusMessage::ErrorMessage или QDBusMessage::ReplyMessage (то есть сообщение, типичное для завершённого вызова).

Эта функция полезна для кода, которому требуется имитировать ожидающий вызов, но который уже завершён.

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

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

[static] QDBusPendingCall QDBusPendingCall::fromError(const QDBusError &error)

Создаёт объект QDBusPendingCall, основанный на состоянии ошибки error. Результирующий объект ожидающего вызова будет в состоянии "завершён", и QDBusPendingReply<T1, T2, T3, T4, T5, T6, T7, T8>::isError() вернёт true.

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

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

void QDBusPendingCall::swap(QDBusPendingCall &other)

Меняет местами текущий объект ожидающего вызова с other. Эта функция очень быстрая и никогда не завершается ошибкой.

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

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

Spec-Zone.ru

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