Auf dieser Seite

QDBusConnection Class

Die Klasse „QDBusConnection“ stellt eine Verbindung zum D-Bus-Bus-Daemon dar. Mehr...

Header: #include <QDBusConnection>
CMake: find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmake: QT += dbus

Öffentliche Typen

enum BusType { SessionBus, SystemBus, ActivationBus }
flags ConnectionCapabilities
enum ConnectionCapability { UnixFileDescriptorPassing }
enum RegisterOption { ExportAdaptors, ExportScriptableSlots, ExportScriptableSignals, ExportScriptableProperties, ExportScriptableInvokables, …, ExportChildObjects }
flags RegisterOptions
enum UnregisterMode { UnregisterNode, UnregisterTree }

Öffentliche Funktionen

QDBusConnection(const QString &name)
QDBusConnection(const QDBusConnection &other)
~QDBusConnection()
QDBusPendingCall asyncCall(const QDBusMessage &message, int timeout = -1) const
QString baseService() const
QDBusMessage call(const QDBusMessage &message, QDBus::CallMode mode = QDBus::Block, int timeout = -1) const
bool callWithCallback(const QDBusMessage &message, QObject *receiver, const char *returnMethod, const char *errorMethod, int timeout = -1) const
bool connect(const QString &service, const QString &path, const QString &interface, const QString &name, QObject *receiver, const char *slot)
bool connect(const QString &service, const QString &path, const QString &interface, const QString &name, const QString &signature, QObject *receiver, const char *slot)
bool connect(const QString &service, const QString &path, const QString &interface, const QString &name, const QStringList &argumentMatch, const QString &signature, QObject *receiver, const char *slot)
QDBusConnection::ConnectionCapabilities connectionCapabilities() const
bool disconnect(const QString &service, const QString &path, const QString &interface, const QString &name, QObject *receiver, const char *slot)
bool disconnect(const QString &service, const QString &path, const QString &interface, const QString &name, const QString &signature, QObject *receiver, const char *slot)
bool disconnect(const QString &service, const QString &path, const QString &interface, const QString &name, const QStringList &argumentMatch, const QString &signature, QObject *receiver, const char *slot)
QDBusConnectionInterface *interface() const
bool isConnected() const
QDBusError lastError() const
QString name() const
QObject *objectRegisteredAt(const QString &path) const
bool registerObject(const QString &path, QObject *object, QDBusConnection::RegisterOptions options = ExportAdaptors)
bool registerObject(const QString &path, const QString &interface, QObject *object, QDBusConnection::RegisterOptions options = ExportAdaptors)
bool registerService(const QString &serviceName)
bool send(const QDBusMessage &message) const
void swap(QDBusConnection &other)
void unregisterObject(const QString &path, QDBusConnection::UnregisterMode mode = UnregisterNode)
bool unregisterService(const QString &serviceName)
QDBusConnection &operator=(const QDBusConnection &other)

Statische öffentliche Elemente

QDBusConnection connectToBus(QDBusConnection::BusType type, const QString &name)
QDBusConnection connectToBus(const QString &address, const QString &name)
QDBusConnection connectToPeer(const QString &address, const QString &name)
void disconnectFromBus(const QString &name)
void disconnectFromPeer(const QString &name)
QByteArray localMachineId()
QDBusConnection sessionBus()
QDBusConnection systemBus()

Ausführliche Beschreibung

Diese Klasse bildet den Ausgangspunkt einer D-Bus-Sitzung. Mit ihrer Hilfe können Sie auf entfernte Objekte und Schnittstellen zugreifen, entfernte Signale mit den Slots Ihres Objekts verbinden, Objekte registrieren usw.

D-Bus-Verbindungen werden mit der Funktion ` connectToBus()` hergestellt, die eine Verbindung zum Server-Daemon öffnet, den anfänglichen Handshake durchführt und diese Verbindung einem Namen zuordnet. Weitere Verbindungsversuche unter Verwendung desselben Namens führen zu derselben Verbindung.

Die Verbindung wird anschließend mit der Funktion ` disconnectFromBus()` getrennt.

Nach dem Trennen der Verbindung wird durch den Aufruf von ` connectToBus()` keine Verbindung wiederhergestellt; Sie müssen eine neue `QDBusConnection`-Instanz erstellen.

