Spec-Zone.ru › Qt 5.11

Класс QDBusPendingCall

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

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

QDBusPendingCallWatcher и QDBusPendingReply

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

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

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

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

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

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

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

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

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

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

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

См. также QDBusPendingReply, QDBusPendingCallWatcher и QDBusAbstractInterface::asyncCall().

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

QDBusPendingCall::QDBusPendingCall(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::isError() вернет true.

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

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

void QDBusPendingCall::swap(QDBusPendingCall &other)

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

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

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

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

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

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

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

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

Spec-Zone.ru

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