QDBusConnection Class

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

Kopfzeile: #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 }
flags VirtualObjectRegisterOptions

Ö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 Mitglieder

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()

Detaillierte Beschreibung

Diese Klasse ist der Ausgangspunkt für eine D-Bus-Sitzung. Mit ihr können Sie Zugang zu entfernten Objekten und Schnittstellen erhalten, entfernte Signale mit den Slots Ihres Objekts verbinden, Objekte registrieren usw.

D-Bus-Verbindungen werden mit der Funktion connectToBus() erstellt, die eine Verbindung zum Server-Daemon öffnet und das anfängliche Handshaking durchführt, wobei diese Verbindung mit einem Namen verknüpft wird. Weitere Versuche, eine Verbindung mit demselben Namen herzustellen, geben dieselbe Verbindung zurück.

Die Verbindung wird dann mit der Funktion disconnectFromBus() abgebaut.

Wenn die Verbindung einmal abgebaut ist, kann sie durch den Aufruf von connectToBus() nicht wiederhergestellt werden, Sie müssen eine neue QDBusConnection-Instanz erstellen.

Für die beiden häufigsten Verbindungstypen geben die Funktionen sessionBus() und systemBus() offene Verbindungen zum Sitzungsserver-Daemon bzw. zum Systemserver-Daemon zurück. Diese Verbindungen werden bei der ersten Verwendung geöffnet und bei der Ausführung des Destruktors QCoreApplication wieder geschlossen.

D-Bus unterstützt auch Peer-to-Peer-Verbindungen, ohne dass ein Busserver-Daemon erforderlich ist. Mit dieser Funktion können zwei Anwendungen miteinander kommunizieren und Nachrichten austauschen. Dies kann durch die Übergabe einer Adresse an die Funktion connectToBus() erreicht werden, die von einer anderen D-Bus-Anwendung mit QDBusServer geöffnet wurde.

Dokumentation der Mitgliedstypen

enum QDBusConnection::BusType

Gibt den Typ der Busverbindung an. Die gültigen Bustypen sind:

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

Auf dem Sitzungsbus kann man andere Anwendungen desselben Benutzers finden, die sich dieselbe Desktop-Sitzung teilen (daher der Name). Auf dem Systembus hingegen findet man in der Regel Prozesse, die für das gesamte System freigegeben sind.

enum QDBusConnection::ConnectionCapability
flags QDBusConnection::ConnectionCapabilities

Diese Aufzählung beschreibt die verfügbaren Fähigkeiten 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

Gibt die Optionen für die Registrierung von Objekten bei der Verbindung an. Die möglichen Werte sind:

KonstanteWertBeschreibung
QDBusConnection::ExportAdaptors0x01den Inhalt der in diesem Objekt gefundenen Adaptoren exportieren
QDBusConnection::ExportScriptableSlots0x10exportiert die skriptfähigen Slots dieses Objekts
QDBusConnection::ExportScriptableSignals0x20exportiert die skriptfähigen Signale des Objekts
QDBusConnection::ExportScriptableProperties0x40exportiert die skriptfähigen Eigenschaften des Objekts
QDBusConnection::ExportScriptableInvokables0x80exportiert die skriptfähigen Invokables dieses Objekts
QDBusConnection::ExportScriptableContents0xf0Kurzform für ExportScriptableSlots | ExportScriptableSignals | ExportScriptableProperties
QDBusConnection::ExportNonScriptableSlots0x100exportiert die nicht skriptbaren Slots dieses Objekts
QDBusConnection::ExportNonScriptableSignals0x200exportiert die nicht skriptbaren Signale dieses Objekts
QDBusConnection::ExportNonScriptableProperties0x400exportiert die nicht-skriptbaren Eigenschaften dieses Objekts
QDBusConnection::ExportNonScriptableInvokables0x800exportiert die nicht skriptbaren Invokables dieses Objekts
QDBusConnection::ExportNonScriptableContents0xf00Kurzform für ExportNonScriptableSlots | ExportNonScriptableSignals | ExportNonScriptableProperties
QDBusConnection::ExportAllSlotsExportScriptableSlots|ExportNonScriptableSlotsalle Slots dieses Objekts exportieren
QDBusConnection::ExportAllSignalsExportScriptableSignals|ExportNonScriptableSignalsalle Signale dieses Objekts exportieren
QDBusConnection::ExportAllPropertiesExportScriptableProperties|ExportNonScriptablePropertiesalle Eigenschaften dieses Objekts exportieren
QDBusConnection::ExportAllInvokablesExportScriptableInvokables|ExportNonScriptableInvokablesalle Invokables dieses Objekts exportieren
QDBusConnection::ExportAllContentsExportScriptableContents|ExportNonScriptableContentsden gesamten Inhalt dieses Objekts exportieren
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

