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:
Konstante | Wert | Beschreibung |
---|---|---|
QDBusConnection::SessionBus | 0 | der Sitzungsbus, der mit der laufenden Desktop-Sitzung verbunden ist |
QDBusConnection::SystemBus | 1 | der Systembus, der für die Kommunikation mit systemweiten Prozessen verwendet wird |
QDBusConnection::ActivationBus | 2 | der 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.
Konstante | Wert | Beschreibung |
---|---|---|
QDBusConnection::UnixFileDescriptorPassing | 0x0001 | ermö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:
Konstante | Wert | Beschreibung |
---|---|---|
QDBusConnection::ExportAdaptors | 0x01 | den Inhalt der in diesem Objekt gefundenen Adaptoren exportieren |
QDBusConnection::ExportScriptableSlots | 0x10 | exportiert die skriptfähigen Slots dieses Objekts |
QDBusConnection::ExportScriptableSignals | 0x20 | exportiert die skriptfähigen Signale des Objekts |
QDBusConnection::ExportScriptableProperties | 0x40 | exportiert die skriptfähigen Eigenschaften des Objekts |
QDBusConnection::ExportScriptableInvokables | 0x80 | exportiert die skriptfähigen Invokables dieses Objekts |
QDBusConnection::ExportScriptableContents | 0xf0 | Kurzform für ExportScriptableSlots | ExportScriptableSignals | ExportScriptableProperties |
QDBusConnection::ExportNonScriptableSlots | 0x100 | exportiert die nicht skriptbaren Slots dieses Objekts |
QDBusConnection::ExportNonScriptableSignals | 0x200 | exportiert die nicht skriptbaren Signale dieses Objekts |
QDBusConnection::ExportNonScriptableProperties | 0x400 | exportiert die nicht-skriptbaren Eigenschaften dieses Objekts |
QDBusConnection::ExportNonScriptableInvokables | 0x800 | exportiert die nicht skriptbaren Invokables dieses Objekts |
QDBusConnection::ExportNonScriptableContents | 0xf00 | Kurzform für ExportNonScriptableSlots | ExportNonScriptableSignals | ExportNonScriptableProperties |
QDBusConnection::ExportAllSlots | ExportScriptableSlots|ExportNonScriptableSlots | alle Slots dieses Objekts exportieren |
QDBusConnection::ExportAllSignals | ExportScriptableSignals|ExportNonScriptableSignals | alle Signale dieses Objekts exportieren |
QDBusConnection::ExportAllProperties | ExportScriptableProperties|ExportNonScriptableProperties | alle Eigenschaften dieses Objekts exportieren |
QDBusConnection::ExportAllInvokables | ExportScriptableInvokables|ExportNonScriptableInvokables | alle Invokables dieses Objekts exportieren |
QDBusConnection::ExportAllContents | ExportScriptableContents|ExportNonScriptableContents | den gesamten Inhalt dieses Objekts exportieren |
QDBusConnection::ExportChildObjects | 0x1000 | die 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:
Konstante | Wert | Beschreibung |
---|---|---|
QDBusConnection::UnregisterNode | 0 | nur diesen Knoten deregistrieren: keine untergeordneten Objekte deregistrieren |
QDBusConnection::UnregisterTree | 1 | Deregistrierung 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.