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

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k24/k24.9/k24.9.1/start.txt · Zuletzt geändert: 09.04.2018 (Externe Bearbeitung)

Seiten-Werkzeuge