mirror of
https://github.com/ldmud/ldmud
synced 2026-08-12 14:26:05 -04:00
Driver hooks that accepted lfun closures before can now handle any type of closure. Also the H_CREATE_* hooks can now handle any type of closure.
35 lines
1.3 KiB
Text
35 lines
1.3 KiB
Text
SYNOPSIS
|
|
#include <sys/driver_hooks.h>
|
|
|
|
set_driver_hook(H_CREATE_LWOBJECT, value)
|
|
|
|
<value> being:
|
|
|
|
void <name> (...)
|
|
void <closure> ()
|
|
void <closure> (lwobject obj_to_init, ...)
|
|
|
|
DESCRIPTION
|
|
Optional hooks to initialize a lightweight object after creation.
|
|
Hook setting can be any closure, or the name of the function
|
|
(static or public) to call in the object.
|
|
|
|
If the hook is an unbound lambda closure expecting arguments,
|
|
it is bound to the current object and called with the created
|
|
object as the first argument and any further arguments from the
|
|
new_lwobject() call. If the hook is an unbound lambda closure
|
|
without arguments, it is bound to the object to be initalized and
|
|
called. If the hook is any other type of closure, it is called
|
|
with the created object as the first argument and any further
|
|
arguments from the new_lwobject() call.
|
|
|
|
If the hook is defined as the name of an lfun in the lightweight
|
|
object, it is called in the new lwobject with any further arguments
|
|
from the new_lwobject() call.
|
|
|
|
HISTORY
|
|
LDMud 3.6.5 introduced lightweight objects.
|
|
|
|
SEE ALSO
|
|
hooks(C), create_lwobject_copy(H), create_lwobject_restore(H),
|
|
create_ob(H), create_super(H), create_clone(H)
|