+-- Prosody IM v0.2
+-- Copyright (C) 2008 Matthew Wild
+-- Copyright (C) 2008 Waqas Hussain
+--
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 2
+-- of the License, or (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program; if not, write to the Free Software
+-- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+--
+
+
\r
local helper = require "util.discohelper".new();\r
local hosts = hosts;\r
local jid_bare = require "util.jid".bare;\r
local usermanager_user_exists = require "core.usermanager".user_exists;\r
local rostermanager_is_contact_subscribed = require "core.rostermanager".is_contact_subscribed;\r
+local print = print;\r
\r
do\r
helper:addDiscoInfoHandler("*host", function(reply, to, from, node)\r
if hosts[to] then\r
- reply:tag("identity", {category="server", type="im", name="lxmppd"}):up();\r
+ reply:tag("identity", {category="server", type="im", name="Prosody"}):up();\r
return true;\r
end\r
end);\r
return true;\r
end\r
end);\r
+ helper:addDiscoItemsHandler("*host", function(reply, to, from, node)
+ if hosts[to] and hosts[to].type == "local" then
+ return true;
+ end
+ end);
end\r
\r
module "discomanager"\r
return helper:addDiscoInfoHandler(jid, func);\r
end\r
\r
+function set(plugin, var, origin)\r
+ -- TODO handle origin and host based on plugin.\r
+ local handler = function(reply, to, from, node) -- service discovery\r
+ if #node == 0 then\r
+ reply:tag("feature", {var = var}):up();\r
+ return true;\r
+ end\r
+ end\r
+ addDiscoInfoHandler("*node", handler);\r
+ addDiscoInfoHandler("*host", handler);\r
+end\r
+\r
return _M;\r