[Telepathy-commits] [telepathy-glib/master] Update to spec 0.17.17

Simon McVittie simon.mcvittie at collabora.co.uk
Wed Jan 7 06:45:04 PST 2009


---
 docs/reference/telepathy-glib-sections.txt |    3 +
 spec/Account_Manager.xml                   |   29 +++++++++++---
 spec/Channel.xml                           |    6 +++
 spec/Channel_Interface_Group.xml           |   59 ++++++++++++++++++++++++++-
 spec/Channel_Interface_Messages.xml        |   45 +++++++++++++++++++--
 spec/Connection.xml                        |   59 +++++++++++++++++++--------
 spec/Connection_Interface_Avatars.xml      |    4 +-
 spec/Connection_Manager.xml                |    4 +-
 spec/Media_Stream_Handler.xml              |   56 ++++++++++++++++----------
 spec/all.xml                               |    2 +-
 10 files changed, 208 insertions(+), 59 deletions(-)

diff --git a/docs/reference/telepathy-glib-sections.txt b/docs/reference/telepathy-glib-sections.txt
index c4fa6ef..c22fd72 100644
--- a/docs/reference/telepathy-glib-sections.txt
+++ b/docs/reference/telepathy-glib-sections.txt
@@ -1018,11 +1018,13 @@ TP_STRUCT_TYPE_STATUS_SPEC
 TP_STRUCT_TYPE_LOCAL_PENDING_INFO
 TP_ARRAY_TYPE_LOCAL_PENDING_INFO_LIST
 TP_HASH_TYPE_HANDLE_OWNER_MAP
+TP_HASH_TYPE_HANDLE_IDENTIFIER_MAP
 <SUBSECTION>
 # Channel - Text and Messages
 TP_STRUCT_TYPE_PENDING_TEXT_MESSAGE
 TP_ARRAY_TYPE_PENDING_TEXT_MESSAGE_LIST
 TP_HASH_TYPE_MESSAGE_PART
+TP_HASH_TYPE_MESSAGE_PART_CONTENT_MAP
 <SUBSECTION>
 # Channel - Tubes
 TP_STRUCT_TYPE_SOCKET_ADDRESS_IPV4
@@ -1091,6 +1093,7 @@ tp_type_dbus_hash_ua_7bsv_7d
 tp_type_dbus_hash_uau
 tp_type_dbus_hash_us
 tp_type_dbus_hash_uu
+tp_type_dbus_hash_uv
 tp_type_dbus_struct_a_7bsv_7das
 tp_type_dbus_struct_oa_7bsv_7d
 tp_type_dbus_struct_os
diff --git a/spec/Account_Manager.xml b/spec/Account_Manager.xml
index 39e08b5..98fe00d 100644
--- a/spec/Account_Manager.xml
+++ b/spec/Account_Manager.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" ?>
 <node name="/Account_Manager"
   xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-  <tp:copyright>Copyright (C) 2008 Collabora Ltd.</tp:copyright>
-  <tp:copyright>Copyright (C) 2008 Nokia Corporation</tp:copyright>
+  <tp:copyright>Copyright (C) 2008-2009 Collabora Ltd.</tp:copyright>
+  <tp:copyright>Copyright (C) 2008-2009 Nokia Corporation</tp:copyright>
   <tp:license xmlns="http://www.w3.org/1999/xhtml">
 <p>This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
@@ -89,7 +89,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
         <tp:rationale>
           This is effectively change notification for the valid and invalid
-          accounts lists.
+          accounts lists. On emission of this signal, the Account indicated
+          will no longer be present in either of the lists.
         </tp:rationale>
       </tp:docstring>
 
@@ -148,9 +149,25 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
       <arg name="Display_Name" direction="in" type="s">
         <tp:docstring>The initial value of the new account's <tp:dbus-ref
             namespace="org.freedesktop.Telepathy.Account">DisplayName</tp:dbus-ref>
