--- 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;