diff -r c7519f0c9a2c -r c9bc58e84e96 core/componentmanager.lua --- a/core/componentmanager.lua Sat Jan 03 18:46:52 2009 +0500 +++ b/core/componentmanager.lua Wed Jan 07 20:02:49 2009 +0500 @@ -21,7 +21,8 @@ local log = require "util.logger".init("componentmanager"); -local module_load = require "core.modulemanager".load; +local module_load = require "core.modulemanager".load; +local module_unload = require "core.modulemanager".unload; local jid_split = require "util.jid".split; local hosts = hosts; @@ -56,5 +57,17 @@ log("error", "Attempt to set component for existing host: "..host); end end + +function deregister_component(host, component) + if components[host] then + module_unload(host, "dialback"); + components[host] = nil; + hosts[host] = nil; + log("debug", "component removed: "..host); + return true; + else + log("error", "Attempt to remove component for non-existing host: "..host); + end +end return _M;