Als Erleichterung für die beiden gängigsten Verbindungstypen geben die Funktionen ` sessionBus()` und ` systemBus()` offene Verbindungen zum Session-Server-Daemon bzw. zum System-Server-Daemon zurück. Diese Verbindungen werden bei der ersten Verwendung geöffnet und geschlossen, wenn der Destruktor von ` QCoreApplication ` aufgerufen wird.

D-Bus unterstützt auch Peer-to-Peer-Verbindungen, ohne dass ein Bus-Server-Daemon erforderlich ist. Mithilfe dieser Funktion können zwei Anwendungen miteinander kommunizieren und Nachrichten austauschen. Dies kann erreicht werden, indem der Funktion ` connectToBus()` eine Adresse übergeben wird, die von einer anderen D-Bus-Anwendung mithilfe von ` QDBusServer` geöffnet wurde.

Dokumentation zum Mitgliedstyp

enum QDBusConnection::BusType

Gibt den Typ der Busverbindung an. Die zulässigen Bus-Typen sind:

KonstanteWertBeschreibung
QDBusConnection::SessionBus0der Sitzungsbus, der der laufenden Desktop-Sitzung zugeordnet ist
QDBusConnection::SystemBus1der Systembus, der zur Kommunikation mit systemweiten Prozessen verwendet wird
QDBusConnection::ActivationBus2der Aktivierungsbus, der „Alias“ für den Bus, der den Dienst gestartet hat

Auf dem Sitzungsbus findet man andere Anwendungen desselben Benutzers, die dieselbe Desktop-Sitzung nutzen (daher der Name). Auf dem Systembus hingegen befinden sich in der Regel Prozesse, die für das gesamte System gemeinsam genutzt werden.

enum QDBusConnection::ConnectionCapability
flags QDBusConnection::ConnectionCapabilities

Diese Enumeration beschreibt die verfügbaren Funktionen für eine D-Bus-Verbindung.

KonstanteWertBeschreibung
QDBusConnection::UnixFileDescriptorPassing0x0001Ermöglicht die Übergabe von Unix-Dateideskriptoren an andere Prozesse (siehe QDBusUnixFileDescriptor)

Der Typ `ConnectionCapabilities` ist ein `typedef` für ` QFlags<ConnectionCapability>`. Er speichert eine ODER-Kombination von `ConnectionCapability`-Werten.

Siehe auch connectionCapabilities().

enum QDBusConnection::RegisterOption
flags QDBusConnection::RegisterOptions

Legt die Optionen für die Registrierung von Objekten bei der Verbindung fest. Mögliche Werte sind:

KonstanteWertBeschreibung
QDBusConnection::ExportAdaptors0x01Den Inhalt der in diesem Objekt gefundenen Adapter exportieren
QDBusConnection::ExportScriptableSlots0x10Die skriptfähigen Slots dieses Objekts exportieren
QDBusConnection::ExportScriptableSignals0x20Die skriptfähigen Signale dieses Objekts exportieren
QDBusConnection::ExportScriptableProperties0x40Exportiere die skriptfähigen Eigenschaften dieses Objekts
QDBusConnection::ExportScriptableInvokables0x80Exportiere die skriptfähigen Aufruffunktionen dieses Objekts
QDBusConnection::ExportScriptableContents0xf0Kurzform für ExportScriptableSlots | ExportScriptableSignals | ExportScriptableProperties
QDBusConnection::ExportNonScriptableSlots0x100Exportiere die nicht skriptbaren Slots dieses Objekts
QDBusConnection::ExportNonScriptableSignals0x200Exportiere die nicht skriptfähigen Signale dieses Objekts
QDBusConnection::ExportNonScriptableProperties0x400Exportiere die nicht skriptfähigen Eigenschaften dieses Objekts
QDBusConnection::ExportNonScriptableInvokables0x800Die nicht skriptfähigen Aufrufelemente dieses Objekts exportieren
QDBusConnection::ExportNonScriptableContents0xf00Kurzform für ExportNonScriptableSlots | ExportNonScriptableSignals | ExportNonScriptableProperties
QDBusConnection::ExportAllSlotsExportScriptableSlots|ExportNonScriptableSlotsExportiere alle Slots dieses Objekts
QDBusConnection::ExportAllSignalsExportScriptableSignals|ExportNonScriptableSignalsExportiere alle Signale dieses Objekts
QDBusConnection::ExportAllPropertiesExportScriptableProperties|ExportNonScriptablePropertiesExportiere alle Eigenschaften dieses Objekts
QDBusConnection::ExportAllInvokablesExportScriptableInvokables|ExportNonScriptableInvokablesExportiere alle Aufrufbaren dieses Objekts
QDBusConnection::ExportAllContentsExportScriptableContents|ExportNonScriptableContentsExportiere den gesamten Inhalt dieses Objekts
QDBusConnection::ExportChildObjects0x1000Die untergeordneten Objekte dieses Objekts exportieren

