Spec-Zone.ru › Qt 5.13

Класс 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 и QDBusAbstractInterface::asyncCall.

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

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.13/qdbuspendingcall.html

Spec-Zone.ru

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