-          property. The account manager MAY modify this to make it unique,
-          for instance by appending a number or the 'account'
-          parameter.</tp:docstring>
+          property. The account manager SHOULD modify this to make it unique if
+          an Account already exists with the same display name, for instance by
+          appending a number or the 'account' parameter. Account manager
+          implementations SHOULD accept an empty string but account editing user
+          interfaces should avoid passing an empty string for this parameter.
+
+          <tp:rationale>
+            <p>The account creation UI may ask the user for a name for the new
+              account. If the author of the UI chooses not to do this, the
+              account creation UI is better able to suggest a default display
+              name because it has protocol-specific knowledge which the account
+              manager does not.</p>
+
+            <p>The account manager always knows the complete list of accounts so
+              it can easily tell whether it should append something to the
+              display name to avoid presenting two identically-named accounts to
+              the user.</p>
+          </tp:rationale>
+        </tp:docstring>
       </arg>
 
       <arg name="Parameters" direction="in" type="a{sv}">
diff --git a/spec/Channel.xml b/spec/Channel.xml
index 0026e04..5a40f2f 100644
--- a/spec/Channel.xml
+++ b/spec/Channel.xml
@@ -339,6 +339,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
             dispatcher that channels with suppress_handler false are
             indeed unrequested.</p>
         </tp:rationale>
+
+        <p>It does not make sense for this property to be in channel
+          requests—it will always be true for channels returned by
+          CreateChannel, and callers of EnsureChannel cannot control whether an
+          existing channel was originally requested locally—so it MUST NOT
+          be accepted.</p>
       </tp:docstring>
     </property>
 
diff --git a/spec/Channel_Interface_Group.xml b/spec/Channel_Interface_Group.xml
index 7aeb6cc..ffa0115 100644
--- a/spec/Channel_Interface_Group.xml
+++ b/spec/Channel_Interface_Group.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" ?>
 <node name="/Channel_Interface_Group" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-  <tp:copyright>Copyright (C) 2005, 2006 Collabora Limited</tp:copyright>
-  <tp:copyright>Copyright (C) 2005, 2006 Nokia Corporation</tp:copyright>
+  <tp:copyright>Copyright (C) 2005-2009 Collabora Limited</tp:copyright>
+  <tp:copyright>Copyright (C) 2005-2009 Nokia Corporation</tp:copyright>
   <tp:copyright>Copyright (C) 2006 INdT</tp:copyright>
   <tp:license xmlns="http://www.w3.org/1999/xhtml">
     <p>This library is free software; you can redistribute it and/or
@@ -226,7 +226,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
           Indicates that <tp:member-ref>MembersChangedDetailed</tp:member-ref>
           will be emitted for changes to this group's members in addition to
           <tp:member-ref>MembersChanged</tp:member-ref>.
-          Clients can then connect to the former and ignore emission of the latter.
+          Clients can then connect to the former and ignore emission of the
+          latter. This flag's state MUST NOT change over the lifetime of a
+          channel.
+
+          <tp:rationale>
+            If it were allowed to change, client bindings would have to always
+            connect to MembersChanged just in case the flag ever went away (and
+            generally be unnecessarily complicated), which would mostly negate
+            the point of having this flag in the first place.
+          </tp:rationale>
         </tp:docstring>
       </tp:flag>
     </tp:flags>
@@ -698,6 +707,26 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
       </tp:docstring>
     </signal>
 
+    <tp:mapping name="Handle_Identifier_Map">
+      <tp:docstring>
+        A map from handles to the corresponding normalized string identifier.
+      </tp:docstring>
+      <tp:added version="0.17.17"/>
+
+      <tp:member type="u" name="Handle" tp:type="Contact_Handle">
+        <tp:docstring>
+          A nonzero handle
+        </tp:docstring>
+      </tp:member>
+      <tp:member type="s" name="Identifier">
+        <tp:docstring>
+          The same string that would be returned by <tp:dbus-ref
+            namespace="org.freedesktop.Telepathy.Connection">InspectHandles</tp:dbus-ref>
+          for this handle.
+        </tp:docstring>
+      </tp:member>
+    </tp:mapping>
+
     <signal name="MembersChangedDetailed"
       tp:name-for-bindings="Members_Changed_Detailed">
       <arg name="Added" type="au" tp:type="Contact_Handle[]">