Der Typ `RegisterOptions` ist ein `typedef` für ` QFlags<RegisterOption>`. Er speichert eine ODER-Kombination von `RegisterOption`-Werten.

Siehe auch „ registerObject()“, „ QDBusAbstractAdaptor “ und „Verwendung von Adaptern“.

enum QDBusConnection::UnregisterMode

Vorgehensweise zum Aufheben der Registrierung eines Objektpfads:

KonstanteWertBeschreibung
QDBusConnection::UnregisterNode0Nur diesen Knoten deregistrieren: Unterobjekte nicht deregistrieren
QDBusConnection::UnregisterTree1Diesen Knoten und seinen gesamten Unterbaum deregistrieren

Beachten Sie jedoch: Wenn dieses Objekt mit der Option „ ExportChildObjects “ registriert wurde, hebt „UnregisterNode“ auch die Registrierung der untergeordneten Objekte auf.

Dokumentation der Mitgliedsfunktionen

[explicit] QDBusConnection::QDBusConnection(const QString &name)

Erstellt ein QDBusConnection-Objekt, das mit der Verbindung namens „ name “ verknüpft ist.

Dadurch wird die Verbindung nicht geöffnet. Sie müssen connectToBus() aufrufen, um sie zu öffnen.

QDBusConnection::QDBusConnection(const QDBusConnection &other)

Erstellt eine Kopie der Verbindung „ other “.

[noexcept] QDBusConnection::~QDBusConnection()

Entsorgt dieses Objekt. Die Verbindung wird dabei nicht geschlossen: Dazu müssen Sie die Funktion „ disconnectFromBus()“ aufrufen.

QDBusPendingCall QDBusConnection::asyncCall(const QDBusMessage &message, int timeout = -1) const

Sendet die „ message “ über diese Verbindung und kehrt sofort zurück. Diese Funktion eignet sich ausschließlich für Methodenaufrufe. Sie gibt ein Objekt vom Typ „ QDBusPendingCall “ zurück, mit dem sich der Status der Antwort verfolgen lässt.

Wird innerhalb von timeout Millisekunden keine Antwort empfangen, wird automatisch ein Fehler ausgelöst, der das Ablaufen des Aufrufs anzeigt. Der Standardwert für ` timeout ` ist -1; dieser wird durch einen implementierungsabhängigen Wert ersetzt, der für die Kommunikation zwischen Prozessen geeignet ist (in der Regel 25 Sekunden). Diese Zeitüberschreitung ist auch die Obergrenze für die Wartezeit in `QDBusPendingCall::waitForFinished()`.

Siehe die Funktion „ QDBusInterface::asyncCall()“ für eine benutzerfreundlichere Art, Aufrufe zu platzieren.

Hinweis: Methodenaufrufe an Objekte, die von der Anwendung selbst registriert wurden, sind aufgrund von Implementierungsbeschränkungen niemals asynchron.

QString QDBusConnection::baseService() const

Gibt den eindeutigen Verbindungsnamen für diese Verbindung zurück, sofern dieses „ QDBusConnection “-Objekt verbunden ist; andernfalls wird ein leeres „ QString “ zurückgegeben.

Ein eindeutiger Verbindungsname ist eine Zeichenkette im Format „:x.xxx“ (wobei x für Dezimalziffern steht), die vom D-Bus-Server-Daemon bei der Herstellung der Verbindung zugewiesen wird. Er identifiziert diesen Client eindeutig im Bus.

Diese Funktion gibt bei Peer-to-Peer-Verbindungen ein leeres ` QString ` zurück.

QDBusMessage QDBusConnection::call(const QDBusMessage &message, QDBus::CallMode mode = QDBus::Block, int timeout = -1) const

Sendet die „ message “ über diese Verbindung und wartet maximal timeout Millisekunden lang auf eine Antwort. Diese Funktion eignet sich ausschließlich für Methodenaufrufe. Sie gibt die Antwortnachricht als Rückgabewert zurück, die entweder vom Typ „ QDBusMessage::ReplyMessage “ oder „ QDBusMessage::ErrorMessage “ ist.

