En esta página

QDBusConnectionInterface Class

La clase QDBusConnectionInterface proporciona acceso al servicio daemon del bus D-Bus. Más...

Cabecera: #include <QDBusConnectionInterface>
CMake: find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmake: QT += dbus
Hereda: QDBusAbstractInterface

Tipos públicos

enum RegisterServiceReply { ServiceNotRegistered, ServiceRegistered, ServiceQueued }
enum ServiceQueueOptions { DontQueueService, QueueService, ReplaceExistingService }
enum ServiceReplacementOptions { DontAllowReplacement, AllowReplacement }

Propiedades

Tragamonedas públicas

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)

Señales

void callWithCallbackFailed(const QDBusError &error, const QDBusMessage &call)
void serviceRegistered(const QString &service)
void serviceUnregistered(const QString &service)

Descripción detallada

El demonio servidor de bus D-Bus proporciona una interfaz especial org.freedesktop.DBus que permite a los clientes acceder a ciertas propiedades del bus, como la lista actual de clientes conectados. La clase QDBusConnectionInterface proporciona acceso a esa interfaz.

Los usos más comunes de esta clase son registrar y dar de baja nombres de servicio en el bus utilizando las funciones registerService() y unregisterService(), consultar sobre nombres existentes utilizando las funciones isServiceRegistered(), registeredServiceNames() y serviceOwner(), y recibir notificaciones de que un cliente se ha registrado o dado de baja a través de las señales serviceRegistered(), serviceUnregistered() y serviceOwnerChanged().

Documentación de tipos de miembros

enum QDBusConnectionInterface::RegisterServiceReply

Los posibles valores de retorno de registerService():

ConstanteValorDescripción
QDBusConnectionInterface::ServiceNotRegistered0La llamada ha fallado y el nombre de servicio no se ha registrado.
QDBusConnectionInterface::ServiceRegistered1El llamante es ahora el propietario del nombre de servicio.
QDBusConnectionInterface::ServiceQueued2El llamante especificó la bandera QueueService y el servicio ya estaba registrado, por lo que estamos en cola.

La señal serviceRegistered() será emitida cuando el servicio sea adquirido por esta aplicación.

enum QDBusConnectionInterface::ServiceQueueOptions

Banderas para determinar cómo debe comportarse el registro de un servicio, en caso de que el nombre del servicio ya esté registrado.

ConstanteValorDescripción
QDBusConnectionInterface::DontQueueService0Si una aplicación solicita un nombre que ya tiene dueño, no se realizará ninguna cola. La llamada a registeredService() simplemente fallará. Este es el valor por defecto.
QDBusConnectionInterface::QueueService1Intenta registrar el servicio solicitado, pero no intenta reemplazarlo si otra aplicación ya lo tiene registrado. En su lugar, simplemente pone esta aplicación en cola, hasta que se abandone. La señal serviceRegistered() será emitida cuando eso ocurra.
QDBusConnectionInterface::ReplaceExistingService2Si otra aplicación ya tiene registrado el nombre del servicio, intente reemplazarlo.

Véase también ServiceReplacementOptions.

enum QDBusConnectionInterface::ServiceReplacementOptions

Banderas para determinar si el servidor D-Bus debe permitir que otra aplicación reemplace un nombre que esta aplicación ha registrado con la opción ReplaceExistingService.

Los valores posibles son:

ConstanteValorDescripción
QDBusConnectionInterface::DontAllowReplacement0No permitir que otra aplicación nos sustituya. El servicio debe ser explícitamente desregistrado con unregisterService() para que otra aplicación pueda adquirirlo. Este es el valor por defecto.
QDBusConnectionInterface::AllowReplacement1Permitir que otras aplicaciones nos sustituyan con la opción ReplaceExistingService de registerService() sin intervención. Si eso ocurre, se emitirá la señal serviceUnregistered().

Véase también ServiceQueueOptions.

Documentación de propiedades

[read-only] activatableServiceNames : QDBusReply<QStringList>

contiene los nombres de servicio activables

Enumera todos los nombres que pueden activarse en el bus.

