summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2007-09-27 15:18:54 +0000
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2007-09-27 15:18:54 +0000
commit1f3aaba1f201bc1df9f99e1c0fa056ab8fdca1cb (patch)
treec59620a017b57bee2bbd1c7d502065d15a32ea61 /spec
parenteffbc1659a6f360116ce3989f551e006f3df862a (diff)
update to spec 0.16.0
Diffstat (limited to 'spec')
-rw-r--r--spec/Channel_Interface_Group.xml20
-rw-r--r--spec/Channel_Type_Tubes.xml26
-rw-r--r--spec/all.xml2
3 files changed, 41 insertions, 7 deletions
diff --git a/spec/Channel_Interface_Group.xml b/spec/Channel_Interface_Group.xml
index 7da8c77..b9f1c9d 100644
--- a/spec/Channel_Interface_Group.xml
+++ b/spec/Channel_Interface_Group.xml
@@ -320,7 +320,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
</tp:enumvalue>
<tp:enumvalue suffix="Offline" value="1">
<tp:docstring>
- The change is due to a user going offline.
+ The change is due to a user going offline. Also used when
+ user is already offline, but this wasn't known previously.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="Kicked" value="2">
@@ -543,6 +544,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
member at all, unless they appear in the list. They may, for instance,
be placed into the remote pending list until a connection has been
established or the request acknowledged remotely.</p>
+
+ <p>If the local user joins a Group channel whose members or other state
+ cannot be discovered until the user joins (e.g. many chat room
+ implementations), the connection manager should ensure that the channel
+ is, as far as possible, in a consistent state before adding the local
+ contact to the members set; until this happens, the local contact should
+ be in the remote-pending set. For instance, if the connection manager
+ queries the server to find out the initial members list for the
+ channel, it should leave the local contact in the remote-pending set
+ until it has finished receiving the initial members list.
+ </p>
+
+ <p>If the protocol provides no reliable way to tell whether the complete
+ initial members list has been received yet, the connection manager
+ should make a best-effort attempt to wait for the full list
+ (in the worst case, waiting for a suitable arbitrary timeout)
+ rather than requiring user interfaces to do so on its behalf.</p>
</tp:docstring>
</interface>
</node>
diff --git a/spec/Channel_Type_Tubes.xml b/spec/Channel_Type_Tubes.xml
index 8591b6b..773b508 100644
--- a/spec/Channel_Type_Tubes.xml
+++ b/spec/Channel_Type_Tubes.xml
@@ -54,6 +54,21 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
objects/interfaces that would be exported by a service of that name
on a bus, or all participants are expected to export those
objects/interfaces.</p>
+
+ <p>In a multi-user context (Handle_Type_Room) the tube behaves
+ like the D-Bus bus daemon, so participants can send each other
+ private messages, or can send broadcast messages which are
+ received by everyone in the tube (including themselves).
+ Each participant has a D-Bus unique name; connection managers
+ must prevent participants from sending messages with the wrong
+ sender unique name, and should attempt to avoid participants
+ receiving messages not intended for them.</p>
+
+ <p>In a 1-1 context (Handle_Type_Contact) the tube behaves like
+ a peer-to-peer D-Bus connection - arbitrary D-Bus messages with
+ any sender and/or destination can be sent by each participant,
+ and each participant receives all messages sent by the other
+ participant.</p>
</tp:docstring>
</tp:enumvalue>
@@ -527,8 +542,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<method name="GetDBusNames">
<tp:docstring>
- For a D-Bus tube, obtain a mapping between contact handles and their
- unique bus names on this tube.
+ For a multi-user (i.e. Handle_Type_Room) D-Bus tube, obtain a mapping
+ between contact handles and their unique bus names on this tube.
</tp:docstring>
<arg direction="in" name="id" type="u">
<tp:docstring>
@@ -544,7 +559,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<tp:possible-errors>
<tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
<tp:docstring>
- The tube is not a D-Bus tube.
+ The tube is not a multi-user D-Bus tube.
</tp:docstring>
</tp:error>
<tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
@@ -557,7 +572,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
<signal name="DBusNamesChanged">
<tp:docstring>
- Emitted on a D-Bus tube when a participant opens or closes the tube.
+ Emitted on a multi-user (i.e. Handle_Type_Room) D-Bus tube when a
+ participant opens or closes the tube.
</tp:docstring>
<arg name="id" type="u">
<tp:docstring>
@@ -622,7 +638,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
The ID of the tube
</tp:docstring>
</arg>
- <arg name="handle" type="u" tp_type="Contact_Handle">
+ <arg name="handle" type="u" tp:type="Contact_Handle">
<tp:docstring>
The handle of the participant who opened the new connection
</tp:docstring>
diff --git a/spec/all.xml b/spec/all.xml
index bbddd8d..95582f4 100644
--- a/spec/all.xml
+++ b/spec/all.xml
@@ -3,7 +3,7 @@
xmlns:xi="http://www.w3.org/2001/XInclude">
<tp:title>Telepathy D-Bus Interface Specification</tp:title>
-<tp:version>0.15.5</tp:version>
+<tp:version>0.16.0</tp:version>
<tp:copyright>Copyright (C) 2005, 2006, 2007 Collabora Limited</tp:copyright>
<tp:copyright>Copyright (C) 2005, 2006, 2007 Nokia Corporation</tp:copyright>