Der Modus für die Aufhebung der Registrierung eines Objektpfads:

KonstanteWertBeschreibung
QDBusConnection::UnregisterNode0nur diesen Knoten deregistrieren: keine untergeordneten Objekte deregistrieren
QDBusConnection::UnregisterTree1Deregistrierung dieses Knotens und seines gesamten Unterbaums

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

Dokumentation der Mitgliedsfunktionen

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

Erzeugt ein QDBusConnection-Objekt, das an die Verbindung mit dem Namen name angehängt wird.

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

QDBusConnection::QDBusConnection(const QDBusConnection &other)

Erzeugt eine Kopie der Verbindung other.

[noexcept] QDBusConnection::~QDBusConnection()

Beseitigt dieses Objekt. Damit wird die Verbindung nicht geschlossen: Dazu müssen Sie 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 ist nur für Methodenaufrufe geeignet. Sie gibt ein Objekt vom Typ QDBusPendingCall zurück, das zur Verfolgung des Status der Antwort verwendet werden kann.

Wenn innerhalb von timeout Millisekunden keine Antwort empfangen wird, wird automatisch ein Fehler ausgegeben, der den Ablauf des Aufrufs anzeigt. Der Standardwert timeout ist -1, der durch einen von der Implementierung festgelegten Wert ersetzt wird, der für die Kommunikation zwischen Prozessen geeignet ist (im Allgemeinen 25 Sekunden). Dieser Timeout ist auch die Obergrenze für das Warten in QDBusPendingCall::waitForFinished().

Siehe die Funktion QDBusInterface::asyncCall() für eine freundlichere 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, wenn dieses QDBusConnection Objekt verbunden ist, oder andernfalls einen leeren QString.

Ein eindeutiger Verbindungsname ist eine Zeichenkette in der Form ":x.xxx" (wobei x Dezimalziffern sind), die vom D-Bus-Server-Daemon bei der Verbindung zugewiesen wird. Er identifiziert diesen Client eindeutig im Bus.

Bei Peer-to-Peer-Verbindungen gibt diese Funktion 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 blockiert für maximal timeout Millisekunden, um auf eine Antwort zu warten. Diese Funktion ist nur für Methodenaufrufe geeignet. Sie gibt die Antwortnachricht als Rückgabewert zurück, die entweder vom Typ QDBusMessage::ReplyMessage oder QDBusMessage::ErrorMessage ist.

Wenn innerhalb von timeout Millisekunden keine Antwort empfangen wird, wird automatisch ein Fehler ausgegeben, der den Ablauf des Aufrufs anzeigt. Der Standardwert timeout ist -1, der durch einen implementierungsdefinierten Wert ersetzt wird, der für die Kommunikation zwischen Prozessen geeignet ist (im Allgemeinen 25 Sekunden).

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

Warnung: Wenn mode gleich QDBus::BlockWithGui ist, wird diese Funktion erneut in die Qt-Ereignisschleife eintreten, um auf die Antwort zu warten. Während des Wartens kann sie Signale und andere Methodenaufrufe an Ihre Anwendung übermitteln. Daher muss die Funktion darauf vorbereitet sein, eine Wiederholung zu behandeln, wenn 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. Wenn die Antwort empfangen wird, wird die Methode returnMethod im Objekt receiver aufgerufen. Wenn ein Fehler auftritt, wird stattdessen die Methode errorMethod aufgerufen.

