| 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) |