QDBusConnectionInterface Class
La classe QDBusConnectionInterface permet d'accéder au service de démon de bus D-Bus. Plus d'informations...
| En-tête : | #include <QDBusConnectionInterface> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS DBus)target_link_libraries(mytarget PRIVATE Qt6::DBus) |
| qmake : | QT += dbus |
| Héritages : | QDBusAbstractInterface |
Types publics
| enum | RegisterServiceReply { ServiceNotRegistered, ServiceRegistered, ServiceQueued } |
| enum | ServiceQueueOptions { DontQueueService, QueueService, ReplaceExistingService } |
| enum | ServiceReplacementOptions { DontAllowReplacement, AllowReplacement } |
Propriétés
- activatableServiceNames : QDBusReply<QStringList>
- registeredServiceNames : QDBusReply<QStringList>
Machines à sous publiques
| QDBusReply<QStringList> | activatableServiceNames() const |
| QDBusReply<bool> | isServiceRegistered(const QString &serviceName) const |
| QDBusReply<QDBusConnectionInterface::RegisterServiceReply> | registerService(const QString &serviceName, QDBusConnectionInterface::ServiceQueueOptions qoption = DontQueueService, QDBusConnectionInterface::ServiceReplacementOptions roption = DontAllowReplacement) |
| QDBusReply<QStringList> | registeredServiceNames() const |
(since 6.10) QDBusReply<QVariantMap> | serviceCredentials(const QString &serviceName) const |
| QDBusReply<QString> | serviceOwner(const QString &name) const |
| QDBusReply<uint> | servicePid(const QString &serviceName) const |
| QDBusReply<uint> | serviceUid(const QString &serviceName) const |
| QDBusReply<void> | startService(const QString &name) |
| QDBusReply<bool> | unregisterService(const QString &serviceName) |
Signaux
| void | callWithCallbackFailed(const QDBusError &error, const QDBusMessage &call) |
| void | serviceRegistered(const QString &service) |
| void | serviceUnregistered(const QString &service) |
Description détaillée
Le démon du serveur de bus D-Bus fournit une interface spéciale org.freedesktop.DBus qui permet aux clients d'accéder à certaines propriétés du bus, telles que la liste actuelle des clients connectés. La classe QDBusConnectionInterface permet d'accéder à cette interface.
Les utilisations les plus courantes de cette classe sont l'enregistrement et le désenregistrement des noms de service sur le bus à l'aide des fonctions registerService() et unregisterService(), l'interrogation des noms existants à l'aide des fonctions isServiceRegistered(), registeredServiceNames() et serviceOwner(), et la réception d'une notification indiquant qu'un client s'est enregistré ou désenregistré à l'aide des signaux serviceRegistered(), serviceUnregistered() et serviceOwnerChanged().
Documentation sur les types de membres
enum QDBusConnectionInterface::RegisterServiceReply
Valeurs de retour possibles de registerService() :
| Constante | Valeur | Description de l'appel |
|---|---|---|
QDBusConnectionInterface::ServiceNotRegistered | 0 | L'appel a échoué et le nom de service n'a pas été enregistré. |
QDBusConnectionInterface::ServiceRegistered | 1 | L'appelant est maintenant propriétaire du nom du service. |
QDBusConnectionInterface::ServiceQueued | 2 | L'appelant a spécifié l'indicateur QueueService et le service était déjà enregistré, nous sommes donc dans la file d'attente. |
Le signal serviceRegistered() sera émis lorsque le service sera acquis par cette application.
enum QDBusConnectionInterface::ServiceQueueOptions
Indicateurs permettant de déterminer le comportement à adopter lors de l'enregistrement d'un service, dans le cas où le nom du service est déjà enregistré.
| Constante | Valeur | Description |
|---|---|---|
QDBusConnectionInterface::DontQueueService | 0 | Si une application demande un nom qui lui appartient déjà, aucune mise en file d'attente ne sera effectuée. L'appel à registeredService() échouera simplement. Il s'agit de la valeur par défaut. |
QDBusConnectionInterface::QueueService | 1 | Tente d'enregistrer le service demandé, mais n'essaie pas de le remplacer si une autre application l'a déjà enregistré. Au lieu de cela, il met simplement cette application dans la file d'attente, jusqu'à ce qu'elle soit abandonnée. Le signal serviceRegistered() sera émis lorsque cela se produira. |
QDBusConnectionInterface::ReplaceExistingService | 2 | Si une autre application a déjà enregistré le nom du service, essayez de le remplacer. |
Voir aussi ServiceReplacementOptions.
enum QDBusConnectionInterface::ServiceReplacementOptions
Indicateurs permettant de déterminer si le serveur D-Bus doit autoriser une autre application à remplacer un nom que cette application a enregistré avec l'option ReplaceExistingService.
Les valeurs possibles sont les suivantes :
| Constante | Valeur | Description |
|---|---|---|
QDBusConnectionInterface::DontAllowReplacement | 0 | Ne pas autoriser une autre application à nous remplacer. Le service doit être explicitement désenregistré avec unregisterService() pour qu'une autre application puisse l'acquérir. Il s'agit de la valeur par défaut. |
QDBusConnectionInterface::AllowReplacement | 1 | Autoriser d'autres applications à nous remplacer avec l'option ReplaceExistingService de registerService() sans intervention. Si cela se produit, le signal serviceUnregistered() sera émis. |
Voir aussi ServiceQueueOptions.
Documentation sur les propriétés
[read-only] activatableServiceNames : QDBusReply<QStringList>
contient les noms de services activables
Liste tous les noms qui peuvent être activés sur le bus.
Fonctions d'accès :
| QDBusReply<QStringList> | activatableServiceNames() const |
[read-only] registeredServiceNames : QDBusReply<QStringList>
contient les noms de service enregistrés
Liste tous les noms actuellement enregistrés sur le bus.
Fonctions d'accès :
| QDBusReply<QStringList> | registeredServiceNames() const |
Documentation des fonctions membres
[signal] void QDBusConnectionInterface::callWithCallbackFailed(const QDBusError &error, const QDBusMessage &call)
Ce signal est émis en cas d'erreur lors d'une opération QDBusConnection::callWithCallback(). error indique l'erreur. call est le message qui n'a pas pu être délivré.
Voir aussi QDBusConnection::callWithCallback().
[slot] QDBusReply<bool> QDBusConnectionInterface::isServiceRegistered(const QString &serviceName) const
Renvoie true si le nom de service serviceName est actuellement enregistré.
[slot] QDBusReply<QDBusConnectionInterface::RegisterServiceReply> QDBusConnectionInterface::registerService(const QString &serviceName, QDBusConnectionInterface::ServiceQueueOptions qoption = DontQueueService, QDBusConnectionInterface::ServiceReplacementOptions roption = DontAllowReplacement)
Demande d'enregistrement du nom de service serviceName sur le bus. Le drapeau qoption indique comment le serveur D-Bus doit se comporter si serviceName est déjà enregistré. Le drapeau roption indique si le serveur doit autoriser une autre application à remplacer notre nom enregistré.
Si l'enregistrement du service réussit, le signal serviceRegistered() est émis. Si nous sommes placés dans la file d'attente, le signal sera émis lorsque nous obtiendrons le nom. Si roption est AllowReplacement, le signal serviceUnregistered() sera émis si une autre application remplace celle-ci.
Voir aussi unregisterService().
[slot, since 6.10] QDBusReply<QVariantMap> QDBusConnectionInterface::serviceCredentials(const QString &serviceName) const
Retourne les identifiants de connexion pour le processus qui détient actuellement le service de bus serviceName.
Voir <https://dbus.freedesktop.org/doc/dbus-specification.html> section : 'Method : org.freedesktop.DBus.GetConnectionCredentials' pour plus d'informations.
Cette fonction a été introduite dans Qt 6.10.
[slot] QDBusReply<QString> QDBusConnectionInterface::serviceOwner(const QString &name) const
Renvoie le nom de connexion unique du propriétaire principal du nom name. Si le nom demandé n'a pas de propriétaire, il renvoie une erreur org.freedesktop.DBus.Error.NameHasNoOwner.
[slot] QDBusReply<uint> QDBusConnectionInterface::servicePid(const QString &serviceName) const
Renvoie l'ID du processus Unix (PID) pour le processus qui détient actuellement le service de bus serviceName.
[signal] void QDBusConnectionInterface::serviceRegistered(const QString &service)
Ce signal est émis par le serveur D-Bus lorsque le nom du service de bus (nom de connexion unique ou nom de service bien connu) donné par service est acquis par cette application.
L'acquisition a lieu après que cette application a demandé un nom en utilisant registerService().
[slot] QDBusReply<uint> QDBusConnectionInterface::serviceUid(const QString &serviceName) const
Renvoie l'ID utilisateur Unix (UID) du processus qui détient actuellement le service de bus serviceName.
[signal] void QDBusConnectionInterface::serviceUnregistered(const QString &service)
Ce signal est émis par le serveur D-Bus lorsque cette application perd la propriété du nom du service de bus donné par service.
[slot] QDBusReply<void> QDBusConnectionInterface::startService(const QString &name)
Demande que le bus commence le service indiqué par le nom name.
[slot] QDBusReply<bool> QDBusConnectionInterface::unregisterService(const QString &serviceName)
Libère la revendication sur le nom de service de bus serviceName, qui avait été précédemment enregistré avec registerService(). Si cette application était propriétaire du nom, celui-ci sera libéré pour que d'autres applications puissent le revendiquer. Si elle n'avait que le nom en file d'attente, elle abandonne sa position dans la file d'attente.
© 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.