QDBusAbstractAdaptor Class
La classe QDBusAbstractAdaptor est la classe de base des classes d'adaptateurs D-Bus. Plus d'informations...
| En-tête : | #include <QDBusAbstractAdaptor> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS DBus)target_link_libraries(mytarget PRIVATE Qt6::DBus) |
| qmake : | QT += dbus |
| Héritages : | QObject |
Fonctions publiques
| virtual | ~QDBusAbstractAdaptor() |
Fonctions protégées
| QDBusAbstractAdaptor(QObject *obj) | |
| bool | autoRelaySignals() const |
| void | setAutoRelaySignals(bool enable) |
Macros
Description détaillée
La classe QDBusAbstractAdaptor est le point de départ pour tous les objets qui ont l'intention de fournir des interfaces au monde extérieur en utilisant D-Bus. QObject Pour ce faire, une ou plusieurs classes dérivées de QDBusAbstractAdaptor sont attachées à une classe normale QObject, puis enregistrées sur QDBusConnection::registerObject. Les objets QDBusAbstractAdaptor sont destinés à être des enveloppes légères, relayant principalement 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 en utilisant 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 QObject de signaux, de slots et de propriétés pour déterminer quels signaux, méthodes et propriétés exporter vers le bus. Tout signal émis par les classes dérivées de QDBusAbstractAdaptor sera automatiquement relayé par 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 connectées sera également supprimé).
Voir également Utilisation des adaptateurs et QDBusConnection.
Documentation sur les fonctions membres
[explicit protected] QDBusAbstractAdaptor::QDBusAbstractAdaptor(QObject *obj)
Construit un QDBusAbstractAdaptor avec obj comme objet parent.
[virtual noexcept] QDBusAbstractAdaptor::~QDBusAbstractAdaptor()
Détruit l'adaptateur.
Attention : Les adaptateurs sont détruits automatiquement lorsque l'objet réel auquel ils se réfèrent est détruit. Ne supprimez pas les adaptateurs vous-même.
[protected] bool QDBusAbstractAdaptor::autoRelaySignals() const
Renvoie true si le relais automatique des signaux de l'objet réel (voir object()) est activé, sinon renvoie false.
Voir aussi setAutoRelaySignals().
[protected] void QDBusAbstractAdaptor::setAutoRelaySignals(bool enable)
Bascule le relais automatique des signaux de l'objet réel (voir object()).
Le relais automatique des signaux consiste en une connexion signal à signal des signaux du parent qui ont exactement la même signature de méthode dans les deux classes.
Si enable vaut true, les signaux sont connectés ; s'il vaut false, tous les signaux sont déconnectés.
Voir également autoRelaySignals().
Documentation sur les macros
Q_NOREPLY
La macro Q_NOREPLY peut être utilisée pour marquer une méthode à appeler et ne pas attendre qu'elle ait terminé son traitement avant de revenir à QDBusInterface::call(). La méthode appelée ne peut pas renvoyer d'arguments de sortie et, si elle le fait, ces arguments seront rejeté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 la 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 aussi 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.