Software /
code /
prosody
Comparison
core/modulemanager.lua @ 1707:c55aa091f42a
modulemanager: Removed legacy disco#items hook
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Tue, 18 Aug 2009 12:52:44 +0500 |
parent | 1706:0e6ba1678d8e |
child | 1708:ac792c01dfcb |
comparison
equal
deleted
inserted
replaced
1706:0e6ba1678d8e | 1707:c55aa091f42a |
---|---|
326 end | 326 end |
327 function api:add_iq_handler(origin_type, xmlns, handler) | 327 function api:add_iq_handler(origin_type, xmlns, handler) |
328 self:add_handler(origin_type, "iq", xmlns, handler); | 328 self:add_handler(origin_type, "iq", xmlns, handler); |
329 end | 329 end |
330 | 330 |
331 addDiscoInfoHandler("*host", function(reply, to, from, node) | |
332 if #node == 0 then | |
333 local done = {}; | |
334 for module, identities in pairs(identities_table:get(to) or NULL) do -- for each module | |
335 for identity, attr in pairs(identities) do | |
336 if not done[identity] then | |
337 reply:tag("identity", attr):up(); -- TODO cache | |
338 done[identity] = true; | |
339 end | |
340 end | |
341 end | |
342 for module, identities in pairs(identities_table:get("*") or NULL) do -- for each module | |
343 for identity, attr in pairs(identities) do | |
344 if not done[identity] then | |
345 reply:tag("identity", attr):up(); -- TODO cache | |
346 done[identity] = true; | |
347 end | |
348 end | |
349 end | |
350 for module, features in pairs(features_table:get(to) or NULL) do -- for each module | |
351 for feature in pairs(features) do | |
352 if not done[feature] then | |
353 reply:tag("feature", {var = feature}):up(); -- TODO cache | |
354 done[feature] = true; | |
355 end | |
356 end | |
357 end | |
358 for module, features in pairs(features_table:get("*") or NULL) do -- for each module | |
359 for feature in pairs(features) do | |
360 if not done[feature] then | |
361 reply:tag("feature", {var = feature}):up(); -- TODO cache | |
362 done[feature] = true; | |
363 end | |
364 end | |
365 end | |
366 return next(done) ~= nil; | |
367 end | |
368 end); | |
369 | |
370 function api:add_feature(xmlns) | 331 function api:add_feature(xmlns) |
371 self:add_item("feature", xmlns); | 332 self:add_item("feature", xmlns); |
372 end | 333 end |
373 function api:add_identity(category, type, name) | 334 function api:add_identity(category, type, name) |
374 self:add_item("identity", {category = category, type = type, name = name}); | 335 self:add_item("identity", {category = category, type = type, name = name}); |