Die Klasse DBusConnection (gb.dbus) repräsentiert eine Verbindung einer d-bus-fähigen Anwendung zum System-D-Bus oder zum Session-D-Bus. Objekte der Klasse können Sie nicht erzeugen, da sich die Verbindung stets auf eine bereits existierende Verbindung bezieht.
Die Klasse DBusConnection verfügt nur über eine nutzbare Eigenschaft:
Eigenschaft | Datentyp | Beschreibung |
---|---|---|
Applications | String[ ] | Es wird eine Liste ausgegeben mit den D-Bus-Namen der Anwendungen, die am D-Bus registriert sind. |
Tag | Variant | Hinweis: Die Eigenschaft kann nicht genutzt werden, da sie innerhalb der Komponente gb.dbus bereits verwendet wird! |
Tabelle 24.9.4.1.1 : Eigenschaften der Klasse DBusConnection
Die Klasse DBusConnection besitzt diese beiden Methoden:
Methode | Beschreibung |
---|---|
Register ( Object As DBusObject, Path As String [ , Interfaces As String[] ] ) | Exportiert ein D-Bus-Objekt zum D-Bus, ab Gambas-Version 3.9. Für die Parameter gilt: Object ist das zu exportierende D-Bus-Objekt, Path ist der D-Bus-Pfad für das D-Bus-Objekt und Interface (optional) ermöglicht die Angabe der Namen von zusätzlichen Schnittstellen in einem String-Array, die für das angegebene D-Bus-Objekt implementiert wurden. |
Unregister ( Object As DBusObject ) | Meldet das im Parameter genannte D-Bus-Objekt vom D-Bus ab. |
Tabelle 24.9.4.2.1 : Methoden der Klasse DBusConnection
Da die Klasse DBusConnection eine Verbindung einer d-bus-fähigen Anwendung zum System-D-Bus oder zum Session-D-Bus repräsentiert, findet sie stets Verwendung im Zusammenspiel mit der Klasse DBusApplication – so wie im folgenden Beispiel:
Dim hDBusApplication As DBusApplication Dim hConnection As DBusConnection Dim sDBusName As String sDBusName = "org.freedesktop.NetworkManager" hConnection = DBus.System hDBusApplication = New DBusApplication(hConnection, sDBusName)
Der folgende Quelltext verwendet die Eigenschaft Applications, um die auf dem System-D-Bus registrierten Anwendungen anzuzeigen:
Private Sub GetDBusSsystemApplications2() Dim i As Integer Dim aSessionList As String[] Dim hConnection As DBusConnection hConnection = DBus.System aSessionList = hConnection.Applications.Sort(gb.Descent) For i = 0 To aSessionList.Max Print aSessionList[i] Next End
In der Konsole der Gambas-IDE werden alle registrierten Anwendungen auf dem System-D-Bus sortiert ausgegeben. Hier sehen Sie nur einen kleinen Ausschnitt:
org.freedesktop.thermald org.freedesktop.systemd1 org.freedesktop.login1 org.freedesktop.UPower org.freedesktop.UDisks2 org.freedesktop.RealtimeKit1 org.freedesktop.PolicyKit1 org.freedesktop.NetworkManager.dnsmasq org.freedesktop.NetworkManager org.freedesktop.ModemManager1 ... :1.9 :1.84 ... :1.20 :1.16 :1.1 :1.0