Software / code / prosody
Comparison
core/modulemanager.lua @ 2828:fbddc3ed0d09
modulemanager: Fire item-removed events on module unload.
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Thu, 10 Dec 2009 03:02:04 +0500 |
| parent | 2072:464a5392bc80 |
| child | 2923:b7049746bd29 |
comparison
equal
deleted
inserted
replaced
| 2827:b9df83793d84 | 2828:fbddc3ed0d09 |
|---|---|
| 195 for handler in pairs(handlers or NULL) do | 195 for handler in pairs(handlers or NULL) do |
| 196 (hosts[host] or prosody).events.remove_handler(event, handler); | 196 (hosts[host] or prosody).events.remove_handler(event, handler); |
| 197 end | 197 end |
| 198 end | 198 end |
| 199 hooks:remove(host, name); | 199 hooks:remove(host, name); |
| 200 if mod.module.items then -- remove items | |
| 201 for key,t in pairs(mod.module.items) do | |
| 202 for i = #t,1,-1 do | |
| 203 local value = t[i]; | |
| 204 t[i] = nil; | |
| 205 hosts[host].events.fire_event("item-removed/"..key, {source = self, item = value}); | |
| 206 end | |
| 207 end | |
| 208 end | |
| 200 modulemap[host][name] = nil; | 209 modulemap[host][name] = nil; |
| 201 return true; | 210 return true; |
| 202 end | 211 end |
| 203 | 212 |
| 204 function reload(host, name, ...) | 213 function reload(host, name, ...) |