Morgengrauner Dokumentation
Dateipfad: /home/mud/mudlib/doc//lfun/HookCallback
HookCallback()
**************
FUNKTION
========
mixed HookCallback(object hooksource, int hookid, mixed hookdata)
DEFINIERT IN
============
Eigenen Objekten
ARGUMENTE
=========
* hooksource: Das Objekt, in dem das Ereignis ausgeloest wurde
* hookid: Hooktyp des ausgeloesten Hooks
* hookdata: Daten des ausgeloesten Hooks (S. Doku des jeweiligen
Hooks.)
BESCHREIBUNG
============
Standard-Callback-Methode fuer Hooks. Wird beim Registrieren ein
Objekt uebergeben, wird versucht, eine Closure auf HookCallback()
an diesem Objekt zu erstellen. Man kann die Funktion auch anders
benennen und direkt als Closure uebergeben. Dies ist insb. bei
mehreren Hooks im gleichen Objekt hilfreich, weil es den Code
uebersichtlicher macht. Die Argumente muessen jedoch immer die
gleichen wie bei HookCallback() sein.
Die Reihenfolge des Aufrufs der Konsumenten ist Surveyor, Hook-
Modifikator, Data-Modifikator, Listener. Innerhalb der Gruppen wird
nach Prioritaet abgearbeitet. Ein Surveyor-Hook kann verhindern,
dass Hooks bestimmte Aenderungen durchfuehren.
RUECKGABEWERTE
==============
({, })
* Status: Eine der folgenden Konstanten: - H_NO_MOD: keine
Veraenderung - H_ALTERED: Daten des Hooks geaendert -
H_CANCELLED: Die Ausfuehrung der Hook-Kette und das ausloesende
Ereignis werden abgebrochen
Nicht alle Hooks unterstuetzen jeden Status.
* hookdata: Die ggf. modifizierten Hookdaten. (S. Doku des
jeweiligen Hooks.)
BEMERKUNGEN
===========
Bitte nutzt in neuem code nicht mixed, sondern unions entsprechend
der Dokumentation der verwendeten Hooks.
Auch reine Listener-Objekte muesse nein Array zurueckgeben, dessen
erstes Element H_NO_MOD sein muss.
SIEHE AUCH
==========
HRegisterToHook(), HUnregisterFromHook(), unions
Letzte Aenderung: 06.10.2022, Bugfix
zurück zur Übersicht