QDBusReply Class
template <typename T> class QDBusReplyQDBusReply クラスは、リモート・オブジェクトへのメソッド呼び出しに対する応答を格納します。詳細...
Header: | #include <QDBusReply> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS DBus) target_link_libraries(mytarget PRIVATE Qt6::DBus) |
qmake: | QT += dbus |
パブリック関数
QDBusReply(const QDBusError &error = QDBusError()) | |
QDBusReply(const QDBusMessage &reply) | |
QDBusReply(const QDBusPendingCall &pcall) | |
QDBusReply(const QDBusPendingReply<T> &reply) | |
QDBusReply(const QDBusReply<T> &other) | |
const QDBusError & | error() const |
const QDBusError & | error() |
bool | isValid() const |
QDBusReply<T>::Type | value() const |
QDBusReply<T>::Type | operator QDBusReply<T>::Type() const |
QDBusReply<T> & | operator=(const QDBusError &dbusError) |
QDBusReply<T> & | operator=(const QDBusMessage &reply) |
QDBusReply<T> & | operator=(const QDBusPendingCall &pcall) |
QDBusReply<T> & | operator=(const QDBusReply<T> &other) |
詳細説明
QDBusReply オブジェクトは、メソッド呼び出しの応答を表すQDBusMessage オブジェクトのサブセットです。これは、最初の出力引数またはエラー・コードのみを含み、QDBusInterface-derived クラスによって使用され、エラー・コードを関数の戻り引数として返すことができます。
これは次のように使用できます:
QDBusReply<QString> reply = interface->call("RemoteMethod"); if (reply.isValid()) // use the returned value useValue(reply.value()); else // call failed. Show an error condition. showError(reply.error());
リモートメソッド呼び出しが失敗しない場合は、エラーチェックを省略できます:
reply = interface->call("RemoteMethod");
ただし、これらの条件で失敗した場合、QDBusReply<T>::value() によって返される値はデフォルトで構成された値になります。これは、有効な戻り値と区別できない場合があります。
QDBusReply オブジェクトは、出力引数や戻り値を持たないリモート呼び出しに使用されます (つまり、"void" 戻り値型を持っています)。リプライが成功したかどうかをテストするには、isValid() 関数を使用します。
QDBusMessage およびQDBusInterfaceも参照してください 。
メンバ関数ドキュメント
QDBusReply::QDBusReply(const QDBusError &error = QDBusError())
error で指定された D-Bus エラー・コードからエラー・リプライを構築します。
QDBusReply::QDBusReply(const QDBusMessage &reply)
リプライ・メッセージreply から QDBusReply オブジェクトを自動的に構築し、成功リプライの場合はそこから最初の返り値を抽出します。
QDBusReply::QDBusReply(const QDBusPendingCall &pcall)
非同期保留呼び出しからQDBusReplyオブジェクトを自動的に構築するpcall 。呼び出しがまだ終了していない場合、QDBusReply は QDBusPendingCall::waitForFinished() を呼び出します。
リターン・タイプが一致する場合、QDBusReply はリプライから最初のリターン引数を抽出します。
QDBusReply::QDBusReply(const QDBusPendingReply<T> &reply)
保留中の応答メッセージreply から QDBusReply オブジェクトを構築します。
QDBusReply::QDBusReply(const QDBusReply<T> &other)
other のコピーを構築します。
const QDBusError &QDBusReply::error() const
リモート関数呼び出しから返されたエラー・コードを返します。リモート呼び出しがエラーを返さなかった場合 (つまり、成功した場合)、返されるQDBusError オブジェクトは有効なエラー・コードではありません (QDBusError::isValid() は false を返します)。
isValid()も参照 。
const QDBusError &QDBusReply::error()
これはオーバーロードされた関数である。
bool QDBusReply::isValid() const
エラーが発生しなかった場合はtrue
を返し、そうでない場合はfalse
を返す。
error()も参照 。
QDBusReply<T>::Type QDBusReply::value() const
リモート関数の呼び出しの返り値を返します。リモート呼び出しがエラーで返された場合、この関数の返り値は未定義であり、有効な返り値と区別できない可能性があります。
リモート・コールがvoid
を返した場合、この関数は使用できない。
QDBusReply<T>::Type QDBusReply::operator QDBusReply<T>::Type() const
value() と同じ値を返す。
リモート・コールがvoid
を返す場合、この関数は使用できません。
QDBusReply<T> &QDBusReply::operator=(const QDBusError &dbusError)
このオブジェクトに、dbusError で指定されたエラー・コードを設定します。このオブジェクトには、後でerror() でアクセスできます。
QDBusReply<T> &QDBusReply::operator=(const QDBusMessage &reply)
このオブジェクトにreply メッセージを格納します。reply がエラー・メッセージの場合、この関数はエラー・コードとメッセージをこのオブジェクトにコピーします。
reply が標準応答メッセージで、少なくとも1つのパラメータを含む場合、それが正しい型である限り、そのパラメータはこのオブジェクトにコピーされます。それがこのQDBusError オブジェクトと同じ型でない場合、この関数は代わりに型の不一致を示すエラーコードを設定します。
QDBusReply<T> &QDBusReply::operator=(const QDBusPendingCall &pcall)
このオブジェクトに、保留中の非同期呼で指定された応答を含ませるpcall 。呼び出しがまだ終了していない場合、この関数は QDBusPendingCall::waitForFinished() を呼び出して、応答が到着するまでブロックする。
pcall がエラー・メッセージで終了した場合、この関数はエラー・コードとメッセージをこのオブジェ クトにコピーします。
pcall が標準応答メッセージで終了し、少なくとも1つのパラメータを含む場合、それが正しい型である限り、そのパラメータはこのオブジェクトにコピーされる。それがこのQDBusError オブジェクトと同じ型でない場合、この関数は代わりに型の不一致を示すエラー・コードを設定します。
QDBusReply<T> &QDBusReply::operator=(const QDBusReply<T> &other)
このオブジェクトをother オブジェクトのコピーにします。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。