| SYNOPSIS |
| #include <sys/driver_hooks.h> |
| |
| set_driver_hook(H_CREATE_SUPER, value) |
| |
| <value> being: |
| |
| void <name> ( void ) |
| int <closure> ( void ) |
| int <closure> (object obj_to_init) |
| |
| DESCRIPTION |
| Optional hooks to initialize a blueprint which is loaded by |
| inheritance 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 an argument, |
| it is bound to the current object and called with the created |
| object as argument. If the hook is an unbound lambda closure |
| without arguments, it is bound to the object to be initialized |
| and called. If the hook is any other type of closure, it is |
| called with the created object as argument. |
| |
| If the result of the closure call is a non-zero number, it is used |
| as the interval to wait before the first reset(), else the default |
| interval computed from TIME_TO_RESET is used. |
| |
| If the hook is defined as the name of an lfun in the object, |
| it is called in the object with no argument and any result |
| is ignored. |
| |
| HISTORY |
| LDMud 3.2.10 allowed static functions to be given by name. |
| LDMud 3.6.5 removed the argument given for the lfun call. |
| |
| SEE ALSO |
| hooks(C), create_ob(H), create_clone(H), create_lwobject(H) |