Skip to content

1.3 Registrierung

Udo edited this page Jul 4, 2024 · 11 revisions

die Registrierung

Was bedeutet "Registrierung" ? Alle auf dem Sender gefunden scripte müssen beim Start des Senders "registriert" und daher dem Betriebssystem bekannt gemacht werden. Dies geschieht unabhängig davon, welche Scripte im jeweiligen Modell überhaupt verwendet werden. Der Senderr besitzt nach Beenden des Bootvorgangs quasi einen "Katalog" von verfügbaren scripten der jeweiligen Typklassen und kann daraufhin während der Bedienung Auswahllisten präsentieren.

Jedes lua script unterteilt sich in gewisse „Module“, sogenannte handler, die jeweils spezielle Aufgabengebiete abdecken. (z.B. Datenverarbeitung im Hintergrund, Display ansteuern / zeichnen, widget konfigurieren, Konfiguration lesen bzw speichen, Ereignisse abfangen und auswerten….).

Auf jeden Fall muss jedes script den sogenannten init-handler definiert haben, damit beim Senderstart das jeweilige script registriert wird. In dem Vorgang wird auch mit angegeben, welche „module“, also weiteren handler, im script benutzt werden.

Die Methode so ein script zu registrieren ist eine „Systemfunktion“ und damit aus der Klasse system

Ein widget wird beispielsweise mit der Methode „system.registerWidget()“ deklariert. Als Code-snippet das mögliche Beispiel eines kompletten init Handlers für ein widget:


local function init()
system.registerWidget({key="Xample", name=“Beispiel“, create=create, wakeup=wakeup, paint=paint})
end

  • key ist der EINDEUTIGE Schlüssel für das script, dieser darf in keinem anderen script, egal welchen Typs, nochmals vorkommen
  • name ist der in einer Auswahlliste präsentierte Name
  • create ist der handler, der beim ersten Aufruf des scripts ausgeführt wird und wird der funktion gleichen namens „create“ zugewiesen
  • entsprechend wird der Hintergrund handler wakeup definiert
  • und ebenso der paint handler für grafische Darstellungen

Eine detailierte Übersicht der script-Typ spezifischen Registrierungs Methoden sowie der parameter sind der Online Doku bzw dem Lua Reference Guide zu entnehmen, Quelle dazu wird später noch gelistet.

Clone this wiki locally