The (static) class DBusObject (gb.dbus) is the parent class for all objects that you can export to the D-Bus.
Each method that you define in a Gambas D-Bus object inherits from the class DBusObject as the source code of TService.class shows:
' Gambas class file Inherits DBusObject Create Static Public Function GetTemperature(Trigger As String) As RValue … End
For example, the source code in the file FMain.class declares a (gambas) D-Bus object of type TService and registers it on the Session D-Bus. If the server is terminated, the D-Bus object is logged off from the D-Bus, which the TService object made available to all d-bus-compatible applications for use.
' 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
Two commented server projects can be found in chapters 24.9.8.1 Project1 and 24.9.8.2 Project2.