Spec-Zone.ru › Qt 5.9

Класс 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/qt-5.9/qdbuspendingcall.html

Spec-Zone.ru

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