-
Notifications
You must be signed in to change notification settings - Fork 0
1.3 Registrierung
Was bedeutet "Registrierung"?
Alle auf dem Sender gefundenen Skripte müssen beim Start des Senders "registriert" und daher dem Betriebssystem bekannt gemacht werden.
Dies geschieht unabhängig davon, welche Skripte im jeweiligen Modell überhaupt verwendet werden.
Der Sender besitzt nach Beenden des Bootvorgangs quasi einen "Katalog" von verfügbaren Skripten der jeweiligen Typklassen und kann daraufhin während der Bedienung Auswahllisten präsentieren.
Jedes Lua-Skript 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. speichern, Ereignisse abfangen und auswerten….).
Auf jeden Fall muss jedes Skript den sogenannten init-Handler definiert haben, damit beim Senderstart das jeweilige Skript registriert wird. In dem Vorgang wird auch mit angegeben, welche „Module“, also weiteren Handler, im Skript benutzt werden.
Die Methode, so ein Skript 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-
keyist der EINDEUTIGE Schlüssel für das Skript, dieser darf in keinem anderen Skript, egal welchen Typs, nochmals vorkommen. -
nameist der in einer Auswahlliste präsentierte Name. -
createist der Handler, der beim ersten Aufruf des Skripts ausgeführt wird und wird der Funktion gleichen Namens „create“ zugewiesen. - Entsprechend wird der Hintergrund-Handler
wakeupdefiniert. - Und ebenso der
paintHandler für grafische Darstellungen.
Eine detaillierte Übersicht der skript-Typ spezifischen Registrierungs-Methoden sowie der Parameter sind der Online-Dokumentation bzw. dem Lua Reference Guide zu entnehmen. Quelle dazu wird später noch gelistet.