aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2009-01-29 02:14:16 +0000
committerMatthew Wild <mwild1@gmail.com>2009-01-29 02:14:16 +0000
commit75a4fe601018e84510f1526faa9d155a9299e528 (patch)
tree45e6f12279bb8a6bde35d3fd471d3ad050e66a57
parente0611386411d89448ff5056e162b48a0b5cd3de3 (diff)
downloadprosody-75a4fe601018e84510f1526faa9d155a9299e528.tar.gz
prosody-75a4fe601018e84510f1526faa9d155a9299e528.zip
mod_muc: Add support for being a component
-rw-r--r--plugins/mod_muc.lua15
1 files changed, 12 insertions, 3 deletions
diff --git a/plugins/mod_muc.lua b/plugins/mod_muc.lua
index f1b46eed..0b610835 100644
--- a/plugins/mod_muc.lua
+++ b/plugins/mod_muc.lua
@@ -8,7 +8,12 @@ local st = require "util.stanza";
local log = require "util.logger".init("mod_muc");
local multitable_new = require "util.multitable".new;
-local muc_domain = "conference."..module:get_host();
+if module:get_host_type() ~= "component" then
+ error("MUC should be loaded as a component, please see http://prosody.im/doc/components", 0);
+end
+
+local muc_domain = module:get_host();
+
local muc_name = "MUCMUCMUC!!!";
-- room_name -> room
@@ -256,7 +261,7 @@ function handle_to_domain(origin, stanza)
end
end
-component = register_component(muc_domain, function(origin, stanza)
+function handle_stanza(origin, stanza)
local to_node, to_host, to_resource = jid_split(stanza.attr.to);
if stanza.name == "presence" and stanza.attr.type ~= nil and stanza.attr.type ~= "unavailable" then
if type == "error" or type == "result" then return; end
@@ -272,7 +277,11 @@ component = register_component(muc_domain, function(origin, stanza)
if type == "error" or type == "result" then return; end
handle_to_domain(origin, stanza);
end
-end);
+end
+
+module.load_component = function()
+ return handle_stanza; -- Return the function that we want to handle incoming stanzas
+end
module.unload = function()
deregister_component(muc_domain);