@@ -733,6 +762,30 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
             <dt>change-reason (u — <tp:type>Channel_Group_Change_Reason</tp:type>)</dt>
             <dd>A reason for the change.</dd>
 
+            <dt>contact-ids (a{us} — <tp:type>Handle_Identifier_Map</tp:type>)</dt>
+            <dd>
+              <p>The string identifiers for handles mentioned in this signal, to
+              give clients the minimal information necessary to react to the
+              event without waiting for round-trips.  Connection managers
+              SHOULD include the identifiers for members added to the group and
+              for the actor (if any); they MAY omit the identifiers for handles
+              which have been removed from the group.</p>
+
+              <tp:rationale>
+                <p>On IRC, an event such as a netsplit could cause the vast
+                majority of a channel to leave.  Given that clients should
+                already know the identifiers of a channel's members, including
+                potentially hundreds of strings in the netsplit signal is
+                unnecessary.</p>
+              </tp:rationale>
+
+              <p>Clients MUST NOT assume that the presence or absence of a
+                handle in this mapping is meaningful. This mapping is merely
+                an optimization for round-trip reduction, and connection
+                managers MAY add additional handles, omit some handles, or
+                omit the mapping completely.</p>
+            </dd>
+
             <dt>message (s)</dt>
             <dd>A string message from the server regarding the change</dd>
 
diff --git a/spec/Channel_Interface_Messages.xml b/spec/Channel_Interface_Messages.xml
index 9409535..1078504 100644
--- a/spec/Channel_Interface_Messages.xml
+++ b/spec/Channel_Interface_Messages.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" ?>
 <node name="/Channel_Interface_Messages"
   xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-  <tp:copyright>Copyright (C) 2008 Collabora Ltd.</tp:copyright>
-  <tp:copyright>Copyright (C) 2008 Nokia Corporation</tp:copyright>
+  <tp:copyright>Copyright (C) 2008-2009 Collabora Ltd.</tp:copyright>
+  <tp:copyright>Copyright (C) 2008-2009 Nokia Corporation</tp:copyright>
   <tp:license xmlns="http://www.w3.org/1999/xhtml">
     <p>This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
@@ -178,7 +178,8 @@ USA.</p>
       </tp:flag>
     </tp:flags>
 
-    <tp:mapping name="Message_Part" array-name="Message_Part_List">
+    <tp:mapping name="Message_Part" array-name="Message_Part_List"
+      array-depth="2">
       <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
         <p>Part of a message's content. In practice, this mapping never
           appears in isolation - messages are represented by a list of
@@ -705,6 +706,38 @@ USA.</p>
       </tp:member>
     </tp:mapping>
 
+    <tp:simple-type type="u" name="Message_Part_Index">
+      <tp:added version="0.17.17"/>
+      <tp:docstring>
+        The index of a message part within a message.
+      </tp:docstring>
+    </tp:simple-type>
+
+    <tp:mapping name="Message_Part_Content_Map">
+      <tp:added version="0.17.17"/>
+      <tp:docstring>
+        A mapping from message part indexes to their content, as returned by
+        <tp:member-ref>GetPendingMessageContent</tp:member-ref>.
+      </tp:docstring>
+
+      <tp:member type="u" tp:type="Message_Part_Index" name="Part">
+        <tp:docstring>
+          Indexes into the array of <tp:type>Message_Part</tp:type>s that
+          represents a message. The "headers" part (which is not a valid
+          argument to GetPendingMessageContent) is considered to be part 0,
+          so the valid part numbers start at 1 (for the second message part).
+        </tp:docstring>
+      </tp:member>
+
+      <tp:member type="v" name="Content">
+        <tp:docstring>
+          The message part's content. The variant MUST contain either type
+          's' or 'ay' (UTF-8 text string, or byte array), following the
+          same rules as for the value of the 'content' key in
+          the <tp:type>Message_Part</tp:type> mappings.
+        </tp:docstring>
+      </tp:member>
+    </tp:mapping>
 
     <tp:simple-type type="s" name="Sent_Message_Token">
       <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
