k24:k24.9:k24.9.1:start
Inhaltsverzeichnis
24.9.1 DBusObject
Die (statische) Klasse DBusObject (gb.dbus) ist die Elternklasse für alle Objekte, die Sie zum D-Bus exportieren können.
- Standardmäßig wird ein (Gambas-)D-Bus-Objekt nicht automatisch zum D-Bus exportiert.
- Um es zu exportieren, werden u.a. die beiden Methoden DBusConnection.Register(…) und DBusApplication.Connection.Register(…) eingesetzt.
24.9.1.1 Beispiel
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.
Download
k24/k24.9/k24.9.1/start.txt · Zuletzt geändert: von 127.0.0.1
