Software / code / prosody
Comparison
core/modulemanager.lua @ 2270:97f25da177af
modulemanager: Fire events module-loaded and module-unloaded, both receive a table with 'module' and 'host' fields, thanks bjc
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Tue, 01 Dec 2009 19:57:33 +0000 |
| parent | 2151:3bb7c1daa93f |
| child | 2278:8c10f13c0c20 |
comparison
equal
deleted
inserted
replaced
| 2265:7fe644057dc2 | 2270:97f25da177af |
|---|---|
| 156 end | 156 end |
| 157 else | 157 else |
| 158 log("error", "Error initializing module '%s' on '%s': %s", module_name, host, err or "nil"); | 158 log("error", "Error initializing module '%s' on '%s': %s", module_name, host, err or "nil"); |
| 159 end | 159 end |
| 160 if success then | 160 if success then |
| 161 hosts[host].events.fire_event("module-loaded", { module = module_name, host = host }); | |
| 161 return true; | 162 return true; |
| 162 else -- load failed, unloading | 163 else -- load failed, unloading |
| 163 unload(api_instance.host, module_name); | 164 unload(api_instance.host, module_name); |
| 164 return nil, err; | 165 return nil, err; |
| 165 end | 166 end |
| 198 (hosts[host] or prosody).events.remove_handler(event, handler); | 199 (hosts[host] or prosody).events.remove_handler(event, handler); |
| 199 end | 200 end |
| 200 end | 201 end |
| 201 hooks:remove(host, name); | 202 hooks:remove(host, name); |
| 202 modulemap[host][name] = nil; | 203 modulemap[host][name] = nil; |
| 204 hosts[host].events.fire_event("module-unloaded", { module = name, host = host }); | |
| 203 return true; | 205 return true; |
| 204 end | 206 end |
| 205 | 207 |
| 206 function reload(host, name, ...) | 208 function reload(host, name, ...) |
| 207 local mod = get_module(host, name); | 209 local mod = get_module(host, name); |