diff options
-rw-r--r-- | spec/Channel_Interface_Group.xml | 20 | ||||
-rw-r--r-- | spec/Channel_Type_Tubes.xml | 24 | ||||
-rw-r--r-- | spec/all.xml | 2 |
3 files changed, 40 insertions, 6 deletions
diff --git a/spec/Channel_Interface_Group.xml b/spec/Channel_Interface_Group.xml index 7da8c773f..b9f1c9de5 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 b66ae9805..773b5081e 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> diff --git a/spec/all.xml b/spec/all.xml index bbddd8d0d..95582f455 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> |