core/eventmanager.lua

changeset 2986
fff153f7f4de
parent 2923
b7049746bd29
equal deleted inserted replaced
2985:fde53d82fde0 2986:fff153f7f4de
8 8
9 9
10 local t_insert = table.insert; 10 local t_insert = table.insert;
11 local ipairs = ipairs; 11 local ipairs = ipairs;
12 12
13 local events = _G.prosody.events;
14
13 module "eventmanager" 15 module "eventmanager"
14 16
15 local event_handlers = {}; 17 local event_handlers = {};
16 18
17 function add_event_hook(name, handler) 19 function add_event_hook(name, handler)
18 if not event_handlers[name] then 20 return events.add_handler(name, handler);
19 event_handlers[name] = {};
20 end
21 t_insert(event_handlers[name] , handler);
22 end 21 end
23 22
24 function fire_event(name, ...) 23 function fire_event(name, ...)
25 local event_handlers = event_handlers[name]; 24 return events.fire_event(name, ...);
26 if event_handlers then
27 for name, handler in ipairs(event_handlers) do
28 handler(...);
29 end
30 end
31 end 25 end
32 26
33 return _M; 27 return _M;

mercurial