[Telepathy-commits] [telepathy-gabble/master] Update Channel.FUTURE to spec 0.17.9, and add ChannelBundle

Simon McVittie simon.mcvittie at collabora.co.uk
Mon Aug 18 13:12:31 PDT 2008


This removes the remains of the Channel.FUTURE.TargetID property, but
adds the Channel.FUTURE.Bundle property.
---
 extensions/Channel_Bundle.xml |   48 ++++++++++++++++++++++++++++++++++++
 extensions/Channel_Future.xml |   54 +++++++++++++---------------------------
 extensions/Makefile.am        |    1 +
 extensions/all.xml            |    3 ++
 4 files changed, 70 insertions(+), 36 deletions(-)
 create mode 100644 extensions/Channel_Bundle.xml

diff --git a/extensions/Channel_Bundle.xml b/extensions/Channel_Bundle.xml
new file mode 100644
index 0000000..0b1a6c1
--- /dev/null
+++ b/extensions/Channel_Bundle.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" ?>
+<node name="/Channel_Bundle"
+  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: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
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.</p>
+
+<p>This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.</p>
+
+<p>You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+</p>
+  </tp:license>
+  <interface name="org.freedesktop.Telepathy.ChannelBundle.DRAFT"
+    tp:causes-havoc="experimental">
+    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+      <p>A group of related channels, which should all be dispatched to the
+        same handler if possible.</p>
+
+      <p>Bundles currently have no functionality of their own, so clients
+        SHOULD NOT examine this interface, but should instead treat the
+        bundle object-path as an opaque identifier. If more functionality is
+        added to bundles in future, this interface will be used for capability
+        discovery.</p>
+
+      <p>The lifetime of a bundle is defined by its component channels -
+        as long as one or more channels whose Bundle property is <em>B</em>
+        exist, the bundle <em>B</em> will also exist.</p>
+    </tp:docstring>
+
+    <property name="Interfaces" type="as" access="read"
+      tp:type="DBus_Interface[]">
+      <tp:docstring>
+        A list of the extra interfaces provided by this channel bundle.
+      </tp:docstring>
+    </property>
+
+  </interface>
+</node>
+<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Channel_Future.xml b/extensions/Channel_Future.xml
index b3a0a16..ad18879 100644
--- a/extensions/Channel_Future.xml
+++ b/extensions/Channel_Future.xml
@@ -98,42 +98,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
       </tp:docstring>
     </property>
 
-    <property name="TargetID" type="s" access="read">
-      <tp:added version="0.17.7">(in Channel.FUTURE
-        pseudo-interface)</tp:added>
-      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-        <p>The string that would result from inspecting the
-          <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel">TargetHandle</tp:dbus-ref>
-          property (i.e. the identifier in the IM protocol of the contact,
-          room, etc. with which this channel communicates), or the empty
-          string if the TargetHandle is 0.</p>
-
-        <tp:rationale>
-          See InitiatorID; the rationale is the same.
-        </tp:rationale>
-
-        <p>If this is present in a channel request,
-          <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel">TargetHandleType</tp:dbus-ref>
-          MUST NOT be Handle_Type_None, and TargetHandle MUST NOT be
-          present. The request MUST fail with error InvalidHandle, without
-          side-effects, if the requested TargetID would not be accepted by
-          <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection">RequestHandles</tp:dbus-ref>.</p>
-
-        <p>The returned channel must be related to the handle corresponding
-          to the given identifier, in the same way as if TargetHandle
-          had been part of the request instead.</p>
-
-        <tp:rationale>
-          <p>Requesting channels with a string identifier saves a round-trip
-            (the call to RequestHandles). It also allows the channel
-            dispatcher to accept a channel request for an account that is not
-            yet connected (and thus has no valid handles), bring the account
-            online, and pass on the same parameters to the new connection's
-            CreateChannel method.</p>
-        </tp:rationale>
-      </tp:docstring>
-    </property>
-
     <property name="InitiatorHandle" type="u" tp:type="Contact_Handle"
       access="read">
       <tp:added version="0.17.7">(in Channel.FUTURE
@@ -197,6 +161,24 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
       </tp:docstring>
     </property>
 
+    <property name="Bundle" type="o" access="read">
+      <tp:added version="0.17.9">(in Channel.FUTURE
+        pseudo-interface)</tp:added>
+      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+        <p>The
+          <tp:dbus-ref namespace="org.freedesktop.Telepathy">ChannelBundle</tp:dbus-ref>
+          to which this channel belongs.</p>
+
+        <p>A channel's Bundle property can never change.</p>
+
+        <p>Older connection managers might not have this property. Clients
+          (particularly the channel dispatcher) SHOULD recover by considering
+          each channel to be in a bundle containing only that channel,
+          distinct from all other bundles, which has no additional
+          interfaces.</p>
+      </tp:docstring>
+    </property>
+
   </interface>
 </node>
 <!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/extensions/Makefile.am b/extensions/Makefile.am
index c3047f0..3f3725f 100644
--- a/extensions/Makefile.am
+++ b/extensions/Makefile.am
@@ -2,6 +2,7 @@ tools_dir = $(top_srcdir)/tools
 
 EXTRA_DIST = \
     all.xml \
+    Channel_Bundle.xml \
     Channel_Future.xml \
     OLPC_Activity_Properties.xml \
     OLPC_Buddy_Info.xml
diff --git a/extensions/all.xml b/extensions/all.xml
index f4eab7f..c0507d4 100644
--- a/extensions/all.xml
+++ b/extensions/all.xml
@@ -22,6 +22,7 @@ License along with this library; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA</p>
 </tp:license>
 
+<xi:include href="Channel_Bundle.xml"/>
 <xi:include href="Channel_Future.xml"/>
 <xi:include href="Connection_Interface_Requests.xml"/>
 <xi:include href="OLPC_Buddy_Info.xml"/>
@@ -30,6 +31,8 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA</p>
 <tp:generic-types>
   <tp:external-type name="Contact_Handle" type="u"
     from="Telepathy specification"/>
+  <tp:external-type name="DBus_Interface" type="s"
+    from="Telepathy specification"/>
   <tp:external-type name="DBus_Qualified_Member" type="s"
     from="Telepathy specification"/>
   <tp:external-type name="Qualified_Property_Value_Map" type="a{sv}"
-- 
1.5.6.3




More information about the Telepathy-commits mailing list