- Qt 5.15
- Qt D-Bus
- C++ Classes
- QDBusPendingCall
- Qt 5.15.15 Reference Documentation

# QDBusPendingCall Class

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

Header: | #include <QDBusPendingCall>
qmake: | QT += dbus
Since: | Qt 4.5
Inherited By: | QDBusPendingCallWatcher and QDBusPendingReply

This class was introduced in Qt 4.5.

- List of all members, including inherited members

## 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.

This function was introduced in Qt 4.6.

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<T1, T2, T3, T4, T5, T6, T7, T8>::isError() will return true.

This function was introduced in Qt 4.6.

See also fromCompletedCall().

### 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.