@@ -914,7 +947,8 @@ USA.</p>
         </tp:docstring>
       </arg>
 
-      <arg name="Parts" type="au" direction="in">
+      <arg name="Parts" type="au" direction="in"
+        tp:type="Message_Part_Index[]">
         <tp:docstring>
           The desired entries in the array of message parts, identified by
           their position. The "headers" part (which is not a valid argument
@@ -923,7 +957,8 @@ USA.</p>
         </tp:docstring>
       </arg>
 
-      <arg name="Content" type="a{uv}" direction="out">
+      <arg name="Content" type="a{uv}" direction="out"
+        tp:type="Message_Part_Content_Map">
         <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
           <p>The content of the requested parts. The keys in this mapping
             are positions in the array of message parts; the values are
diff --git a/spec/Connection.xml b/spec/Connection.xml
index f543a16..9516196 100644
--- a/spec/Connection.xml
+++ b/spec/Connection.xml
@@ -2,8 +2,8 @@
 <node name="/Connection"
   xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
   >
-  <tp:copyright>Copyright (C) 2005, 2006, 2007 Collabora Limited</tp:copyright>
-  <tp:copyright>Copyright (C) 2005, 2006 Nokia Corporation</tp:copyright>
+  <tp:copyright>Copyright (C) 2005-2009 Collabora Limited</tp:copyright>
+  <tp:copyright>Copyright (C) 2005-2009 Nokia Corporation</tp:copyright>
   <tp:copyright>Copyright (C) 2006 INdT</tp:copyright>
   <tp:license xmlns="http://www.w3.org/1999/xhtml">
 <p>This library is free software; you can redistribute it and/or
@@ -47,8 +47,8 @@ USA.</p>
     <method name="Connect" tp:name-for-bindings="Connect">
       <tp:docstring>
         Request that the connection be established. This will be done
-        asynchronously and errors will be returned by emitting StatusChanged
-        signals.
+        asynchronously and errors will be returned by emitting
+        <tp:member-ref>StatusChanged</tp:member-ref> signals.
       </tp:docstring>
 
       <tp:possible-errors>
@@ -124,7 +124,8 @@ USA.</p>
     <signal name="SelfHandleChanged"
         tp:name-for-bindings="Self_Handle_Changed">
       <tp:docstring>
-        Emitted whenever the SelfHandle property changes. If the connection
+        Emitted whenever the <tp:member-ref>SelfHandle</tp:member-ref> property
+        changes. If the connection
         is not yet in the CONNECTED state, this signal is not guaranteed
         to be emitted.
       </tp:docstring>
@@ -144,19 +145,21 @@ USA.</p>
       <tp:docstring>
         The handle which represents the user on this connection, which will
         remain valid for the lifetime of this connection, or until a change
-        in the user's identifier is signalled by the SelfHandleChanged signal.
+        in the user's identifier is signalled by the
+        <tp:member-ref>SelfHandleChanged</tp:member-ref> signal.
         If the connection is not yet in the CONNECTED state, the value of
         this property MAY be zero.
       </tp:docstring>
       <tp:added version="0.17.10">For compatibility with older
-        versions, clients should fall back to calling the GetSelfHandle
+        versions, clients should fall back to calling the
+        <tp:member-ref>GetSelfHandle</tp:member-ref>
         method.</tp:added>
     </property>
 
     <method name="GetSelfHandle" tp:name-for-bindings="Get_Self_Handle">
       <arg direction="out" type="u" tp:type="Contact_Handle">
         <tp:docstring>
-          The value of the SelfHandle property
+          The value of the <tp:member-ref>SelfHandle</tp:member-ref> property
         </tp:docstring>
       </arg>
 
@@ -181,7 +184,8 @@ USA.</p>
       </arg>
 
       <tp:docstring>
-        Get the current status as defined in the StatusChanged signal.
+        Get the current status as defined in the
+        <tp:member-ref>StatusChanged</tp:member-ref> signal.
       </tp:docstring>
     </method>
 
@@ -201,11 +205,13 @@ USA.</p>
       <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
         <p>Notify the connection manger that your client is holding a copy
         of handles which may not be in use in any existing channel or
-        list, and were not obtained by using the RequestHandles method. For
+        list, and were not obtained by using the
+        <tp:member-ref>RequestHandles</tp:member-ref> method. For
         example, a handle observed in an emitted signal, or displayed
         somewhere in the UI that is not associated with a channel. The
         connection manager must not deallocate a handle where any clients
-        have used this method to indicate it is in use until the ReleaseHandle
+        have used this method to indicate it is in use until the
+        <tp:member-ref>ReleaseHandles</tp:member-ref>
         method is called, or the clients disappear from the bus.</p>
 
         <p>Note that HoldHandles is idempotent - calling it multiple times
@@ -309,7 +315,8 @@ USA.</p>
         <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
           <p>If true, the channel was requested by a client that intends to
             present it to the user itself (i.e. it passed suppress_handler=TRUE
-            to the RequestChannel method), so no other handler should be
+            to the <tp:member-ref>RequestChannel</tp:member-ref> method), so no
+            other handler should be
             launched. Clients MAY assume that channels where this is true
             were created by a user request.</p>
 
