Die (statische) Klasse DBusObject (gb.dbus) ist die Elternklasse für alle Objekte, die Sie zum D-Bus exportieren können.
Jede Methode, die Sie in einem Gambas-D-Bus-Objekt definieren, erbt von der Klasse DBusObject wie es der Quelltext von TService.class zeigt:
' Gambas class file Inherits DBusObject Create Static Public Function GetTemperature(Trigger As String) As RValue … End
Der Quelltext in der Datei FMain.class zum Beispiel deklariert ein (Gambas-)D-Bus-Objekt von Typ TService und registriert es am Session-D-Bus. Wird der Server beendet, dann wird das D-Bus-Objekt vom D-Bus abgemeldet, welches das Objekt TService allen d-bus-fähigen Anwendungen zur Nutzung bereitstellte.
' Gambas class file
Public hDBusObject As TService
Public Sub Form_Open()
FMain.Resizable = False
FMain.Caption = ("The data server is activated")
DBus.Unique = True
hDBusObject = New TService
Try DBus.Session.Register(hDBusObject, "/TService")
If Error Then
Message.Error("An instance of " & Application.Name & " already exists.")
FMain.Close()
Endif
End
Public Sub Form_Close()
If DBus.IsRegistered(hDBusObject) Then DBus.Session.Unregister(hDBusObject)
FMain.Close()
End
Zwei kommentierte Server-Projekte finden Sie in den Kapiteln 24.9.8.1 Projekt1 und 24.9.8.2 Projekt2.