Sur cette page

QDBusAbstractAdaptor Class

La classe `QDBusAbstractAdaptor` est la classe de base des classes d'adaptateurs D-Bus. En savoir plus...

En-tête : #include <QDBusAbstractAdaptor>
CMake : find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmake : QT += dbus
Hérite de : QObject

Fonctions publiques

Fonctions protégées

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

Macros

Description détaillée

La classe QDBusAbstractAdaptor constitue le point de départ pour tous les objets destinés à fournir des interfaces vers le monde extérieur via D-Bus. Pour ce faire, il suffit d’associer une ou plusieurs classes dérivées de QDBusAbstractAdaptor à une interface normale ( QObject ), puis d’enregistrer cette interface ( QObject ) à l’aide de la fonction QDBusConnection::registerObject. Les objets QDBusAbstractAdaptor sont conçus pour être des « wrappers » légers, se contentant généralement de relayer les appels vers l’objet réel (son parent) et les signaux provenant de celui-ci.

Chaque classe dérivée de `QDBusAbstractAdaptor` doit définir l’interface D-Bus qu’elle implémente à l’aide de la macro ` Q_CLASSINFO ` dans la définition de la classe. Notez qu’une seule interface peut être exposée de cette manière.

QDBusAbstractAdaptor utilise le mécanisme standard d’ QObject des signaux, des slots et des propriétés pour déterminer quels signaux, méthodes et propriétés exporter vers le bus. Tout signal émis par des classes dérivées de QDBusAbstractAdaptor sera automatiquement relayé via toutes les connexions D-Bus sur lesquelles l’objet est enregistré.

Les classes dérivées de QDBusAbstractAdaptor doivent être créées sur le tas à l’aide de l’opérateur ` new ` et ne doivent pas être supprimées par l’utilisateur (elles seront supprimées automatiquement lorsque l’objet auquel elles sont liées sera lui-même supprimé).

Voir aussi Utilisation des adaptateurs et QDBusConnection.

Documentation des fonctions membres

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

Crée un objet `QDBusAbstractAdaptor` dont l'objet parent est ` obj `.

[virtual noexcept] QDBusAbstractAdaptor::~QDBusAbstractAdaptor()

Détruit l'adaptateur.

Avertissement : les adaptateurs sont détruits automatiquement lorsque l'objet réel auquel ils font référence est détruit. Ne supprimez pas les adaptateurs vous-même.

[protected] bool QDBusAbstractAdaptor::autoRelaySignals() const

Renvoie « true » si la transmission automatique des signaux depuis l'objet réel (voir object()) est activée ; sinon, renvoie « false ».

Voir également setAutoRelaySignals().

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

Active ou désactive la retransmission automatique des signaux depuis l'objet réel (voir object()).

La transmission automatique des signaux consiste à établir une connexion entre les signaux de l'objet parent et ceux de l'objet enfant qui possèdent exactement la même signature de méthode dans les deux classes.

Si enable est défini sur true, les signaux sont connectés ; s’il est défini sur false, tous les signaux sont déconnectés.

Voir également autoRelaySignals().

Documentation des macros

Q_NOREPLY

La macro Q_NOREPLY permet de marquer une méthode à appeler sans attendre la fin de son exécution avant de quitter la fonction ` QDBusInterface::call()`. La méthode appelée ne doit renvoyer aucun argument de sortie ; si tel est le cas, ces arguments seront ignorés.

Vous pouvez utiliser cette macro dans vos propres adaptateurs en la plaçant avant la valeur de retour de votre méthode (qui doit être « void ») dans la déclaration de classe, comme le montre l'exemple :

Q_NOREPLY void myMethod();

Sa présence dans l’implémentation de la méthode (en dehors de la déclaration de classe) est facultative.

Voir également Utilisation des adaptateurs « 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.