@@ -445,7 +452,12 @@ USA.</p>
 
         <p>If a channel to a contact, room etc. is requested, on success, the
           returned channel may either be a new or existing channel to
-          the requested entity (i.e. its GetHandle() returns the
+          the requested entity (i.e. its
+          <tp:dbus-ref
+            namespace="org.freedesktop.Telepathy.Channel">TargetHandleType</tp:dbus-ref>
+          and <tp:dbus-ref
+            namespace="org.freedesktop.Telepathy.Channel">TargetHandle</tp:dbus-ref>
+          properties are the
           requested handle type and handle), or a newly created "anonymous"
           channel associated with the requested handle in some
           implementation-specific way.</p>
@@ -561,7 +573,8 @@ USA.</p>
         number of contacts, rooms or server-stored lists on the service. The
         connection manager should record that these handles are in use by the
         client who invokes this method, and must not deallocate the handles
-        until the client disconnects from the bus or calls the ReleaseHandle
+        until the client disconnects from the bus or calls the
+        <tp:member-ref>ReleaseHandles</tp:member-ref>
         method. Where the name refers to an entity that already has a handle
         in this connection manager, this handle should be returned instead.
         The handle number 0 must not be returned by the connection manager.
@@ -579,6 +592,13 @@ USA.</p>
             The given name is not a valid entity of the given type
           </tp:docstring>
         </tp:error>
+        <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
+          <tp:docstring>
+            The given handle type is valid, but not implemented on this
+            connection.  For instance, a CM for a protocol that doesn't have
+            chat rooms would not implement room handles.
+          </tp:docstring>
+        </tp:error>
       </tp:possible-errors>
     </method>
 
@@ -763,10 +783,13 @@ USA.</p>
     ambiguous. Connection manager implementations should reference count these
     handles to determine if they are in use either by any active clients or any
     open channels, and may deallocate them when this ceases to be true. Clients
-    may request handles of a given type and name with the RequestHandles
-    method, inspect the entity name of handles with the InspectHandles method,
-    keep handles from being released with HoldHandles, and notify that they are
-    no longer storing handles with ReleaseHandles.</p>
+    may request handles of a given type and name with the
+    <tp:member-ref>RequestHandles</tp:member-ref> method, inspect the entity
+    name of handles with the <tp:member-ref>InspectHandles</tp:member-ref>
+    method, keep handles from being released with
+    <tp:member-ref>HoldHandles</tp:member-ref>, and notify that they are no
+    longer storing handles with
+    <tp:member-ref>ReleaseHandles</tp:member-ref>.</p>
     </tp:docstring>
 
     <tp:changed version="0.17.10">Previously, the account part of
diff --git a/spec/Connection_Interface_Avatars.xml b/spec/Connection_Interface_Avatars.xml
index 6bd0f36..27c77b9 100644
--- a/spec/Connection_Interface_Avatars.xml
+++ b/spec/Connection_Interface_Avatars.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" ?>
 <node name="/Connection_Interface_Avatars" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-  <tp:copyright>Copyright (C) 2005-2007 Collabora Limited</tp:copyright>
-  <tp:copyright>Copyright (C) 2005, 2006 Nokia Corporation</tp:copyright>
+  <tp:copyright>Copyright (C) 2005-2008 Collabora Limited</tp:copyright>
+  <tp:copyright>Copyright (C) 2005-2008 Nokia Corporation</tp:copyright>
   <tp:copyright>Copyright (C) 2006 INdT</tp:copyright>
   <tp:license xmlns="http://www.w3.org/1999/xhtml">
     <p>This library is free software; you can redistribute it and/or
diff --git a/spec/Connection_Manager.xml b/spec/Connection_Manager.xml
index 9bbe1b7..eafa6df 100644
--- a/spec/Connection_Manager.xml
+++ b/spec/Connection_Manager.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" ?>
 <node name="/Connection_Manager" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-  <tp:copyright>Copyright (C) 2005, 2006 Collabora Limited</tp:copyright>
-  <tp:copyright>Copyright (C) 2005, 2006 Nokia Corporation</tp:copyright>
+  <tp:copyright>Copyright (C) 2005-2008 Collabora Limited</tp:copyright>
+  <tp:copyright>Copyright (C) 2005-2008 Nokia Corporation</tp:copyright>
   <tp:copyright>Copyright (C) 2006 INdT</tp:copyright>
   <tp:license xmlns="http://www.w3.org/1999/xhtml">
     <p>This library is free software; you can redistribute it and/or
diff --git a/spec/Media_Stream_Handler.xml b/spec/Media_Stream_Handler.xml
index e476479..35866a6 100644
--- a/spec/Media_Stream_Handler.xml
+++ b/spec/Media_Stream_Handler.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" ?>
 <node name="/Media_Stream_Handler" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-  <tp:copyright> Copyright (C) 2005, 2006 Collabora Limited </tp:copyright>
-  <tp:copyright> Copyright (C) 2005, 2006 Nokia Corporation </tp:copyright>
+  <tp:copyright> Copyright (C) 2005-2008 Collabora Limited </tp:copyright>
+  <tp:copyright> Copyright (C) 2005-2008 Nokia Corporation </tp:copyright>
   <tp:copyright> Copyright (C) 2006 INdT </tp:copyright>
   <tp:license xmlns="http://www.w3.org/1999/xhtml">
     <p>This library is free software; you can redistribute it and/or
@@ -44,12 +44,30 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
 
     <tp:struct name="Media_Stream_Handler_Codec"
       array-name="Media_Stream_Handler_Codec_List">
-      <tp:member type="u" name="Codec_ID"/>
-      <tp:member type="s" name="Name"/>
-      <tp:member type="u" tp:type="Media_Stream_Type" name="Media_Type"/>
-      <tp:member type="u" name="Clock_Rate"/>
-      <tp:member type="u" name="Number_Of_Channels"/>
-      <tp:member type="a{ss}" name="Parameters" tp:type="String_String_Map"/>
+      <tp:docstring>
+        Information about a codec supported by a client or a peer's client.
+      </tp:docstring>
+
+      <tp:member type="u" name="Codec_ID">
+        <tp:docstring>
+          The codec's payload identifier, as per RFC 3551 (static or dynamic)
+        </tp:docstring>
+      </tp:member>
+      <tp:member type="s" name="Name">
+        <tp:docstring>The codec's name</tp:docstring>
+      </tp:member>
+      <tp:member type="u" tp:type="Media_Stream_Type" name="Media_Type">
+        <tp:docstring>Type of stream this codec supports</tp:docstring>
+      </tp:member>
+      <tp:member type="u" name="Clock_Rate">
+        <tp:docstring>Sampling frequency in Hertz</tp:docstring>
+      </tp:member>
+      <tp:member type="u" name="Number_Of_Channels">
+        <tp:docstring>Number of supported channels</tp:docstring>
+      </tp:member>
+      <tp:member type="a{ss}" name="Parameters" tp:type="String_String_Map">
+        <tp:docstring>Codec-specific optional parameters</tp:docstring>
+      </tp:member>
     </tp:struct>
 
     <signal name="AddRemoteCandidate"
@@ -188,7 +206,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
       <arg direction="in" name="Codecs" type="a(usuuua{ss})"
         tp:type="Media_Stream_Handler_Codec[]">
         <tp:docstring>
-          As for SupportedCodecs.
+          Locally-supported codecs.
         </tp:docstring>
       </arg>
       <tp:docstring>
@@ -200,9 +218,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
     <method name="SetLocalCodecs" tp:name-for-bindings="Set_Local_Codecs">
       <arg name="Codecs" type="a(usuuua{ss})" direction="in"
         tp:type="Media_Stream_Handler_Codec[]">
-        <tp:docstring>Codecs in the same format as for
-          SupportedCodecs, which have the same semantics as the
-          local codecs passed to Ready</tp:docstring>
+        <tp:docstring>
+          Locally-supported codecs
+        </tp:docstring>
       </arg>
       <tp:docstring>
         Used to provide codecs after Ready(), so the media client can go
@@ -250,7 +268,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
     <signal name="SetRemoteCodecs" tp:name-for-bindings="Set_Remote_Codecs">
       <arg name="Codecs" type="a(usuuua{ss})"
         tp:type="Media_Stream_Handler_Codec[]">
-        <tp:docstring>As for SupportedCodecs</tp:docstring>
+        <tp:docstring>
+          Codecs supported by the remote peer.
+        </tp:docstring>
       </arg>
       <tp:docstring>
         Signal emitted when the connection manager wishes to inform the
@@ -301,15 +321,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
       <arg direction="in" name="Codecs" type="a(usuuua{ss})"
         tp:type="Media_Stream_Handler_Codec[]">
         <tp:docstring>
-          List of codec info structures, each containing:
-          <ul>
-            <li>ID of codec</li>
-            <li>Codec name</li>
-            <li>Media type</li>
-            <li>Clock rate of codec</li>
-            <li>Number of supported channels</li>
-            <li>String key-value pairs for supported optional parameters</li>
-          </ul>
+          Locally supported codecs.
         </tp:docstring>
       </arg>
       <tp:docstring>
diff --git a/spec/all.xml b/spec/all.xml
index def46f4..a1fd745 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.17.16</tp:version>
+<tp:version>0.17.17</tp:version>
 
 <tp:copyright>Copyright (C) 2005-2008 Collabora Limited</tp:copyright>
 <tp:copyright>Copyright (C) 2005-2008 Nokia Corporation</tp:copyright>
-- 
1.5.6.5




More information about the Telepathy-commits mailing list