| SYNOPSIS |
| #include <sys/driver_hooks.h> |
| |
| set_driver_hook(H_CREATE_CLONE, value) |
| |
| <value> being: |
| |
| void <name> (...) |
| int <closure> ( void ) |
| int <closure> (object obj_to_init, ...) |
| |
| DESCRIPTION |
| Optional hooks to initialize a cloned object after creation. |
| Hook setting can be unbound lambda closures, or the name of |
| the function (static or public) to call in the object. |
| |
| If the hook is a 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 clone_object() call. |
| If the hook is a closure without arguments, it is bound to |
| the object to be initalized and called. |
| |
| 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 any further arguments from the |
| clone_object() call, 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_super(H), create_lwobject(H) |