QDBusAbstractAdaptor Class

QDBusAbstractAdaptor 클래스는 D-Bus 어댑터 클래스의 기본 클래스입니다. 더 보기...

헤더: #include <QDBusAbstractAdaptor>
CMake: find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmake: QT += dbus
상속합니다: QObject

공용 함수

보호된 함수

QDBusAbstractAdaptor(QObject *obj)
bool autoRelaySignals() const
void setAutoRelaySignals(bool enable)

매크로

상세 설명

QDBusAbstractAdaptor 클래스는 D-Bus를 사용하여 외부 세계에 인터페이스를 제공하려는 모든 객체의 시작점입니다. 이는 QDBusAbstractAdaptor에서 파생된 하나 이상의 클래스를 일반 QObject 에 연결한 다음 QObjectQDBusConnection::registerObject 에 등록하여 수행됩니다. QDBusAbstractAdaptor 객체는 경량 래퍼로, 대부분 실제 객체(부모)로의 호출과 그로부터의 신호를 중계하는 역할만 합니다.

각 QDBusAbstractAdaptor 파생 클래스는 클래스 정의에서 Q_CLASSINFO 매크로를 사용하여 구현하는 D-Bus 인터페이스를 정의해야 합니다. 이러한 방식으로 하나의 인터페이스만 노출될 수 있습니다.

QDBusAbstractAdaptor는 신호, 슬롯 및 속성의 표준 QObject 메커니즘을 사용하여 버스로 내보낼 신호, 메서드 및 속성을 결정합니다. QDBusAbstractAdaptor 파생 클래스에서 방출되는 모든 신호는 객체가 등록된 모든 D-Bus 연결을 통해 자동으로 전달됩니다.

QDBusAbstractAdaptor에서 파생된 클래스는 new 연산자를 사용하여 힙에 생성해야 하며 사용자가 삭제해서는 안 됩니다(연결된 객체도 삭제되면 자동으로 삭제됨).

어댑터 사용QDBusConnection참조하세요 .

멤버 함수 문서

[explicit protected] QDBusAbstractAdaptor::QDBusAbstractAdaptor(QObject *obj)

obj 을 부모 객체로 하여 QDBusAbstractAdaptor를 구축합니다.

[virtual noexcept] QDBusAbstractAdaptor::~QDBusAbstractAdaptor()

어댑터를 파괴합니다.

경고: 어댑터는 참조하는 실제 개체가 파괴되면 자동으로 파괴됩니다. 어댑터를 직접 삭제하지 마세요.

[protected] bool QDBusAbstractAdaptor::autoRelaySignals() const

실제 객체(object( 참조)에서 자동 신호 전달이 활성화된 경우 true 를 반환하고, 그렇지 않으면 false 을 반환합니다.

setAutoRelaySignals()도 참조하세요 .

[protected] void QDBusAbstractAdaptor::setAutoRelaySignals(bool enable)

실제 객체에서 자동 신호 릴레이를 토글합니다(object() 참조).

자동 신호 중계는 두 클래스에서 메서드 서명이 정확히 동일한 부모에 있는 신호의 신호 간 연결로 구성됩니다.

enable 가 참으로 설정되면 신호를 연결하고, 거짓으로 설정되면 모든 신호를 분리합니다.

autoRelaySignals()도 참조하세요 .

매크로 문서

Q_NOREPLY

Q_NOREPLY 매크로를 사용하면 메서드가 호출되도록 표시하고 QDBusInterface::call()에서 반환하기 전에 처리가 완료될 때까지 기다리지 않을 수 있습니다. 호출된 메서드는 출력 인수를 반환할 수 없으며, 반환할 경우 해당 인수는 모두 버려집니다.

이 매크로는 예시와 같이 클래스 선언에서 메서드의 반환 값("void"여야 함) 앞에 배치하여 자체 어댑터에서 사용할 수 있습니다:

Q_NOREPLY void myMethod();

메서드 구현(클래스 선언 외부)에 매크로를 넣는 것은 선택 사항입니다.

Qt D-Bus 어댑터 사용도참조하세요 .

© 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.