Wenn innerhalb von timeout Millisekunden keine Antwort empfangen wird, wird automatisch ein Fehler ausgegeben, der den Ablauf des Aufrufs anzeigt. Der Standardwert timeout ist -1, der durch einen implementierungsdefinierten Wert ersetzt wird, der für die Kommunikation zwischen Prozessen geeignet ist (im Allgemeinen 25 Sekunden).

Diese Funktion ist nur für Methodenaufrufe geeignet. Es ist garantiert, dass der Slot genau einmal mit der Antwort aufgerufen wird, solange 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 entfernten Anwendung bedeutet.

Gibt true zurück, wenn die Verbindung erfolgreich war.

Warnung: Das Signal wird nur dann an den Slot geliefert, wenn die Parameter übereinstimmen. Diese Überprüfung kann nur erfolgen, wenn das Signal empfangen wird, nicht zum Zeitpunkt der Verbindung.

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

Dies ist eine überladene Funktion.

Verbindet das Signal mit dem Slot slot im Objekt receiver. Im Gegensatz zur vorherigen connect()-Überladung kann man bei dieser Funktion die Parametersignatur, die verbunden werden soll, mit der Variablen signature angeben. Die Funktion prüft dann, ob diese Signatur an den durch slot angegebenen Slot geliefert werden kann und gibt andernfalls false zurück.

Gibt true zurück, wenn die Verbindung erfolgreich war.

Hinweis: Diese Funktion prüft, ob die Signalsignatur mit den Parametern des Steckplatzes übereinstimmt, aber sie prüft nicht, ob das tatsächliche Signal mit der angegebenen Signatur im Ferndienst existiert.

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)

Dies ist eine überladene Funktion.

Verbindet das Signal mit dem Slot slot im Objekt receiver. Im Gegensatz zur vorherigen connect()-Überladung kann man bei dieser Funktion die Parametersignatur, die verbunden werden soll, mit der Variablen signature angeben. Die Funktion prüft dann, ob diese Signatur an den durch slot angegebenen Slot geliefert werden kann und gibt andernfalls false zurück.

Der Parameter argumentMatch listet die abzugleichenden String-Parameter in sequentieller Reihenfolge auf. Beachten Sie, dass Sie für den Abgleich einer leeren Zeichenkette eine QString übergeben müssen, die leer, aber nicht null ist (d. h. QString("")). Eine Null QString überspringt den Abgleich an dieser Position.

Gibt true zurück, wenn die Verbindung erfolgreich war.

Hinweis: Diese Funktion prüft, ob die Signalsignatur mit den Parametern des Steckplatzes übereinstimmt, aber sie prüft nicht, ob das tatsächliche Signal mit der angegebenen Signatur im Ferndienst existiert.

[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 mit dieser Verbindung verbunden ist.

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

Öffnet eine Verbindung zu einem privaten Bus an der Adresse address und ordnet ihr den Verbindungsnamen name zu. Gibt ein QDBusConnection Objekt zurück, das mit dieser Verbindung verbunden ist.

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

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

QDBusConnection::ConnectionCapabilities QDBusConnection::connectionCapabilities() const

Gibt die Fähigkeiten dieser Verbindung zurück, wie sie mit dem Busserver oder der Gegenstelle ausgehandelt wurden. Wenn diese QDBusConnection nicht verbunden ist, gibt diese Funktion keine Fähigkeiten 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 Steckplatz slot im Objekt receiver. Die Argumente müssen dieselben sein, die an die Funktion connect() übergeben wurden.

Gibt true zurück, wenn die Trennung der Verbindung 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)

Dies ist eine überladene Funktion.

Trennt das durch die Parameter service, path, interface, name und signature angegebene Signal vom Steckplatz slot im Objekt receiver. Die Argumente müssen dieselben sein, die an die Funktion connect() übergeben wurden.

Gibt true zurück, wenn die Trennung der Verbindung erfolgreich war.

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)

Dies ist eine überladene Funktion.

Trennt das durch die Parameter service, path, interface, name, argumentMatch und signature angegebene Signal vom Steckplatz slot im Objekt receiver. Die Argumente müssen dieselben sein, die an die Funktion connect() übergeben wurden.

Gibt true zurück, wenn die Trennung der Verbindung erfolgreich war.

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

Schließt die Busverbindung mit dem Namen name.

