QDBusPendingCall Class

QDBusPendingCallクラスは、保留中の非同期コールを1つ参照します。詳細...

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

QDBusPendingCallWatcher

パブリック関数

QDBusPendingCall(const QDBusPendingCall &other)
~QDBusPendingCall()
void swap(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 保留中の非同期呼び出しのコピーを作成する。両方のオブジェクトが同じペンディングコールを参照することに注意。

[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 と交換する。この関数は非常に高速で、失敗することはない。

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

other 保留中の非同期呼び出しのコピーを作成し、先に参照した呼び出しへの参照を削除する。この関数の実行後は、両方のオブジェクトが同じペンディング呼を参照する ことに注意。

このオブジェクトに保留中の非同期呼び出しの最後の参照が含まれていた場合、その呼び出しはキャンセルされ、それ以降の通知は受け取れません。応答が到着しても、その内容にアクセスする方法はありません。

©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。