author | Kim Alvefur <zash@zash.se> |
Mon, 24 Aug 2015 23:09:58 +0200 | |
changeset 1787 | b31fe2d22310 |
parent 1590 | fbb4cd2922a1 |
child 3399 | eaf0b1e95016 |
permissions | -rw-r--r-- |
1483
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 |
local st = require "util.stanza"; |
1590
fbb4cd2922a1
mod_csi: Update namespace to published version
Kim Alvefur <zash@zash.se>
parents:
1483
diff
changeset
|
2 |
local xmlns_csi = "urn:xmpp:csi:0"; |
fbb4cd2922a1
mod_csi: Update namespace to published version
Kim Alvefur <zash@zash.se>
parents:
1483
diff
changeset
|
3 |
local csi_feature = st.stanza("csi", { xmlns = xmlns_csi }); |
1483
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 |
|
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 |
module:hook("stream-features", function (event) |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 |
if event.origin.username then |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 |
event.features:add_child(csi_feature); |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 |
end |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 |
end); |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 |
|
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 |
function refire_event(name) |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 |
return function (event) |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 |
if event.origin.username then |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 |
module:fire_event(name, event); |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 |
return true; |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 |
end |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 |
end; |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 |
end |
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 |
|
1590
fbb4cd2922a1
mod_csi: Update namespace to published version
Kim Alvefur <zash@zash.se>
parents:
1483
diff
changeset
|
20 |
module:hook("stanza/"..xmlns_csi..":active", refire_event("csi-client-active")); |
fbb4cd2922a1
mod_csi: Update namespace to published version
Kim Alvefur <zash@zash.se>
parents:
1483
diff
changeset
|
21 |
module:hook("stanza/"..xmlns_csi..":inactive", refire_event("csi-client-inactive")); |
1483
90fe03e65d2c
mod_csi: Client State Indication support
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 |