Beachten Sie, dass, wenn es noch QDBusConnection Objekte gibt, die mit der gleichen Verbindung verbunden sind, die Verbindung nicht geschlossen wird, bis alle Referenzen gelöscht sind. Mit dem Konstruktor QDBusConnection können jedoch keine weiteren Referenzen erstellt werden.

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

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

Beachten Sie, dass die Verbindung erst dann geschlossen wird, wenn alle Verweise gelöscht wurden, falls noch QDBusConnection Objekte mit derselben Verbindung verbunden sind. Es können jedoch keine weiteren Verweise mit dem Konstruktor QDBusConnection erstellt werden.

QDBusConnectionInterface *QDBusConnection::interface() const

Gibt ein QDBusConnectionInterface Objekt zurück, das die D-Bus-Server-Schnittstelle auf dieser 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 die Fehlercodes durch ihren Rückgabewert gemeldet.

Siehe auch QDBusInterface und QDBusMessage.

[static] QByteArray QDBusConnection::localMachineId()

Gibt die dem D-Bus-System bekannte lokale Rechner-ID zurück. Jeder Knoten oder Host, auf dem D-Bus läuft, hat einen eindeutigen Bezeichner, der verwendet werden kann, um ihn von anderen Hosts zu unterscheiden, wenn sie Ressourcen wie das Dateisystem gemeinsam nutzen.

Beachten Sie, dass die lokale Rechner-ID nicht garantiert ist, dass sie über mehrere Systemstarts hinweg bestehen bleibt, so dass diese Kennung nicht in einem dauerhaften Speicher (wie dem Dateisystem) abgelegt werden sollte. Sie bleibt garantiert nur während der Lebensdauer dieser Boot-Sitzung konstant.

QString QDBusConnection::name() const

Gibt den Verbindungsnamen für diese Verbindung zurück, der als Parameter name an connectToBus() übergeben wurde.

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

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

Siehe auch connectToBus() und disconnectFromBus().

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

Gibt das Objekt zurück, das mit registerObject() unter dem in 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 gibt an, wie viel von dem Objekt object über den D-Bus offengelegt werden soll.

Diese Funktion ersetzt keine vorhandenen Objekte: Wenn bereits ein Objekt unter dem Pfad path registriert ist, gibt diese Funktion false zurück. Verwenden Sie unregisterObject(), um die Registrierung zu löschen.

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

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

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

Dies ist eine überladene Funktion.

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 gibt an, wie viel von dem Objekt object über den D-Bus offengelegt wird.

Diese Funktion ersetzt keine bestehenden Objekte: Wenn bereits ein Objekt unter dem Pfad path registriert ist, gibt diese Funktion false zurück. Verwenden Sie unregisterObject(), um die Registrierung zu löschen.

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

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

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

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 erforderlich sind.

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 mit dem Sitzungsbus geöffnet wurde. Der von dieser Funktion zurückgegebene Objektverweis ist gültig, bis die Anwendung beendet wird; dann wird die Verbindung geschlossen und das Objekt gelöscht.

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

Tauscht diese Verbindung mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

[static] QDBusConnection QDBusConnection::systemBus()

Gibt ein mit dem Systembus geöffnetes QDBusConnection Objekt zurück. Die von dieser Funktion zurückgegebene Objektreferenz ist gültig, bis der Destruktor von QCoreApplication ausgeführt 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 registerObject() unter dem durch path angegebenen Objektpfad registriert wurde, und, falls mode QDBusConnection::UnregisterTree ist, auch alle seine Unterobjekte.

Beachten Sie, dass Sie keine Objekte abmelden können, die nicht mit registerObject() registriert wurden.

bool QDBusConnection::unregisterService(const QString &serviceName)

Hebt die Registrierung des Dienstes serviceName auf, der zuvor mit registerService() registriert wurde, und gibt true zurück, wenn dies erfolgreich war.

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

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

Erzeugt eine Kopie der Verbindung other in diesem Objekt. Beachten Sie, dass die Verbindung, auf die dieses Objekt vor der Kopie verwiesen hat, nicht spontan unterbrochen wird.

Siehe auch disconnectFromBus().

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