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- 파생 클래스에서 오류 코드를 함수의 반환 인수로 반환할 수 있도록 하는 데 사용됩니다.
다음과 같은 방식으로 사용할 수 있습니다:
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)
비동기 보류 중인 호출 pcall 에서 QDBusReply 객체를 자동으로 구성합니다. 호출이 아직 완료되지 않은 경우, 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()는 거짓을 반환합니다).
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 이 표준 응답 메시지이고 하나 이상의 매개 변수를 포함하는 경우 올바른 유형인 한 이 객체에 복사됩니다. QDBusError 객체와 같은 유형이 아닌 경우 이 함수는 대신 유형 불일치를 나타내는 오류 코드를 설정합니다.
QDBusReply<T> &QDBusReply::operator=(const QDBusPendingCall &pcall)
이 객체에 보류 중인 비동기 호출 pcall 에 지정된 응답을 포함하도록 합니다. 호출이 아직 완료되지 않은 경우, 이 함수는 응답이 도착할 때까지 차단하기 위해 QDBusPendingCall::waitForFinished()를 호출합니다.
pcall 이 오류 메시지와 함께 완료되면 이 함수는 오류 코드와 메시지를 이 객체에 복사합니다.
pcall 이 표준 응답 메시지로 끝나고 하나 이상의 매개 변수를 포함하는 경우 올바른 유형인 경우 이 객체에 복사됩니다. 이 QDBusError 객체와 같은 유형이 아닌 경우 이 함수는 대신 유형 불일치를 나타내는 오류 코드를 설정합니다.
QDBusReply<T> &QDBusReply::operator=(const QDBusReply<T> &other)
이 객체를 other 객체의 복사본으로 만듭니다.
© 2025 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.