QDBusPendingCall Class
QDBusPendingCall クラスは、1 つの保留中の非同期呼び出しを表します。詳細...
| ヘッダー: | #include <QDBusPendingCall> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS DBus) target_link_libraries(mytarget PRIVATE Qt6::DBus) |
| qmake: | QT += dbus |
| 継承元: |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QDBusPendingCall は、暗黙的に共有されるクラスの一部です。
パブリック関数
| QDBusPendingCall(const QDBusPendingCall &other) | |
(since 6.10) | QDBusPendingCall(QDBusPendingCall &&other) |
| ~QDBusPendingCall() | |
| void | swap(QDBusPendingCall &other) |
| QDBusPendingCall & | operator=(QDBusPendingCall &&other) |
| QDBusPendingCall & | operator=(const 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 。
メンバ関数のドキュメント
QDBusPendingCall::QDBusPendingCall(const QDBusPendingCall &other)
other の非同期呼び出しの保留中のコピを作成します。両方のオブジェクトが同じ保留中の呼び出しを参照することに注意してください。
[constexpr noexcept default, since 6.10] QDBusPendingCall::QDBusPendingCall(QDBusPendingCall &&other)
other をこのオブジェクトに移動します。
注: 移動元のオブジェクト other は 、部分的に形成された状態になります。この状態では、有効な操作は破棄と新しい値への代入のみです。
この関数は Qt 6.10 で導入されました。
[noexcept] QDBusPendingCall::~QDBusPendingCall()
QDBusPendingCall オブジェクトのこのコピーを破棄します。このコピーが、保留中の非同期呼び出しの最後のコピーでもある場合、その呼び出しはキャンセルされ、それ以降の通知は受信されなくなります。返信が届いたとしても、その内容にアクセスする方法はありません。
[static] QDBusPendingCall QDBusPendingCall::fromCompletedCall(const QDBusMessage &msg)
メッセージ `msg` に基づいて、QDBusPendingCall オブジェクトを作成します。メッセージは、QDBusMessage::ErrorMessage またはQDBusMessage::ReplyMessage の型である必要があります(つまり、完了した呼び出しに典型的なメッセージです)。
この関数は、保留中の通話をシミュレートする必要があるが、実際にはすでに終了しているコードで役立ちます。
fromError()も参照してください 。
[static] QDBusPendingCall QDBusPendingCall::fromError(const QDBusError &error)
エラー条件 `error` に基づいて、`QDBusPendingCall ` オブジェクトを作成します。結果として生成される保留中の呼び出しオブジェクトは「finished」状態となり、`QDBusPendingReply<Types...>::isError()` は `true` を返します。
fromCompletedCall()も参照してください 。
[noexcept] void QDBusPendingCall::swap(QDBusPendingCall &other)
この保留中のコールインスタンスをother と入れ替えます。この操作は非常に高速で、失敗することはありません。
[noexcept] QDBusPendingCall &QDBusPendingCall::operator=(QDBusPendingCall &&other)
other をこのQDBusPendingCall に移動・代入します。
注: 移動元のオブジェクト other は 、部分的に形成された状態になります。この状態では、有効な操作は破棄と新しい値への代入のみです。
QDBusPendingCall &QDBusPendingCall::operator=(const QDBusPendingCall &other)
other の保留中の非同期呼び出しのコピーを作成し、以前に参照されていた呼び出しへの参照を破棄します。この関数の実行後、両方のオブジェクトが同じ保留中の呼び出しを参照することになる点に注意してください。
このオブジェクトが、保留中の非同期呼び出しに対する最後の参照を含んでいた場合、その呼び出しはキャンセルされ、それ以降の通知は受信されなくなります。返信が届いた際に、その内容にアクセスする方法はなくなります。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.