Mudlib *hooks* *************** Documentation for the object-hooks functions for the mudlib in */std/object/hooks.c*. Module Information ================== The hook module is included as part of OBJECT, and allows a general method of allowing keeping track of and calling hooks, along with a method if specifying how multiple hooks should be resolved. Functions ========= .. c:function:: void add_hook(string tag, function hook) add_hook(string tag, function hook) sets up the function 'hook' to be called whenever call_hooks(tag, ...) is done. Note that if you want to remove the tag later, you have to do so with the _exact_ same function pointer. e.g. function my_hook = (: my_hook_func :); add_hook("foo", my_hook); remove_hook("foo", my_hook); .. c:function:: void remove_hook(string tag, function hook) Remove a hook added with add_hook. The function pointer passed must be the same one that was passed to add_hook. see: add_hook .. c:function:: void hook_state(string tag, mixed hook, int state) hook_state(tag, hook, state) Either add or remove a hook based on the state 'state' .. c:function:: varargs mixed call_hooks(string tag, mixed func, mixed start, mixed *args...) Call a set of hooks, with the specified method for resolving multiple hooks. A setting from /include/hooks.h can be used, or a function pointer which is appropriate for implode()ing with the return values. E.g. call_hooks("foo", (: $1 + $2 :), 2) will return 2 + the sum of the return values of the hooks but 2 + call_hooks("foo", HOOK_SUM) is faster. see: implode see: add_hook *File generated by Lima 1.1a4 reStructured Text daemon.*