Wird innerhalb von timeout Millisekunden keine Antwort empfangen, wird automatisch ein Fehler ausgegeben, der das Ablaufen des Aufrufs signalisiert. Der Standardwert für timeout ist -1; dieser wird durch einen implementierungsabhängigen Wert ersetzt, der für die Kommunikation zwischen Prozessen geeignet ist (in der Regel 25 Sekunden).

Siehe die Funktion QDBusInterface::call() für eine benutzerfreundlichere Art, Aufrufe zu platzieren.

Warnung: Wenn mode auf QDBus::BlockWithGui gesetzt ist, kehrt diese Funktion in die Qt-Ereignisschleife zurück, um auf die Antwort zu warten. Während der Wartezeit können Signale und andere Methodenaufrufe an Ihre Anwendung weitergeleitet werden. Daher muss Ihre Anwendung darauf vorbereitet sein, eine Reentrancy zu behandeln, wann immer ein Aufruf mit call() erfolgt.

bool QDBusConnection::callWithCallback(const QDBusMessage &message, QObject *receiver, const char *returnMethod, const char *errorMethod, int timeout = -1) const

Sendet die „ message “ über diese Verbindung und kehrt sofort zurück. Sobald die Antwort empfangen wurde, wird die Methode „ returnMethod “ im Objekt „ receiver “ aufgerufen. Tritt ein Fehler auf, wird stattdessen die Methode „ errorMethod “ aufgerufen.

Wird innerhalb von timeout Millisekunden keine Antwort empfangen, wird automatisch ein Fehler ausgelöst, der das Ablaufen des Aufrufs anzeigt. Der Standardwert für timeout ist -1; dieser wird durch einen implementierungsabhängigen Wert ersetzt, der für die Kommunikation zwischen Prozessen geeignet ist (in der Regel 25 Sekunden).

Diese Funktion eignet sich ausschließlich für Methodenaufrufe. Es wird garantiert, dass der Slot genau einmal mit der Antwort aufgerufen wird, sofern die Parametertypen übereinstimmen und kein Fehler auftritt.

Gibt „ true “ zurück, wenn die Nachricht gesendet wurde, oder „false“, wenn die Nachricht nicht gesendet werden konnte.

bool QDBusConnection::connect(const QString &service, const QString &path, const QString &interface, const QString &name, QObject *receiver, const char *slot)

Verbindet das durch die Parameter „ service “, „ path “, „ interface “ und „ name “ angegebene Signal mit dem Slot „ slot “ im Objekt „ receiver “. Die Argumente „ service “ und „ path “ können leer sein, was eine Verbindung zu einem beliebigen Signal des Paares „(interface, name)“ von einer beliebigen Remote-Anwendung aus bedeutet.

Gibt „ true “ zurück, wenn die Verbindung erfolgreich hergestellt wurde.

Warnung: Das Signal wird nur dann an den Slot übermittelt, wenn die Parameter übereinstimmen. Diese Überprüfung kann erst beim Empfang des Signals erfolgen, nicht bereits zum Zeitpunkt der Verbindungsherstellung.

bool QDBusConnection::connect(const QString &service, const QString &path, const QString &interface, const QString &name, const QString &signature, QObject *receiver, const char *slot)

Verbindet das Signal mit dem Slot „ slot “ im Objekt „ receiver “. Im Gegensatz zur vorherigen Überladung von `connect()` ermöglicht diese Funktion die Angabe der zu verbindenden Parametersignatur mithilfe der Variablen ` signature `. Die Funktion überprüft anschließend, ob diese Signatur an den durch ` slot ` angegebenen Slot übergeben werden kann, und gibt andernfalls `false` zurück.

Gibt „ true “ zurück, wenn die Verbindung erfolgreich hergestellt wurde.

Hinweis: Diese Funktion überprüft, ob die Signalsignatur mit den Parametern des Slots übereinstimmt, überprüft jedoch nicht, ob das eigentliche Signal mit der angegebenen Signatur im Remote-Dienst existiert.

Dies ist eine überladene Funktion.

bool QDBusConnection::connect(const QString &service, const QString &path, const QString &interface, const QString &name, const QStringList &argumentMatch, const QString &signature, QObject *receiver, const char *slot)

