Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Kommunikation und Netzwerk

k24:k24.9:k24.9.1:start

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

Wir verwenden Cookies, um unser Internetangebot optimal zu gestalten. Durch weitere Nutzung dieser Webseite stimmen Sie der Verwendung von Cookies zu. Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung
k24/k24.9/k24.9.1/start.txt · Zuletzt geändert: 09.04.2018 (Externe Bearbeitung)

Seiten-Werkzeuge