From 22171e223624ae93d06404cd4b6729204e3b5328 Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes
Date: Mon, 16 Feb 2009 21:25:06 +0000
Subject: Upgrade to latest tube draft
From: Guillaume Desmottes
svn path=/trunk/; revision=2485
---
extensions/Channel_Interface_Tube.xml | 47 +++++++++----
extensions/Channel_Type_DBus_Tube.xml | 114 +++++++++++++-------------------
extensions/Channel_Type_Stream_Tube.xml | 16 +++--
3 files changed, 93 insertions(+), 84 deletions(-)
diff --git a/extensions/Channel_Interface_Tube.xml b/extensions/Channel_Interface_Tube.xml
index 8e1ffab3a..8e6eb6514 100644
--- a/extensions/Channel_Interface_Tube.xml
+++ b/extensions/Channel_Interface_Tube.xml
@@ -1,7 +1,7 @@
- Copyright (C) 2008 Collabora Limited
- Copyright (C) 2008 Nokia Corporation
+ Copyright © 2008-2009 Collabora Limited
+ Copyright © 2008-2009 Nokia Corporation
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -38,10 +38,29 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
HANDLE_TYPE_CONTACT (for 1-1 communication) or of type
HANDLE_TYPE_ROOM (to communicate with others in the room
simultaneously).
+
+ As an exception to the usual handling of capabilities, connection managers
+ for protocols with capability discovery, such as XMPP, SHOULD advertise the
+ capability representing each Tube type that they support
+ (Channel.Type.DBusTube and/or
+ Channel.Type.StreamTube)
+ even if no client has indicated via
+ SetSelfCapabilities
+ that such a tube is supported.
+
+
+ To lower the barrier entry of new tube application, CM SHOULD accept to offer tubes of any
+ Service or
+ ServiceName
+ if the contact announced to support tubes.
+
+ access="read" tp:name-for-bindings="Parameters">
Each tube has a dictionary of arbitrary parameters. Parameters are
commonly used to bootstrap legacy protocols where you can't
@@ -58,21 +77,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
SRV (RFC 2782) Service Types
http://www.dns-sd.org/ServiceTypes.html):
{'u': 'username', 'p': 'password', 'path': 'path'}
- When requesting a channel with
+
When requesting a channel with
Connection.Interface.Requests.CreateChannel,
- this property MAY be included in the request. If it is not included in
- the request, the connection manager MUST consider the property to be
- empty. This property MAY be changed after the channel creation when
- the tube is in the state Not_Offered. If the tube is in another
- state, changing this property MUST fail without side effects.
+ this property MUST NOT be included in the request. This property is undefined until the tube is offered
+ (using OfferStreamTube
+ or OfferDBusTube).
+ Once it has been offered, this property MUST NOT change.
+ When receiving an incoming tube, this property is immutable and so advertised in the
+ Connection.Interface.Requests.NewChannels
+ signal.
-
+
- Status of the tube in this channel.
- When requesting a channel with
+
State of the tube in this channel.
+ When requesting a channel with
Connection.Interface.Requests.CreateChannel,
this property MUST NOT be included in the request.
diff --git a/extensions/Channel_Type_DBus_Tube.xml b/extensions/Channel_Type_DBus_Tube.xml
index a3b98d7e4..513d77caa 100644
--- a/extensions/Channel_Type_DBus_Tube.xml
+++ b/extensions/Channel_Type_DBus_Tube.xml
@@ -1,7 +1,7 @@
- Copyright (C) 2008 Collabora Limited
- Copyright (C) 2008 Nokia Corporation
+ Copyright © 2008-2009 Collabora Limited
+ Copyright © 2008-2009 Nokia Corporation
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -58,6 +58,20 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Offers a D-Bus tube providing the service specified.
+
+
+ The dictionary of arbitrary
+ Parameters
+ to send with the tube offer.
+
+
+
+
+ The string describing the address of the private bus. The client
+ SHOULD not attempt to connect to the address until the tube is open.
+
+
@@ -66,11 +80,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
capabilities.
-
-
- The connection manager doesn't support D-Bus tubes.
-
-
@@ -87,71 +96,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
SHOULD not attempt to connect to the address until the tube is open.
-
-
-
- The given tube ID is invalid or does not refer to a D-Bus
- tube.
-
-
-
-
-
-
-
- Return a string describing the address of the private bus.
-
-
-
- The bus address.
-
-
-
-
-
- The tube is not a D-Bus tube.
-
-
-
-
- This tube is not in the "open" state.
-
-
-
-
-
-
-
- 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.
-
-
-
- An array of structures, each containing a contact handle and a D-Bus
- bus name.
-
-
-
-
-
- The tube is not a multi-user D-Bus tube.
-
-
-
-
- This tube is not in the "open" state.
-
-
-
Emitted on a multi-user (i.e. Handle_Type_Room) D-Bus tube when a
- participant opens or closes the tube.
+ participant opens or closes the tube. This provides change
+ notification for the DBusNames property.
-
+
Array of handles and D-Bus names of new participants.
@@ -171,12 +124,39 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
com.example.ServiceName.
When the tube is offered, the service name is transmitted to the
other end.
- When requesting a channel with
+
When requesting a channel with
Connection.Interface.Requests.CreateChannel,
this property MUST be included in the request.
+
+
+ For a multi-user (i.e. Handle_Type_Room) D-Bus tube, a mapping
+ between contact handles and their unique bus names on this tube.
+ For a peer-to-peer (i.e. Handle_Type_Contact) D-Bus tube, the empty
+ dictionary. Change notification is via
+ DBusNamesChanged.
+
+
+
+
+ Represents the participants in a multi-user D-Bus tube, as
+ used by the DBusNames property and the
+ DBusNamesChanged signal.
+
+
+ The handle of a participant in this D-Bus tube.
+
+
+
+
+ That participant's unique name.
+
+
+
+
diff --git a/extensions/Channel_Type_Stream_Tube.xml b/extensions/Channel_Type_Stream_Tube.xml
index 4a43a0074..060cd0bb0 100644
--- a/extensions/Channel_Type_Stream_Tube.xml
+++ b/extensions/Channel_Type_Stream_Tube.xml
@@ -1,7 +1,7 @@
- Copyright (C) 2008 Collabora Limited
- Copyright (C) 2008 Nokia Corporation
+ Copyright © 2008-2009 Collabora Limited
+ Copyright © 2008-2009 Nokia Corporation
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -66,6 +66,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
specified in the documentation for the Socket_Access_Control enum.
+
+
+ The dictionary of arbitrary
+ Parameters
+ to send with the tube offer.
+
+
@@ -154,7 +162,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
"rsync" or "daap".
When the tube is offered, the service name is transmitted to the
other end.
- When requesting a channel with
+
When requesting a channel with
Connection.Interface.Requests.CreateChannel,
this property MUST be included in the request.
@@ -185,7 +193,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Connection Managers MUST support at least IPv4 with the localhost
access control.
- When requesting a channel with
+
When requesting a channel with
Connection.Interface.Requests.CreateChannel,
this property MUST NOT be included in the request.
--
cgit v1.2.3