Verbindet das Signal mit dem Slot „ slot “ im Objekt „ receiver “. Im Gegensatz zur vorherigen Überladung von „connect()“ ermöglicht diese Funktion die Angabe der zu verbindenden Parametersignatur mithilfe der Variablen „ signature “. Die Funktion überprüft dann, ob diese Signatur an den durch „ slot “ angegebenen Slot übergeben werden kann, und gibt andernfalls „false“ zurück.

Der Parameter ` argumentMatch ` listet die abzugleichenden Zeichenfolgenparameter in sequenzieller Reihenfolge auf. Beachten Sie, dass Sie zum Abgleichen einer leeren Zeichenfolge ein ` QString ` übergeben müssen, das leer, aber nicht null ist (d. h. ` QString("")`). Ein nullwertiges ` QString ` überspringt den Abgleich an dieser Position.

Gibt „ true “ zurück, wenn die Verbindung erfolgreich hergestellt wurde.

Hinweis: Diese Funktion überprüft, ob die Signalsignatur mit den Parametern des Slots übereinstimmt, überprüft jedoch nicht, ob das eigentliche Signal mit der angegebenen Signatur im Remote-Dienst tatsächlich existiert.

Dies ist eine überladene Funktion.

[static] QDBusConnection QDBusConnection::connectToBus(QDBusConnection::BusType type, const QString &name)

Öffnet eine Verbindung vom Typ „ type “ zu einem der bekannten Busse und ordnet ihr den Verbindungsnamen „ name “ zu. Gibt ein „ QDBusConnection “-Objekt zurück, das dieser Verbindung zugeordnet ist.

[static] QDBusConnection QDBusConnection::connectToBus(const QString &address, const QString &name)

Öffnet eine Verbindung zu einem privaten Bus unter der Adresse address und ordnet ihr den Verbindungsnamen name zu. Gibt ein „ QDBusConnection “-Objekt zurück, das dieser Verbindung zugeordnet ist.

[static] QDBusConnection QDBusConnection::connectToPeer(const QString &address, const QString &name)

Öffnet eine Peer-to-Peer-Verbindung unter der Adresse address und ordnet ihr den Verbindungsnamen name zu. Gibt ein QDBusConnection -Objekt zurück, das dieser Verbindung zugeordnet ist.

QDBusConnection::ConnectionCapabilities QDBusConnection::connectionCapabilities() const

Gibt die Funktionen dieser Verbindung zurück, wie sie mit dem Bus-Server oder dem Peer ausgehandelt wurden. Ist dieser „ QDBusConnection “ nicht verbunden, gibt diese Funktion keine Funktionen zurück.

bool QDBusConnection::disconnect(const QString &service, const QString &path, const QString &interface, const QString &name, QObject *receiver, const char *slot)

Trennt das durch die Parameter ` service`, ` path`, ` interface ` und ` name ` angegebene Signal vom Slot ` slot ` im Objekt ` receiver`. Die Argumente müssen mit denen übereinstimmen, die an die Funktion ` connect()` übergeben werden.

Gibt „ true “ zurück, wenn die Trennung erfolgreich war.

bool QDBusConnection::disconnect(const QString &service, const QString &path, const QString &interface, const QString &name, const QString &signature, QObject *receiver, const char *slot)

Trennt das durch die Parameter „ service “, „ path “, „ interface “, „ name “ und „ signature “ angegebene Signal vom Slot „ slot “ im Objekt „ receiver “. Die Argumente müssen mit denen übereinstimmen, die an die Funktion „ connect()“ übergeben wurden.

Gibt „ true “ zurück, wenn die Trennung erfolgreich war.

Dies ist eine überladene Funktion.

bool QDBusConnection::disconnect(const QString &service, const QString &path, const QString &interface, const QString &name, const QStringList &argumentMatch, const QString &signature, QObject *receiver, const char *slot)

Trennt das durch die Parameter „ service “, „ path “, „ interface “, „ name “, „ argumentMatch “ und „ signature “ angegebene Signal vom Slot „ slot “ im Objekt „ receiver “. Die Argumente müssen mit denen übereinstimmen, die an die Funktion „ connect()“ übergeben wurden.

Gibt „ true “ zurück, wenn die Trennung erfolgreich war.

Dies ist eine überladene Funktion.

[static] void QDBusConnection::disconnectFromBus(const QString &name)

