このページでは

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 から派生した 1 つ以上のクラスを通常のQObject にアタッチし、そのQObject をQDBusConnection::registerObject に登録することで実現されます。QDBusAbstractAdaptor オブジェクトは、軽量なラッパーとして設計されており、主に実際のオブジェクト(その親)への呼び出しや、そこから送信されるシグナルを中継する役割を担います。

QDBusAbstractAdaptorから派生した各クラスは、クラス定義内でQ_CLASSINFO マクロを使用して、実装するD-Busインターフェースを定義する必要があります。この方法では、1つのインターフェースしか公開できない点に注意してください。

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 がtrueに設定されている場合はシグナルを接続し、falseに設定されている場合はすべてのシグナルを切断します。

autoRelaySignals()も参照してください 。

マクロのドキュメント

Q_NOREPLY

Q_NOREPLY マクロを使用すると、呼び出されるメソッドをマークし、QDBusInterface::call() から戻る際にその処理の完了を待たずに済みます。呼び出されるメソッドは出力引数を返すことができません。もし返した場合、そのような引数はすべて破棄されます。

このマクロは、以下の例に示すように、クラス宣言内のメソッドの戻り値(「void」でなければならない)の前に配置することで、独自のアダプタで使用できます。

Q_NOREPLY void myMethod();

メソッドの実装部分(クラス宣言の外側)にこのマクロを記述するかどうかは任意です。

「 Qt D-Bus アダプタの使用」も参照してください 。

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