Software / code / prosody
File
core/eventmanager.lua @ 1315:bfcd3f0a49df
mod_console: Much improved module load/unload/reload commands
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 05 Jun 2009 19:57:29 +0100 |
| parent | 569:5216efe6088b |
| child | 1514:0c706c3d2e30 |
line wrap: on
line source
local t_insert = table.insert; local ipairs = ipairs; module "eventmanager" local event_handlers = {}; function add_event_hook(name, handler) if not event_handlers[name] then event_handlers[name] = {}; end t_insert(event_handlers[name] , handler); end function fire_event(name, ...) local event_handlers = event_handlers[name]; if event_handlers then for name, handler in ipairs(event_handlers) do handler(...); end end end return _M;