[Telepathy-commits] [telepathy-spec/master] Move DBusTube.xml to DBus_Tube.xml and StreamTube.xml to Stream_Tube.xml

Alban Crequy alban.crequy at collabora.co.uk
Wed Nov 19 06:15:02 PST 2008


20080815102020-a41c0-aeaa881462cdffd4a0814686e8c536e2c45f137e.gz
---
 spec/Channel_Type_DBusTube.xml    |  179 ------------------------------
 spec/Channel_Type_DBus_Tube.xml   |  179 ++++++++++++++++++++++++++++++
 spec/Channel_Type_StreamTube.xml  |  216 -------------------------------------
 spec/Channel_Type_Stream_Tube.xml |  216 +++++++++++++++++++++++++++++++++++++
 4 files changed, 395 insertions(+), 395 deletions(-)
 delete mode 100644 spec/Channel_Type_DBusTube.xml
 create mode 100644 spec/Channel_Type_DBus_Tube.xml
 delete mode 100644 spec/Channel_Type_StreamTube.xml
 create mode 100644 spec/Channel_Type_Stream_Tube.xml

diff --git a/spec/Channel_Type_DBusTube.xml b/spec/Channel_Type_DBusTube.xml
deleted file mode 100644
index a4da219..0000000
--- a/spec/Channel_Type_DBusTube.xml
+++ /dev/null
@@ -1,179 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Channel_Type_DBusTube" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-  <tp:copyright>Copyright (C) 2008 Collabora Limited</tp:copyright>
-  <tp:copyright>Copyright (C) 2008 Nokia Corporation</tp:copyright>
-  <tp:license>
-    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.
-
-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.
-
-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.
-  </tp:license>
-  <interface name="org.freedesktop.Telepathy.Channel.Type.DBusTube.DRAFT"
-      tp:causes-havoc="experimental">
-    <tp:requires interface="org.freedesktop.Telepathy.Channel"/>
-    <tp:requires interface="org.freedesktop.Telepathy.Channel.Interface.Tube.DRAFT"/>
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>A D-Bus tube is an ordered reliable transport, for transporting D-Bus
-        traffic.</p>
-
-      <p>For each D-Bus tube, the connection manager listens on a D-Bus
-        server address, as detailed in the D-Bus specification. On this
-        address, it emulates a bus upon which each tube participant appears
-        as an endpoint.</p>
-
-      <p>The objects and interfaces which are expected to exist on the
-        emulated bus depend on the well-known name; typically, either the
-        participant who initiated the tube is expected to export the same
-        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>
-
-    <method name="OfferDBusTube">
-      <tp:docstring>
-        Offers a D-Bus tube providing the service specified.
-      </tp:docstring>
-      <tp:possible-errors>
-        <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
-        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
-          <tp:docstring>
-            The contact associated with this channel doesn't have tubes
-            capabilities.
-          </tp:docstring>
-        </tp:error>
-        <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
-          <tp:docstring>
-            The connection manager doesn't support D-Bus tubes.
-          </tp:docstring>
-        </tp:error>
-      </tp:possible-errors>
-    </method>
-
-    <method name="AcceptDBusTube">
-      <tp:docstring>
-        Accept a D-Bus tube that's in the "local pending" state. The
-        connection manager will attempt to open the tube. The tube remains in
-        the "local pending" state until the TubeStateChanged signal is
-        emitted.
-      </tp:docstring>
-      <arg direction="out" name="address" type="s">
-        <tp:docstring>
-          The string describing the address of the private bus. The client
-          should not attempt to connect to the address until the tube is open.
-        </tp:docstring>
-      </arg>
-      <tp:possible-errors>
-        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
-          <tp:docstring>
-            The given tube ID is invalid or does not refer to a D-Bus
-            tube.
-          </tp:docstring>
-        </tp:error>
-      </tp:possible-errors>
-    </method>
-
-    <method name="GetDBusTubeAddress">
-      <tp:docstring>
-        Return a string describing the address of the private bus.
-      </tp:docstring>
-      <arg direction="out" type="s">
-        <tp:docstring>
-          The bus address.
-        </tp:docstring>
-      </arg>
-      <tp:possible-errors>
-        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
-          <tp:docstring>
-            The tube is not a D-Bus tube.
-          </tp:docstring>
-        </tp:error>
-        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
-          <tp:docstring>
-            This tube is not in the "open" state.
-          </tp:docstring>
-        </tp:error>
-      </tp:possible-errors>
-    </method>
-
-    <method name="GetDBusNames">
-      <tp:docstring>
-        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="out" type="a(us)" tp:type="DBus_Tube_Member[]">
-        <tp:docstring>
-          An array of structures, each containing a contact handle and a D-Bus
-          bus name.
-        </tp:docstring>
-      </arg>
-      <tp:possible-errors>
-        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
-          <tp:docstring>
-            The tube is not a multi-user D-Bus tube.
-          </tp:docstring>
-        </tp:error>
-        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
-          <tp:docstring>
-            This tube is not in the "open" state.
-          </tp:docstring>
-        </tp:error>
-      </tp:possible-errors>
-    </method>
-
-    <signal name="DBusNamesChanged">
-      <tp:docstring>
-        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="added" type="a(us)" tp:type="DBus_Tube_Member[]">
-        <tp:docstring>
-          Array of handles and D-Bus names of new participants.
-        </tp:docstring>
-      </arg>
-      <arg name="removed" type="au" tp:type="Contact_Handle[]">
-        <tp:docstring>
-          Array of handles of former participants.
-        </tp:docstring>
-      </arg>
-    </signal>
-
-    <property name="DBusService" type="s" access="read">
-      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-        <p>A string representing the service name that will be used over the
-          tube. It should be a well-known D-Bus service name, of the form
-          com.example.ServiceName.</p>
-        <p>When requesting a channel with 
-          <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.DRAFT.CreateChannel</tp:dbus-ref>,
-          this property MUST be included in the request.</p>
-      </tp:docstring>
-    </property>
-
-  </interface>
-
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Channel_Type_DBus_Tube.xml b/spec/Channel_Type_DBus_Tube.xml
new file mode 100644
index 0000000..a4da219
--- /dev/null
+++ b/spec/Channel_Type_DBus_Tube.xml
@@ -0,0 +1,179 @@
+<?xml version="1.0" ?>
+<node name="/Channel_Type_DBusTube" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+  <tp:copyright>Copyright (C) 2008 Collabora Limited</tp:copyright>
+  <tp:copyright>Copyright (C) 2008 Nokia Corporation</tp:copyright>
+  <tp:license>
+    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.
+
+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.
+
+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.
+  </tp:license>
+  <interface name="org.freedesktop.Telepathy.Channel.Type.DBusTube.DRAFT"
+      tp:causes-havoc="experimental">
+    <tp:requires interface="org.freedesktop.Telepathy.Channel"/>
+    <tp:requires interface="org.freedesktop.Telepathy.Channel.Interface.Tube.DRAFT"/>
+    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+      <p>A D-Bus tube is an ordered reliable transport, for transporting D-Bus
+        traffic.</p>
+
+      <p>For each D-Bus tube, the connection manager listens on a D-Bus
+        server address, as detailed in the D-Bus specification. On this
+        address, it emulates a bus upon which each tube participant appears
+        as an endpoint.</p>
+
+      <p>The objects and interfaces which are expected to exist on the
+        emulated bus depend on the well-known name; typically, either the
+        participant who initiated the tube is expected to export the same
+        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>
+
+    <method name="OfferDBusTube">
+      <tp:docstring>
+        Offers a D-Bus tube providing the service specified.
+      </tp:docstring>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
+        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
+          <tp:docstring>
+            The contact associated with this channel doesn't have tubes
+            capabilities.
+          </tp:docstring>
+        </tp:error>
+        <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
+          <tp:docstring>
+            The connection manager doesn't support D-Bus tubes.
+          </tp:docstring>
+        </tp:error>
+      </tp:possible-errors>
+    </method>
+
+    <method name="AcceptDBusTube">
+      <tp:docstring>
+        Accept a D-Bus tube that's in the "local pending" state. The
+        connection manager will attempt to open the tube. The tube remains in
+        the "local pending" state until the TubeStateChanged signal is
+        emitted.
+      </tp:docstring>
+      <arg direction="out" name="address" type="s">
+        <tp:docstring>
+          The string describing the address of the private bus. The client
+          should not attempt to connect to the address until the tube is open.
+        </tp:docstring>
+      </arg>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
+          <tp:docstring>
+            The given tube ID is invalid or does not refer to a D-Bus
+            tube.
+          </tp:docstring>
+        </tp:error>
+      </tp:possible-errors>
+    </method>
+
+    <method name="GetDBusTubeAddress">
+      <tp:docstring>
+        Return a string describing the address of the private bus.
+      </tp:docstring>
+      <arg direction="out" type="s">
+        <tp:docstring>
+          The bus address.
+        </tp:docstring>
+      </arg>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
+          <tp:docstring>
+            The tube is not a D-Bus tube.
+          </tp:docstring>
+        </tp:error>
+        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
+          <tp:docstring>
+            This tube is not in the "open" state.
+          </tp:docstring>
+        </tp:error>
+      </tp:possible-errors>
+    </method>
+
+    <method name="GetDBusNames">
+      <tp:docstring>
+        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="out" type="a(us)" tp:type="DBus_Tube_Member[]">
+        <tp:docstring>
+          An array of structures, each containing a contact handle and a D-Bus
+          bus name.
+        </tp:docstring>
+      </arg>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
+          <tp:docstring>
+            The tube is not a multi-user D-Bus tube.
+          </tp:docstring>
+        </tp:error>
+        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
+          <tp:docstring>
+            This tube is not in the "open" state.
+          </tp:docstring>
+        </tp:error>
+      </tp:possible-errors>
+    </method>
+
+    <signal name="DBusNamesChanged">
+      <tp:docstring>
+        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="added" type="a(us)" tp:type="DBus_Tube_Member[]">
+        <tp:docstring>
+          Array of handles and D-Bus names of new participants.
+        </tp:docstring>
+      </arg>
+      <arg name="removed" type="au" tp:type="Contact_Handle[]">
+        <tp:docstring>
+          Array of handles of former participants.
+        </tp:docstring>
+      </arg>
+    </signal>
+
+    <property name="DBusService" type="s" access="read">
+      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+        <p>A string representing the service name that will be used over the
+          tube. It should be a well-known D-Bus service name, of the form
+          com.example.ServiceName.</p>
+        <p>When requesting a channel with 
+          <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.DRAFT.CreateChannel</tp:dbus-ref>,
+          this property MUST be included in the request.</p>
+      </tp:docstring>
+    </property>
+
+  </interface>
+
+</node>
+<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Channel_Type_StreamTube.xml b/spec/Channel_Type_StreamTube.xml
deleted file mode 100644
index 137df36..0000000
--- a/spec/Channel_Type_StreamTube.xml
+++ /dev/null
@@ -1,216 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Channel_Type_StreamTube" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
-  <tp:copyright>Copyright (C) 2008 Collabora Limited</tp:copyright>
-  <tp:copyright>Copyright (C) 2008 Nokia Corporation</tp:copyright>
-  <tp:license>
-    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.
-
-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.
-
-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.
-  </tp:license>
-  <interface name="org.freedesktop.Telepathy.Channel.Type.StreamTube.DRAFT"
-      tp:causes-havoc="experimental">
-    <tp:requires interface="org.freedesktop.Telepathy.Channel"/>
-    <tp:requires interface="org.freedesktop.Telepathy.Channel.Interface.Tube.DRAFT"/>
-    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-      <p>A stream tube is a transport for ordered, reliable data transfer,
-        similar to SOCK_STREAM sockets.</p>
-
-      <p>When accepting a Stream Unix tube, a new listening local socket is
-        created. Each time the client connects to this socket, the
-        connection manager of the initiator of the tube opens a new
-        connection to its local socket. Both sides can then use this pair
-        of sockets to communicate together.</p>
-
-    </tp:docstring>
-
-    <method name="OfferStreamTube">
-      <tp:docstring>
-        Offer a stream tube exporting the local socket specified.
-      </tp:docstring>
-      <arg direction="in" name="address_type" type="u" tp:type="Socket_Address_Type">
-        <tp:docstring>
-          The type of the listening address of the local service, as a member of
-          Socket_Address_Type.
-        </tp:docstring>
-      </arg>
-      <arg direction="in" name="address" type="v">
-        <tp:docstring>
-          The listening address of the local service, as indicated by the
-          address_type.
-        </tp:docstring>
-      </arg>
-      <arg direction="in" name="access_control" type="u" tp:type="Socket_Access_Control">
-        <tp:docstring>
-          The access control the local service applies to the local socket,
-          specified so the connection manager can behave appropriately
-          when it connects.
-        </tp:docstring>
-      </arg>
-      <arg direction="in" name="access_control_param" type="v">
-        <tp:docstring>
-          A parameter for the access control type, to be interpreted as
-          specified in the documentation for the Socket_Access_Control enum.
-        </tp:docstring>
-      </arg>
-      <tp:possible-errors>
-        <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
-        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
-          <tp:docstring>
-            The contact associated with this channel doesn't have tube
-            capabilities.
-          </tp:docstring>
-        </tp:error>
-        <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
-          <tp:docstring>
-            The connection manager doesn't support stream tubes, or
-            does not support the given address type or access-control type.
-          </tp:docstring>
-        </tp:error>
-      </tp:possible-errors>
-    </method>
-
-    <method name="AcceptStreamTube">
-      <tp:docstring>
-        Accept a stream tube that's in the "local pending" state. The
-        connection manager will attempt to open the tube. The tube remains in
-        the "local pending" state until the TubeStateChanged signal is
-        emitted.
-      </tp:docstring>
-      <arg direction="in" name="address_type" type="u" tp:type="Socket_Address_Type">
-        <tp:docstring>
-          The type of address the connection manager should listen on.
-        </tp:docstring>
-      </arg>
-      <arg direction="in" name="access_control" type="u" tp:type="Socket_Access_Control">
-        <tp:docstring>
-          The type of access control the connection manager should apply to
-          the socket.
-        </tp:docstring>
-      </arg>
-      <arg direction="in" name="access_control_param" type="v">
-        <tp:docstring>
-          A parameter for the access control type, to be interpreted as
-          specified in the documentation for the Socket_Access_Control enum.
-        </tp:docstring>
-      </arg>
-      <arg direction="out" name="address" type="v">
-        <tp:docstring>
-          The address on which the connection manager will listen for
-          connections to this tube. The client should not attempt to connect
-          to the address until the tube is open.
-        </tp:docstring>
-      </arg>
-
-      <tp:possible-errors>
-        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
-          <tp:docstring>
-            The given tube ID is invalid or does not refer to a stream
-            tube.
-          </tp:docstring>
-        </tp:error>
-        <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
-          <tp:docstring>
-            The given address type or access-control mechanism is not supported.
-          </tp:docstring>
-        </tp:error>
-      </tp:possible-errors>
-    </method>
-
-    <method name="GetStreamTubeSocketAddress">
-      <tp:docstring>
-        For a stream tube, obtain the address of the socket used to
-        communicate over this tube.
-      </tp:docstring>
-      <arg direction="out" name="address_type" type="u" tp:type="Socket_Address_Type">
-        <tp:docstring>
-          The type of the listening address of the socket, as a member of
-          Socket_Address_Type.
-        </tp:docstring>
-      </arg>
-      <arg direction="out" name="address" type="v">
-        <tp:docstring>
-          The listening address of the socket, as indicated by the
-          address_type.
-        </tp:docstring>
-      </arg>
-      <tp:possible-errors>
-        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
-          <tp:docstring>
-            This tube is not in the "open" state.
-          </tp:docstring>
-        </tp:error>
-      </tp:possible-errors>
-    </method>
-
-    <signal name="StreamTubeNewConnection">
-      <tp:docstring>
-        Emitted on a stream tube when a participant opens a new connection
-        to its socket.
-      </tp:docstring>
-      <arg name="handle" type="u" tp:type="Contact_Handle">
-        <tp:docstring>
-          The handle of the participant who opened the new connection
-        </tp:docstring>
-      </arg>
-    </signal>
-
-    <property name="StreamService" type="s" access="read">
-      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-        <p> A string representing the service name that will be used over the
-          tube.  It should be a well-known TCP service name as defined by
-          <a href="http://www.iana.org/assignments/port-numbers">
-            http://www.iana.org/assignments/port-numbers</a> or
-          <a href="http://www.dns-sd.org/ServiceTypes.html">
-            http://www.dns-sd.org/ServiceTypes.html</a>, for instance
-          "rsync" or "daap".</p>
-        <p>When requesting a channel with 
-          <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.DRAFT.CreateChannel</tp:dbus-ref>,
-          this property MUST be included in the request.</p>
-      </tp:docstring>
-    </property>
-
-    <property name="AvailableStreamTubeTypes" type="a{uau}"
-              tp:type="Supported_Socket_Map" access="read">
-      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-        <p>A mapping from address types (members of Socket_Address_Type) to
-        arrays of access-control type (members of Socket_Access_Control)
-        that the connection manager supports for stream tubes with that
-        address type. For simplicity, if a CM supports offering a
-        particular type of tube, it is assumed to support accepting it.</p>
-
-        <p>A typical value for a host without IPv6 support:</p>
-
-        <pre>
-          {
-            Socket_Address_Type_IPv4:
-              [Socket_Access_Control_Localhost, Socket_Access_Control_Port,
-               Socket_Access_Control_Netmask],
-            Socket_Address_Type_Unix:
-              [Socket_Access_Control_Localhost, Socket_Access_Control_Credentials]
-          }
-        </pre>
-
-        <p>If stream tubes are not supported, this will be an empty
-          dictionary.</p>
-
-        <p>When requesting a channel with 
-          <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.DRAFT.CreateChannel</tp:dbus-ref>,
-          this property MUST NOT be included in the request.</p>
-
-      </tp:docstring>
-    </property>
-
-  </interface>
-
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->
diff --git a/spec/Channel_Type_Stream_Tube.xml b/spec/Channel_Type_Stream_Tube.xml
new file mode 100644
index 0000000..137df36
--- /dev/null
+++ b/spec/Channel_Type_Stream_Tube.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0" ?>
+<node name="/Channel_Type_StreamTube" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+  <tp:copyright>Copyright (C) 2008 Collabora Limited</tp:copyright>
+  <tp:copyright>Copyright (C) 2008 Nokia Corporation</tp:copyright>
+  <tp:license>
+    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.
+
+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.
+
+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.
+  </tp:license>
+  <interface name="org.freedesktop.Telepathy.Channel.Type.StreamTube.DRAFT"
+      tp:causes-havoc="experimental">
+    <tp:requires interface="org.freedesktop.Telepathy.Channel"/>
+    <tp:requires interface="org.freedesktop.Telepathy.Channel.Interface.Tube.DRAFT"/>
+    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+      <p>A stream tube is a transport for ordered, reliable data transfer,
+        similar to SOCK_STREAM sockets.</p>
+
+      <p>When accepting a Stream Unix tube, a new listening local socket is
+        created. Each time the client connects to this socket, the
+        connection manager of the initiator of the tube opens a new
+        connection to its local socket. Both sides can then use this pair
+        of sockets to communicate together.</p>
+
+    </tp:docstring>
+
+    <method name="OfferStreamTube">
+      <tp:docstring>
+        Offer a stream tube exporting the local socket specified.
+      </tp:docstring>
+      <arg direction="in" name="address_type" type="u" tp:type="Socket_Address_Type">
+        <tp:docstring>
+          The type of the listening address of the local service, as a member of
+          Socket_Address_Type.
+        </tp:docstring>
+      </arg>
+      <arg direction="in" name="address" type="v">
+        <tp:docstring>
+          The listening address of the local service, as indicated by the
+          address_type.
+        </tp:docstring>
+      </arg>
+      <arg direction="in" name="access_control" type="u" tp:type="Socket_Access_Control">
+        <tp:docstring>
+          The access control the local service applies to the local socket,
+          specified so the connection manager can behave appropriately
+          when it connects.
+        </tp:docstring>
+      </arg>
+      <arg direction="in" name="access_control_param" type="v">
+        <tp:docstring>
+          A parameter for the access control type, to be interpreted as
+          specified in the documentation for the Socket_Access_Control enum.
+        </tp:docstring>
+      </arg>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
+        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
+          <tp:docstring>
+            The contact associated with this channel doesn't have tube
+            capabilities.
+          </tp:docstring>
+        </tp:error>
+        <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
+          <tp:docstring>
+            The connection manager doesn't support stream tubes, or
+            does not support the given address type or access-control type.
+          </tp:docstring>
+        </tp:error>
+      </tp:possible-errors>
+    </method>
+
+    <method name="AcceptStreamTube">
+      <tp:docstring>
+        Accept a stream tube that's in the "local pending" state. The
+        connection manager will attempt to open the tube. The tube remains in
+        the "local pending" state until the TubeStateChanged signal is
+        emitted.
+      </tp:docstring>
+      <arg direction="in" name="address_type" type="u" tp:type="Socket_Address_Type">
+        <tp:docstring>
+          The type of address the connection manager should listen on.
+        </tp:docstring>
+      </arg>
+      <arg direction="in" name="access_control" type="u" tp:type="Socket_Access_Control">
+        <tp:docstring>
+          The type of access control the connection manager should apply to
+          the socket.
+        </tp:docstring>
+      </arg>
+      <arg direction="in" name="access_control_param" type="v">
+        <tp:docstring>
+          A parameter for the access control type, to be interpreted as
+          specified in the documentation for the Socket_Access_Control enum.
+        </tp:docstring>
+      </arg>
+      <arg direction="out" name="address" type="v">
+        <tp:docstring>
+          The address on which the connection manager will listen for
+          connections to this tube. The client should not attempt to connect
+          to the address until the tube is open.
+        </tp:docstring>
+      </arg>
+
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
+          <tp:docstring>
+            The given tube ID is invalid or does not refer to a stream
+            tube.
+          </tp:docstring>
+        </tp:error>
+        <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
+          <tp:docstring>
+            The given address type or access-control mechanism is not supported.
+          </tp:docstring>
+        </tp:error>
+      </tp:possible-errors>
+    </method>
+
+    <method name="GetStreamTubeSocketAddress">
+      <tp:docstring>
+        For a stream tube, obtain the address of the socket used to
+        communicate over this tube.
+      </tp:docstring>
+      <arg direction="out" name="address_type" type="u" tp:type="Socket_Address_Type">
+        <tp:docstring>
+          The type of the listening address of the socket, as a member of
+          Socket_Address_Type.
+        </tp:docstring>
+      </arg>
+      <arg direction="out" name="address" type="v">
+        <tp:docstring>
+          The listening address of the socket, as indicated by the
+          address_type.
+        </tp:docstring>
+      </arg>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
+          <tp:docstring>
+            This tube is not in the "open" state.
+          </tp:docstring>
+        </tp:error>
+      </tp:possible-errors>
+    </method>
+
+    <signal name="StreamTubeNewConnection">
+      <tp:docstring>
+        Emitted on a stream tube when a participant opens a new connection
+        to its socket.
+      </tp:docstring>
+      <arg name="handle" type="u" tp:type="Contact_Handle">
+        <tp:docstring>
+          The handle of the participant who opened the new connection
+        </tp:docstring>
+      </arg>
+    </signal>
+
+    <property name="StreamService" type="s" access="read">
+      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+        <p> A string representing the service name that will be used over the
+          tube.  It should be a well-known TCP service name as defined by
+          <a href="http://www.iana.org/assignments/port-numbers">
+            http://www.iana.org/assignments/port-numbers</a> or
+          <a href="http://www.dns-sd.org/ServiceTypes.html">
+            http://www.dns-sd.org/ServiceTypes.html</a>, for instance
+          "rsync" or "daap".</p>
+        <p>When requesting a channel with 
+          <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.DRAFT.CreateChannel</tp:dbus-ref>,
+          this property MUST be included in the request.</p>
+      </tp:docstring>
+    </property>
+
+    <property name="AvailableStreamTubeTypes" type="a{uau}"
+              tp:type="Supported_Socket_Map" access="read">
+      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+        <p>A mapping from address types (members of Socket_Address_Type) to
+        arrays of access-control type (members of Socket_Access_Control)
+        that the connection manager supports for stream tubes with that
+        address type. For simplicity, if a CM supports offering a
+        particular type of tube, it is assumed to support accepting it.</p>
+
+        <p>A typical value for a host without IPv6 support:</p>
+
+        <pre>
+          {
+            Socket_Address_Type_IPv4:
+              [Socket_Access_Control_Localhost, Socket_Access_Control_Port,
+               Socket_Access_Control_Netmask],
+            Socket_Address_Type_Unix:
+              [Socket_Access_Control_Localhost, Socket_Access_Control_Credentials]
+          }
+        </pre>
+
+        <p>If stream tubes are not supported, this will be an empty
+          dictionary.</p>
+
+        <p>When requesting a channel with 
+          <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.DRAFT.CreateChannel</tp:dbus-ref>,
+          this property MUST NOT be included in the request.</p>
+
+      </tp:docstring>
+    </property>
+
+  </interface>
+
+</node>
+<!-- vim:set sw=2 sts=2 et ft=xml: -->
-- 
1.5.6.5




More information about the Telepathy-commits mailing list