Funciones de acceso:

QDBusReply<QStringList> activatableServiceNames() const

[read-only] registeredServiceNames : QDBusReply<QStringList>

contiene los nombres de servicio registrados

Lista todos los nombres registrados actualmente en el bus.

Funciones de acceso:

QDBusReply<QStringList> registeredServiceNames() const

Documentación de funciones miembro

[signal] void QDBusConnectionInterface::callWithCallbackFailed(const QDBusError &error, const QDBusMessage &call)

Esta señal se emite cuando se produce un error durante una QDBusConnection::callWithCallback(). error especifica el error. call es el mensaje que no se ha podido entregar.

Véase también QDBusConnection::callWithCallback().

[slot] QDBusReply<bool> QDBusConnectionInterface::isServiceRegistered(const QString &serviceName) const

Devuelve true si el nombre de servicio serviceName está registrado actualmente.

[slot] QDBusReply<QDBusConnectionInterface::RegisterServiceReply> QDBusConnectionInterface::registerService(const QString &serviceName, QDBusConnectionInterface::ServiceQueueOptions qoption = DontQueueService, QDBusConnectionInterface::ServiceReplacementOptions roption = DontAllowReplacement)

Solicita registrar el nombre de servicio serviceName en el bus. La bandera qoption especifica cómo debe comportarse el servidor D-Bus si serviceName ya está registrado. La bandera roption especifica si el servidor debe permitir que otra aplicación reemplace nuestro nombre registrado.

Si el registro del servicio tiene éxito, se emitirá la señal serviceRegistered(). Si estamos en cola, la señal se emitirá cuando obtengamos el nombre. Si roption es AllowReplacement, se emitirá la señal serviceUnregistered() si otra aplicación sustituye a ésta.

Véase también unregisterService().

[slot, since 6.10] QDBusReply<QVariantMap> QDBusConnectionInterface::serviceCredentials(const QString &serviceName) const

Devuelve las credenciales de conexión para el proceso que actualmente mantiene el servicio de bus serviceName.

Ver <https://dbus.freedesktop.org/doc/dbus-specification.html> sección: 'Method: org.freedesktop.DBus.GetConnectionCredentials' para más información.

Esta función se introdujo en Qt 6.10.

[slot] QDBusReply<QString> QDBusConnectionInterface::serviceOwner(const QString &name) const

Devuelve el nombre de conexión único del propietario principal del nombre name. Si el nombre solicitado no tiene propietario, devuelve un error org.freedesktop.DBus.Error.NameHasNoOwner.

[slot] QDBusReply<uint> QDBusConnectionInterface::servicePid(const QString &serviceName) const

Devuelve el ID de proceso Unix (PID) para el proceso que actualmente mantiene el servicio de bus serviceName.

[signal] void QDBusConnectionInterface::serviceRegistered(const QString &service)

Esta señal es emitida por el servidor D-Bus cuando el nombre de servicio de bus (nombre de conexión único o nombre de servicio conocido) dado por service es adquirido por esta aplicación.

La adquisición se produce después de que esta aplicación haya solicitado un nombre mediante registerService().

[slot] QDBusReply<uint> QDBusConnectionInterface::serviceUid(const QString &serviceName) const

Devuelve el ID de usuario Unix (UID) para el proceso que actualmente mantiene el servicio de bus serviceName.

[signal] void QDBusConnectionInterface::serviceUnregistered(const QString &service)

Esta señal es emitida por el servidor D-Bus cuando esta aplicación pierde la propiedad del nombre de servicio de bus dado por service.

[slot] QDBusReply<void> QDBusConnectionInterface::startService(const QString &name)

Solicita que el autobús inicie el servicio indicado por el nombre name.

[slot] QDBusReply<bool> QDBusConnectionInterface::unregisterService(const QString &serviceName)

Libera la reclamación sobre el nombre de servicio de autobús serviceName, que había sido registrado previamente en registerService(). Si esta aplicación era propietaria del nombre, se liberará para que otras aplicaciones puedan reclamarlo. Si sólo tenía el nombre en cola, cede su posición en la cola.

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