45 if map then |
45 if map then |
46 map[handler] = nil; |
46 map[handler] = nil; |
47 _rebuild_index(event); |
47 _rebuild_index(event); |
48 end |
48 end |
49 end; |
49 end; |
50 local function add_plugin(plugin) |
50 local function add_handlers(handlers) |
51 for event, handler in pairs(plugin) do |
51 for event, handler in pairs(handlers) do |
52 add_handler(event, handler); |
52 add_handler(event, handler); |
53 end |
53 end |
54 end; |
54 end; |
55 local function remove_plugin(plugin) |
55 local function remove_handlers(handlers) |
56 for event, handler in pairs(plugin) do |
56 for event, handler in pairs(handlers) do |
57 remove_handler(event, handler); |
57 remove_handler(event, handler); |
58 end |
58 end |
59 end; |
59 end; |
60 local function _create_dispatcher(event) -- FIXME duplicate code in fire_event |
60 local function _create_dispatcher(event) -- FIXME duplicate code in fire_event |
61 local h = handlers[event]; |
61 local h = handlers[event]; |