Software /
code /
prosody
Annotate
core/discomanager.lua @ 393:885a1864cd97
Ahem, a bit of an identity crisis..
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Sun, 23 Nov 2008 10:20:56 +0500 |
parent | 388:9f520efc89ba |
child | 419:af362df8e6fd |
rev | line source |
---|---|
388 | 1 |
2 local helper = require "util.discohelper".new(); | |
3 local hosts = hosts; | |
4 local jid_split = require "util.jid".split; | |
5 local jid_bare = require "util.jid".bare; | |
6 local usermanager_user_exists = require "core.usermanager".user_exists; | |
7 local rostermanager_is_contact_subscribed = require "core.rostermanager".is_contact_subscribed; | |
8 | |
9 do | |
10 helper:addDiscoInfoHandler("*host", function(reply, to, from, node) | |
11 if hosts[to] then | |
393
885a1864cd97
Ahem, a bit of an identity crisis..
Waqas Hussain <waqas20@gmail.com>
parents:
388
diff
changeset
|
12 reply:tag("identity", {category="server", type="im", name="lxmppd"}):up(); |
388 | 13 return true; |
14 end | |
15 end); | |
16 helper:addDiscoInfoHandler("*node", function(reply, to, from, node) | |
17 local node, host = jid_split(to); | |
18 if hosts[host] and rostermanager_is_contact_subscribed(node, host, jid_bare(from)) then | |
19 reply:tag("identity", {category="account", type="registered"}):up(); | |
20 return true; | |
21 end | |
22 end); | |
23 end | |
24 | |
25 module "discomanager" | |
26 | |
27 function handle(stanza) | |
28 return helper:handle(stanza); | |
29 end | |
30 | |
31 function addDiscoItemsHandler(jid, func) | |
32 return helper:addDiscoItemsHandler(jid, func); | |
33 end | |
34 | |
35 function addDiscoInfoHandler(jid, func) | |
36 return helper:addDiscoInfoHandler(jid, func); | |
37 end | |
38 | |
39 return _M; |