Schließt die Busverbindung mit dem Namen „ name “.

Beachten Sie, dass die Verbindung erst geschlossen wird, wenn alle Verweise auf Objekte des Typs „ QDBusConnection “, die noch mit derselben Verbindung verknüpft sind, aufgehoben wurden. Es können jedoch keine weiteren Verweise mithilfe des Konstruktors „ QDBusConnection “ erstellt werden.

[static] void QDBusConnection::disconnectFromPeer(const QString &name)

Schließt die Peer-Verbindung mit dem Namen „ name “.

Beachten Sie, dass die Verbindung erst geschlossen wird, wenn alle Verweise auf die Verbindung aufgehoben wurden, sofern noch QDBusConnection -Objekte mit derselben Verbindung verknüpft sind. Es können jedoch keine weiteren Verweise mithilfe des Konstruktors „ QDBusConnection “ erstellt werden.

QDBusConnectionInterface *QDBusConnection::interface() const

Gibt ein ` QDBusConnectionInterface `-Objekt zurück, das die D-Bus-Server-Schnittstelle für diese Verbindung darstellt.

bool QDBusConnection::isConnected() const

Gibt „ true “ zurück, wenn dieses „ QDBusConnection “-Objekt verbunden ist.

QDBusError QDBusConnection::lastError() const

Gibt den letzten Fehler zurück, der bei dieser Verbindung aufgetreten ist.

Diese Funktion ist für Low-Level-Code vorgesehen. Wenn Sie ` QDBusInterface::call()` verwenden, werden Fehlercodes über den Rückgabewert gemeldet.

Siehe auch ` QDBusInterface ` und ` QDBusMessage`.

[static] QByteArray QDBusConnection::localMachineId()

Gibt die lokale Maschinen-ID zurück, wie sie dem D-Bus-System bekannt ist. Jeder Knoten oder Host, auf dem D-Bus ausgeführt wird, verfügt über eine eindeutige Kennung, mit der er von anderen Hosts unterschieden werden kann, wenn diese Ressourcen wie das Dateisystem gemeinsam nutzen.

Beachten Sie, dass die lokale Maschinen-ID nicht garantiert über mehrere Systemstarts hinweg bestehen bleibt; daher sollte diese Kennung nicht in einem persistenten Speicher (wie dem Dateisystem) abgelegt werden. Es ist nur während der Laufzeit dieser Boot-Sitzung gewährleistet, dass sie konstant bleibt.

QString QDBusConnection::name() const

Gibt den Verbindungsnamen für diese Verbindung zurück, wie er als Parameter „name“ an die Funktion „ connectToBus()“ übergeben wurde.

Der Verbindungsname kann verwendet werden, um die tatsächlich zugrunde liegenden Verbindungen zu Bussen eindeutig zu identifizieren. Kopien, die von einer einzelnen Verbindung erstellt werden, teilen sich immer implizit die zugrunde liegende Verbindung und haben daher denselben Verbindungsnamen.

Umgekehrt sind zwei Verbindungen mit unterschiedlichen Verbindungsnamen immer entweder mit unterschiedlichen Bussen verbunden oder haben auf diesem Bus einen unterschiedlichen eindeutigen Namen (wie von baseService() zurückgegeben).

Siehe auch connectToBus() und disconnectFromBus().

QObject *QDBusConnection::objectRegisteredAt(const QString &path) const

Gibt das Objekt zurück, das mit der Funktion ` registerObject()` unter dem durch ` path` angegebenen Objektpfad registriert wurde.

bool QDBusConnection::registerObject(const QString &path, QObject *object, QDBusConnection::RegisterOptions options = ExportAdaptors)

Registriert das Objekt object unter dem Pfad path und gibt true zurück, wenn die Registrierung erfolgreich war. Der Parameter options legt fest, in welchem Umfang das Objekt object über D-Bus verfügbar gemacht wird.

Diese Funktion ersetzt keine bereits vorhandenen Objekte: Wenn unter dem Pfad path bereits ein Objekt registriert ist, gibt diese Funktion „false“ zurück. Verwenden Sie zunächst unregisterObject(), um die Registrierung aufzuheben.

Das Flag „ ExportChildObjects “ exportiert untergeordnete Objekte über D-Bus basierend auf dem Pfad der registrierten Objekte und dem „ QObject::objectName “ des untergeordneten Objekts. Daher ist es wichtig, dass das untergeordnete Objekt über einen Objektnamen verfügt.

