Added function add_feature to modules API (for adding disco features)
authorWaqas Hussain <waqas20@gmail.com>
Thu, 4 Dec 2008 15:07:22 +0000 (20:07 +0500)
committerWaqas Hussain <waqas20@gmail.com>
Thu, 4 Dec 2008 15:07:22 +0000 (20:07 +0500)
core/modulemanager.lua

index d53600378f68d71b4d19ba8521a46cb91c05e0f3..532a0f862512699eed79e53e029328bd51b19fa9 100644 (file)
@@ -22,7 +22,8 @@
 local plugin_dir = CFG_PLUGINDIR or "./plugins/";
 
 local logger = require "util.logger";
-local log = logger.init("modulemanager")
+local log = logger.init("modulemanager");
+local addDiscoInfoHandler = require "core.discomanager".addDiscoInfoHandler;
 
 local loadfile, pcall = loadfile, pcall;
 local setmetatable, setfenv, getfenv = setmetatable, setfenv, getfenv;
@@ -172,6 +173,15 @@ function api:add_iq_handler(origin_type, xmlns, handler)
        _add_iq_handler(self, origin_type, xmlns, handler);
 end
 
+function api:add_feature(xmlns)
+       addDiscoInfoHandler(self.host, function(reply, to, from, node)
+               if #node == 0 then
+                       reply:tag("feature", {var = xmlns}):up();
+                       return true;
+               end
+       end);
+end
+
 
 do
        local event_handlers = {};