[next] telepathy-spec: Update Entity_Type and Handle doc
Guillaume Desmottes
gdesmott at kemper.freedesktop.org
Thu Feb 13 16:05:50 CET 2014
Module: telepathy-spec
Branch: next
Commit: de9fc16d05f5d614e92742801436cb2563178baa
URL: http://cgit.freedesktop.org/telepathy/telepathy-spec/commit/?id=de9fc16d05f5d614e92742801436cb2563178baa
Author: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
Date: Wed Feb 12 17:40:52 2014 +0100
Update Entity_Type and Handle doc
---
spec/Connection.xml | 85 ++++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 74 insertions(+), 11 deletions(-)
diff --git a/spec/Connection.xml b/spec/Connection.xml
index 38f0a95..a16c200 100644
--- a/spec/Connection.xml
+++ b/spec/Connection.xml
@@ -149,40 +149,103 @@ USA.</p>
</property>
<tp:enum name="Entity_Type" type="u">
+ <tp:docstring>
+ <p>Enumeration describing the type of entity with which a channel
+ communicates.</p>
+
+ <p>For instance, a text chat or VoIP call with a person or automated system has
+ entity type <tp:value-ref type="Entity_Type">Contact</tp:value-ref>,
+ a text chatroom or a VoIP call to a conferencing
+ system ideally has entity type <tp:value-ref type="Entity_Type">Room</tp:value-ref>,
+ and a channel listing chatrooms available on a server has entity type
+ <tp:value-ref type="Entity_Type">None</tp:value-ref>.</p>
+ </tp:docstring>
<tp:enumvalue suffix="None" value="0">
<tp:docstring>
- A "null" handle type used to indicate the absence of a handle.
- When a handle type and a handle appear as a pair, if the handle
- type is zero, the handle must also be zero.
+ <p>The absence of a entity, <tp:value-ref type="Entity_Type">Contact</tp:value-ref>,
+ <tp:value-ref type="Entity_Type">Room</tp:value-ref>, etc.
+ For instance, <tp:dbus-ref namespace='imt1.Channel.Type'>ContactSearch1</tp:dbus-ref>,
+ <tp:dbus-ref namespace='imt1.Channel.Type'>RoomList1</tp:dbus-ref>,
+ <tp:dbus-ref namespace='imt1.Channel.Type'>ServerAuthentication1</tp:dbus-ref> and
+ <tp:dbus-ref namespace='imt1.Channel.Type'>ServerTLSConnection1</tp:dbus-ref>
+ channels do not communicate with a specific entity, so they have this channel type.</p>
+
+ <p>This entity type is also used for chatrooms that cannot be
+ addressed by name (so users cannot join by typing a name or number,
+ only by being invited), such as multi-user "switchboards" in MSNP.</p>
+
+ <p>Where this appears alongside a <tp:type>Handle</tp:type>
+ and/or Identifier, the handle MUST be 0 and the identifier MUST be
+ the empty string.</p>
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="Contact" value="1">
<tp:docstring>
- A contact
+ <p>A contact, i.e. a person or automated system.</p>
+
+ <p>The corresponding identifier is a normalized form of the
+ contact's unique machine-readable identifier in this particular
+ protocol (such as an XMPP JID, SIP URI, AIM screen-name, ICQ number
+ or IRC nickname). For instance, any parts of the identifier
+ that are defined to be case-insensitive by the protocol SHOULD
+ be normalized to lower-case.</p>
+
+ <p>In protocols where conferencing systems cannot reliably be
+ distinguished from individuals, conferencing systems MAY
+ also appear with
+ <tp:value-ref type="Entity_Type">Contact</tp:value-ref>.</p>
+
+ <tp:rationale>
+ For instance, calls to/from SIP teleconferencing "rooms"
+ typically appear as a simple SIP URI
+ </tp:rationale>
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="Room" value="2">
<tp:docstring>
- A chat room
+ <p>A chatroom or teleconferencing system that can be addressed
+ by name.</p>
+
+ <p>The corresponding identifier is a normalized form of the
+ room's unique machine-readable identifier in this particular
+ protocol, such as the JID "jdev at conference.jabber.org"
+ on XMPP, or the channel name "#telepathy" on IRC.</p>
</tp:docstring>
</tp:enumvalue>
</tp:enum>
<tp:simple-type name="Handle" type="u" array-name="Handle_List">
- <tp:docstring>An unsigned 32-bit integer representing a
- handle</tp:docstring>
+ <tp:docstring>
+ <p>An unsigned 32-bit integer representing a string. A handle is
+ meaningless on its own, and must be paired with a
+ <tp:type>Entity_Type</tp:type>.
+ Among nonzero handles with the same <tp:type>Entity_Type</tp:type>,
+ there is a bidirectional mapping between handles and strings.</p>
+
+ <p>The handle 0 is special, and represents the absence of a
+ contact, room etc. It corresponds to
+ <tp:value-ref type="Entity_Type">None</tp:value-ref>.</p>
+ </tp:docstring>
</tp:simple-type>
<tp:simple-type name="Contact_Handle" type="u"
array-name="Contact_Handle_List">
- <tp:docstring>An unsigned 32-bit integer representing a handle of type
- Entity_Type_Contact</tp:docstring>
+ <tp:docstring>
+ A nonzero <tp:type>Handle</tp:type> of type
+ <tp:value-ref type="Entity_Type">Contact</tp:value-ref>,
+ or 0 to represent the absence of a contact
+ (<tp:value-ref type="Entity_Type">None</tp:value-ref>).
+ </tp:docstring>
</tp:simple-type>
<tp:simple-type name="Room_Handle" type="u"
array-name="Room_Handle_List">
- <tp:docstring>An unsigned 32-bit integer representing a handle of type
- Entity_Type_Room</tp:docstring>
+ <tp:docstring>
+ A nonzero <tp:type>Handle</tp:type> of type
+ <tp:value-ref type="Entity_Type">Room</tp:value-ref>,
+ or 0 to represent the absence of a room
+ (<tp:value-ref type="Entity_Type">None</tp:value-ref>).
+ </tp:docstring>
</tp:simple-type>
<tp:enum name="Connection_Status" plural="Connection_Statuses" type="u">
More information about the telepathy-commits
mailing list