diff options
author | Matthew Wild <mwild1@gmail.com> | 2008-09-17 21:33:05 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2008-09-17 21:33:05 +0100 |
commit | f81b3a5d1fb29f636cb17e6520fea752c12767df (patch) | |
tree | d8fedebee8b85ea00c66f79255cf1193758455b0 | |
parent | 5e38a584202a8a91313921d4a3009406e61408d2 (diff) | |
parent | a8530586f59ae6cdd61c99546c1ffe8b9dfd10d7 (diff) | |
download | prosody-f81b3a5d1fb29f636cb17e6520fea752c12767df.tar.gz prosody-f81b3a5d1fb29f636cb17e6520fea752c12767df.zip |
Merged Paul's branch
-rw-r--r-- | doc/.directory | 3 | ||||
-rw-r--r-- | doc/lxmppd_core_offlinemessages.txt | 12 | ||||
-rw-r--r-- | doc/lxmppd_core_rostermanager.txt | 9 | ||||
-rw-r--r-- | doc/lxmppd_core_stanz_dispatch.txt | 26 | ||||
-rw-r--r-- | util/stanza.lua | 6 |
5 files changed, 53 insertions, 3 deletions
diff --git a/doc/.directory b/doc/.directory new file mode 100644 index 00000000..2bcc45d8 --- /dev/null +++ b/doc/.directory @@ -0,0 +1,3 @@ +[Dolphin] +Timestamp=2008,9,15,21,41,28 +ViewMode=1 diff --git a/doc/lxmppd_core_offlinemessages.txt b/doc/lxmppd_core_offlinemessages.txt new file mode 100644 index 00000000..fa06a8e0 --- /dev/null +++ b/doc/lxmppd_core_offlinemessages.txt @@ -0,0 +1,12 @@ +lxmppd -> core -> offlinemessages.lua + requires "util.datamanager" + module "offlinemessage" + +function new(user, host, stanza) + returns a function that stores the offline message it received + +This module offers storing of offline messages. + +Description: If the user that is supposed to get the message is not online, + we store the messages locally as offline messages for later + processing.
\ No newline at end of file diff --git a/doc/lxmppd_core_rostermanager.txt b/doc/lxmppd_core_rostermanager.txt new file mode 100644 index 00000000..4f501158 --- /dev/null +++ b/doc/lxmppd_core_rostermanager.txt @@ -0,0 +1,9 @@ +lxmppd -> core -> rostermanager.lua + requires "util.datamanager" + module "rostermanager" + +function log(type, message) + logs a message of type "rostermanager" + +function getroster(username, host) + Retrieves the user's roster from the server and loads it with the datamanager
\ No newline at end of file diff --git a/doc/lxmppd_core_stanz_dispatch.txt b/doc/lxmppd_core_stanz_dispatch.txt new file mode 100644 index 00000000..c76844e9 --- /dev/null +++ b/doc/lxmppd_core_stanz_dispatch.txt @@ -0,0 +1,26 @@ +lxmppd -> core -> stanza_dispatch + requires "util.stanza" + requires "core.usermanager" + +function init_stanza_dispatcher(session) + Initialises the stanza dispatcher which handles different stanza according + to their type and XML namespace, dispatching to required handlers. + + iq_handlers["jabber:iq:auth"] + A list of handlers for "jabber:iq:auth" stanzas -- authentication + (request) stanzas. + + function (stanza) + If one of username, password and resource are missing then it ????. + If not, then it validates the credentials and replies with the + appropriate stanza. + + iq_handlers["jabber:iq:roster"] + A list of handlers for "jabber:iq:roster" stanzas -- roster management + + function (stanza) + Parses the type of stanza for roster management and does what is + requested (roster retrieval, etc.) + + function (stanza) + Validates the stanza and calls the required handler diff --git a/util/stanza.lua b/util/stanza.lua index 35277e9c..3a17fc20 100644 --- a/util/stanza.lua +++ b/util/stanza.lua @@ -1,6 +1,6 @@ local t_insert = table.insert; local t_remove = table.remove; -local format = string.format; +local s_format = string.format; local tostring = tostring; local setmetatable = setmetatable; local pairs = pairs; @@ -97,10 +97,10 @@ function stanza_mt.__tostring(t) local attr_string = ""; if t.attr then - for k, v in pairs(t.attr) do if type(k) == "string" then attr_string = attr_string .. format(" %s='%s'", k, tostring(v)); end end + for k, v in pairs(t.attr) do if type(k) == "string" then attr_string = attr_string .. s_format(" %s='%s'", k, tostring(v)); end end end - return format("<%s%s>%s</%s>", t.name, attr_string, children_text, t.name); + return s_format("<%s%s>%s</%s>", t.name, attr_string, children_text, t.name); end function stanza_mt.__add(s1, s2) |