From: Guillaume Desmottes Date: Mon, 16 Feb 2009 21:25:06 +0000 (+0000) Subject: Upgrade to latest tube draft X-Git-Url: https://git.0d.be/?p=empathy.git;a=commitdiff_plain;h=22171e223624ae93d06404cd4b6729204e3b5328 Upgrade to latest tube draft From: Guillaume Desmottes svn path=/trunk/; revision=2485 --- diff --git a/extensions/Channel_Interface_Tube.xml b/extensions/Channel_Interface_Tube.xml index 8e1ffab3..8e6eb651 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 a3b98d7e..513d77ca 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 4a43a007..060cd0bb 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.