QDBusPendingCall 类引用一待决异步调用。 更多...
头: | #include <QDBusPendingCall> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus) |
qmake: | QT += dbus |
继承者: |
QDBusPendingCall (const QDBusPendingCall & other ) | |
~QDBusPendingCall () | |
void | swap (QDBusPendingCall & other ) |
QDBusPendingCall & | operator= (const QDBusPendingCall & other ) |
QDBusPendingCall | fromCompletedCall (const QDBusMessage & msg ) |
QDBusPendingCall | fromError (const QDBusError & error ) |
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.
注意: 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)
另请参阅 QDBusPendingReply and QDBusPendingCallWatcher .
创建副本为 other pending asynchronous call. Note that both objects will refer to the same pending call.
[noexcept]
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
)
创建 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.
另请参阅 fromError ().
[static]
QDBusPendingCall
QDBusPendingCall::
fromError
(const
QDBusError
&
error
)
创建 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.
另请参阅 fromCompletedCall ().
[noexcept]
void
QDBusPendingCall::
swap
(
QDBusPendingCall
&
other
)
Swaps this pending call instance with other 。此函数非常快且从不失败。
创建副本为 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.