Software / code / prosody
Comparison
core/moduleapi.lua @ 6791:e813e8cf6046
Merge 0.10->trunk
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 20 Aug 2015 13:05:22 +0200 |
| parent | 6666:42fdc8dddf04 |
| parent | 6779:6236668da30a |
| child | 7116:ecba5fee4867 |
comparison
equal
deleted
inserted
replaced
| 6776:4412a2307c89 | 6791:e813e8cf6046 |
|---|---|
| 5 -- This project is MIT/X11 licensed. Please see the | 5 -- This project is MIT/X11 licensed. Please see the |
| 6 -- COPYING file in the source package for more information. | 6 -- COPYING file in the source package for more information. |
| 7 -- | 7 -- |
| 8 | 8 |
| 9 local config = require "core.configmanager"; | 9 local config = require "core.configmanager"; |
| 10 local modulemanager; -- This gets set from modulemanager | |
| 11 local array = require "util.array"; | 10 local array = require "util.array"; |
| 12 local set = require "util.set"; | 11 local set = require "util.set"; |
| 13 local it = require "util.iterators"; | 12 local it = require "util.iterators"; |
| 14 local logger = require "util.logger"; | 13 local logger = require "util.logger"; |
| 15 local pluginloader = require "util.pluginloader"; | 14 local pluginloader = require "util.pluginloader"; |
| 145 if not f then error("Failed to load plugin library '"..lib.."', error: "..n); end -- FIXME better error message | 144 if not f then error("Failed to load plugin library '"..lib.."', error: "..n); end -- FIXME better error message |
| 146 return f(); | 145 return f(); |
| 147 end | 146 end |
| 148 | 147 |
| 149 function api:depends(name) | 148 function api:depends(name) |
| 149 local modulemanager = require"core.modulemanager"; | |
| 150 if not self.dependencies then | 150 if not self.dependencies then |
| 151 self.dependencies = {}; | 151 self.dependencies = {}; |
| 152 self:hook("module-reloaded", function (event) | 152 self:hook("module-reloaded", function (event) |
| 153 if self.dependencies[event.module] and not self.reloading then | 153 if self.dependencies[event.module] and not self.reloading then |
| 154 self:log("info", "Auto-reloading due to reload of %s:%s", event.host, event.module); | 154 self:log("info", "Auto-reloading due to reload of %s:%s", event.host, event.module); |
| 326 end | 326 end |
| 327 end | 327 end |
| 328 end | 328 end |
| 329 | 329 |
| 330 function api:get_host_items(key) | 330 function api:get_host_items(key) |
| 331 local modulemanager = require"core.modulemanager"; | |
| 331 local result = modulemanager.get_items(key, self.host) or {}; | 332 local result = modulemanager.get_items(key, self.host) or {}; |
| 332 return result; | 333 return result; |
| 333 end | 334 end |
| 334 | 335 |
| 335 function api:handle_items(item_type, added_cb, removed_cb, existing) | 336 function api:handle_items(item_type, added_cb, removed_cb, existing) |
| 435 | 436 |
| 436 function api:measure_global_event(event_name, stat_name) | 437 function api:measure_global_event(event_name, stat_name) |
| 437 return self:measure_object_event(prosody.events.wrappers, event_name, stat_name); | 438 return self:measure_object_event(prosody.events.wrappers, event_name, stat_name); |
| 438 end | 439 end |
| 439 | 440 |
| 440 function api.init(mm) | |
| 441 modulemanager = mm; | |
| 442 return api; | |
| 443 end | |
| 444 | |
| 445 return api; | 441 return api; |