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.