aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2008-10-22 23:12:26 +0100
committerMatthew Wild <mwild1@gmail.com>2008-10-22 23:12:26 +0100
commite92bd250d19de43dfe0584108d12577bbe1a1c2a (patch)
tree01823b0990afedda8cc7ca448f9f975cd6e9d936 /doc
parentee7b432ab1d450a42fae24b37c79b7fbda7f4e6b (diff)
parentc3ca55e0195d03c3e0c23590c387c49068be7723 (diff)
downloadprosody-e92bd250d19de43dfe0584108d12577bbe1a1c2a.tar.gz
prosody-e92bd250d19de43dfe0584108d12577bbe1a1c2a.zip
Merge roster & presence from waqas
Diffstat (limited to 'doc')
-rw-r--r--doc/roster_format.txt18
-rw-r--r--doc/session.txt7
2 files changed, 25 insertions, 0 deletions
diff --git a/doc/roster_format.txt b/doc/roster_format.txt
new file mode 100644
index 00000000..9094b5a1
--- /dev/null
+++ b/doc/roster_format.txt
@@ -0,0 +1,18 @@
+
+This file documents the structure of the roster object.
+
+table roster {
+ [string bare_jid] = roster_item
+}
+
+table roster_item {
+ string subscription = "none" | "to" | "from" | "both"
+ string name = Opaque string set by client. (optional)
+ set groups = a set of opaque strings set by the client
+}
+
+The roster is available as
+ hosts[host].sessions[username].roster
+and a copy is made to session.roster for all sessions.
+
+All modifications to a roster should be done through the rostermanager.
diff --git a/doc/session.txt b/doc/session.txt
index 82fe5ce4..e475e45b 100644
--- a/doc/session.txt
+++ b/doc/session.txt
@@ -14,8 +14,15 @@ session {
resource -- the resource part of the client's full jid (not defined before resource binding)
full_jid -- convenience for the above 3 as string in username@host/resource form (not defined before resource binding)
priority -- the resource priority, default: 0 (not defined before initial presence)
+ presence -- the last non-directed presence. initially nil.
+ interested -- true if the resource requested the roster. Interested resources recieve roster updates. Initially nil.
+ roster -- the user's roster. Loaded as soon as the resource is bound (session becomes a connected resource).
-- methods --
send(x) -- converts x to a string, and writes it to the connection
disconnect(x) -- Disconnect the user and clean up the session, best call sessionmanager.destroy_session() instead of this in most cases
}
+
+if session.full_jid (also session.roster and session.resource) then this is a "connected resource"
+if session.presence then this is an "available resource"
+if session.interested then this is an "interested resource"