Das Programm DBusView nutzt die Eigenschaften DBus.Session.Applications und DBus.System.Applications, um Listen zu den am D-Bus registrierten Anwendungen zu erzeugen. Das gelingt, weil sowohl die Eigenschaft DBus.Session als auch DBus.System vom Datentyp DBusConnection sind und die Klasse DBusConnection die Eigenschaft Applications besitzt, die eine Liste mit den Namen aller am ausgewählten D-Bus angeschlossenen Anwendungen zurück gibt:
Abbildung 24.9.2.1.1: Registrierte Anwendungen auf dem Session-D-Bus und auf dem System-D-Bus
Der Quelltext ist erfreulich kurz:
' Gambas class file Public Sub Form_Open() FMain.Resizable = False GetDBusSessionApplications() GetDBusSystemApplications() End Public Sub btnRefresh_Click() GetDBusSessionApplications() GetDBusSystemApplications() End Private Sub GetDBusSessionApplications() Dim i As Integer Dim aSessionList As String[] txaSession.Clear() aSessionList = DBus.Session.Applications.Sort(gb.Descent) For i = 0 To aSessionList.Max txaSession.Insert(aSessionList[i] & gb.NewLine) Next txaSession.Pos = 0 End Private Sub GetDBusSystemApplications() Dim i As Integer Dim aSystemList As String[] txaSystem.Clear() aSystemList = DBus.System.Applications.Sort(gb.Descent) For i = 0 To aSystemList.Max txaSystem.Insert(aSystemList[i] & gb.NewLine) Next txaSystem.Pos = 0 End Public Sub btnClose_Click() FMain.Close() End