Automated merge with http://waqas.ath.cx:8000/
[prosody.git] / core / eventmanager.lua
1 \r
2 local t_insert = table.insert;\r
3 local ipairs = ipairs;\r
4 \r
5 module "eventmanager"\r
6 \r
7 local event_handlers = {};\r
8 \r
9 function add_event_hook(name, handler)\r
10         if not event_handlers[name] then\r
11                 event_handlers[name] = {};\r
12         end\r
13         t_insert(event_handlers[name] , handler);\r
14 end\r
15 \r
16 function fire_event(name, ...)\r
17         local event_handlers = event_handlers[name];\r
18         if event_handlers then\r
19                 for name, handler in ipairs(event_handlers) do\r
20                         handler(...);\r
21                 end\r
22         end\r
23 end\r
24 \r
25 return _M;