Sie können kein Objekt als untergeordnetes Objekt eines Objekts registrieren, das mit „ ExportChildObjects “ registriert wurde.

bool QDBusConnection::registerObject(const QString &path, const QString &interface, QObject *object, QDBusConnection::RegisterOptions options = ExportAdaptors)

Registriert das Objekt object unter dem Pfad path mit dem Schnittstellennamen interface und gibt true zurück, wenn die Registrierung erfolgreich war. Der Parameter options legt fest, in welchem Umfang das Objekt object über D-Bus verfügbar gemacht wird.

Diese Funktion ersetzt keine bereits vorhandenen Objekte: Wenn unter dem Pfad path bereits ein Objekt registriert ist, gibt diese Funktion „false“ zurück. Verwenden Sie unregisterObject(), um die Registrierung zunächst aufzuheben.

Das Flag „ ExportChildObjects “ exportiert untergeordnete Objekte über D-Bus basierend auf dem Pfad der registrierten Objekte und dem „ QObject::objectName “ des untergeordneten Objekts. Daher ist es wichtig, dass das untergeordnete Objekt über einen Objektnamen verfügt.

Sie können ein Objekt nicht als untergeordnetes Objekt eines Objekts registrieren, das mit „ ExportChildObjects “ registriert wurde.

Dies ist eine überladene Funktion.

bool QDBusConnection::registerService(const QString &serviceName)

Versucht, den „ serviceName “ auf dem D-Bus-Server zu registrieren, und gibt „ true “ zurück, wenn die Registrierung erfolgreich war. Die Registrierung schlägt fehl, wenn der Name bereits von einer anderen Anwendung registriert ist.

Siehe auch „ unregisterService()“ und „ QDBusConnectionInterface::registerService()“.

bool QDBusConnection::send(const QDBusMessage &message) const

Sendet die ` message ` über diese Verbindung, ohne auf eine Antwort zu warten. Dies eignet sich für Fehler, Signale und Rückgabewerte sowie für Aufrufe, deren Rückgabewerte nicht benötigt werden.

Gibt ` true ` zurück, wenn die Nachricht erfolgreich in die Warteschlange gestellt wurde, andernfalls `false`.

[static] QDBusConnection QDBusConnection::sessionBus()

Gibt ein „ QDBusConnection “-Objekt zurück, das über den Session-Bus geöffnet wurde. Die von dieser Funktion zurückgegebene Objektreferenz ist bis zum Beenden der Anwendung gültig; zu diesem Zeitpunkt wird die Verbindung geschlossen und das Objekt gelöscht.

[noexcept] void QDBusConnection::swap(QDBusConnection &other)

Ersetzt diese Verbindung durch other. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

[static] QDBusConnection QDBusConnection::systemBus()

Gibt ein „ QDBusConnection “-Objekt zurück, das über den Systembus geöffnet wurde. Die von dieser Funktion zurückgegebene Objektreferenz ist gültig, bis der Destruktor von „ QCoreApplication “ aufgerufen wird; dann wird die Verbindung geschlossen und das Objekt gelöscht.

void QDBusConnection::unregisterObject(const QString &path, QDBusConnection::UnregisterMode mode = UnregisterNode)

Hebt die Registrierung eines Objekts auf, das mit der Funktion ` registerObject()` unter dem durch ` path ` angegebenen Objektpfad registriert wurde, und – sofern ` mode ` den Wert ` QDBusConnection::UnregisterTree` hat – auch die Registrierung aller seiner Unterobjekte.

Beachten Sie, dass Sie keine Objekte deregistrieren können, die nicht mit der Funktion „ registerObject()“ registriert wurden.

bool QDBusConnection::unregisterService(const QString &serviceName)

Hebt die Registrierung des Dienstes „ serviceName “ auf, der zuvor mit „ registerService “ () registriert wurde, und gibt bei Erfolg „ true “ zurück.

Siehe auch registerService() und QDBusConnectionInterface::unregisterService().

QDBusConnection &QDBusConnection::operator=(const QDBusConnection &other)

Erstellt eine Kopie der Verbindung other in diesem Objekt. Beachten Sie, dass die Verbindung, auf die dieses Objekt vor dem Kopieren verwiesen hat, nicht automatisch getrennt wird.

Siehe auch disconnectFromBus().

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