-
Notifications
You must be signed in to change notification settings - Fork 0
1.3 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 Sender 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 Skript, dieser darf in keinem anderen Skript, egal welchen Typs, nochmals vorkommen. -
**name**ist der in einer Auswahlliste präsentierte Name. -
**create**ist der Handler, der beim ersten Aufruf des Skripts 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.