Learn what Felgo offers to help your business succeed. Start your free evaluation today! Felgo for Your Business

QDBusPendingCall Class

The QDBusPendingCall class refers to one pending asynchronous call. More...

Header: #include <QDBusPendingCall>
CMake: find_package(Qt6 REQUIRED COMPONENTS Dbus)
target_link_libraries(mytarget PRIVATE Qt6::Dbus)
qmake: QT += dbus
Inherited By:

QDBusPendingCallWatcher

Public Functions

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

Static Public Members

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

Detailed Description

A QDBusPendingCall object is a reference to a method call that was sent over D-Bus without waiting for a reply. QDBusPendingCall is an opaque type, meant to be used as a handle for a pending reply.

In most programs, the QDBusPendingCall class will not be used directly. It can be safely replaced with the template-based QDBusPendingReply, in order to access the contents of the reply or wait for it to be complete.

The QDBusPendingCallWatcher class allows one to connect to a signal that will indicate when the reply has arrived or if the call has timed out. It also provides the QDBusPendingCallWatcher::waitForFinished() method which will suspend the execution of the program until the reply has arrived.

Note: If you create a copy of a QDBusPendingCall object, all information will be shared among the many copies. Therefore, QDBusPendingCall is an explicitly-shared object and does not provide a method of detaching the copies (since they refer to the same pending call)

See also QDBusPendingReply and QDBusPendingCallWatcher.

Member Function Documentation

QDBusPendingCall::QDBusPendingCall(const QDBusPendingCall &other)

Creates a copy of the other pending asynchronous call. Note that both objects will refer to the same pending call.

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

Creates a copy of the other pending asynchronous call and drops the reference to the previously-referenced call. Note that both objects will refer to the same pending call after this function.

If this object contained the last reference of a pending asynchronous call, the call will be canceled and no further notifications will be received. There will be no way of accessing the reply's contents when it arrives.

QDBusPendingCall::~QDBusPendingCall()

Destroys this copy of the QDBusPendingCall object. If this copy is also the last copy of a pending asynchronous call, the call will be canceled and no further notifications will be received. There will be no way of accessing the reply's contents when it arrives.

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

Creates a QDBusPendingCall object based on the message msg. The message must be of type QDBusMessage::ErrorMessage or QDBusMessage::ReplyMessage (that is, a message that is typical of a completed call).

This function is useful for code that requires simulating a pending call, but that has already finished.

See also fromError().

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

Creates a QDBusPendingCall object based on the error condition error. The resulting pending call object will be in the "finished" state and QDBusPendingReply<Types...>::isError() will return true.

See also fromCompletedCall().

[since 5.0] void QDBusPendingCall::swap(QDBusPendingCall &other)

Swaps this pending call instance with other. This function is very fast and never fails.

This function was introduced in Qt 5.0.

Qt_Technology_Partner_RGB_475 Qt_Service_Partner_RGB_475_padded