aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2008-09-17 21:33:05 +0100
committerMatthew Wild <mwild1@gmail.com>2008-09-17 21:33:05 +0100
commitf81b3a5d1fb29f636cb17e6520fea752c12767df (patch)
treed8fedebee8b85ea00c66f79255cf1193758455b0
parent5e38a584202a8a91313921d4a3009406e61408d2 (diff)
parenta8530586f59ae6cdd61c99546c1ffe8b9dfd10d7 (diff)
downloadprosody-f81b3a5d1fb29f636cb17e6520fea752c12767df.tar.gz
prosody-f81b3a5d1fb29f636cb17e6520fea752c12767df.zip
Merged Paul's branch
-rw-r--r--doc/.directory3
-rw-r--r--doc/lxmppd_core_offlinemessages.txt12
-rw-r--r--doc/lxmppd_core_rostermanager.txt9
-rw-r--r--doc/lxmppd_core_stanz_dispatch.txt26
-rw-r--r--util/stanza.lua6
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)