QDBusReply Class

template <typename T> class QDBusReply

QDBusReply クラスは、リモート・オブジェクトへのメソッド呼び出しに対する応答を格納します。詳細...

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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。