QDBusPendingCall 类引用一待决异步调用。 更多...
头: | #include <QDBusPendingCall> |
CMake: |
find_package(Qt6 COMPONENTS Dbus REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Dbus) |
qmake: | QT += dbus |
继承者: | QDBusPendingCallWatcher |
QDBusPendingCall (const QDBusPendingCall & other ) | |
QDBusPendingCall & | operator= (const QDBusPendingCall & other ) |
~QDBusPendingCall () | |
void | swap (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.
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.
创建副本为 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.
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 ().
[since 5.0]
void
QDBusPendingCall::
swap
(
QDBusPendingCall
&
other
)
Swaps this pending call instance with other 。此函数非常快且从不失败。
该函数在 Qt 5.0 引入。