diff options
author | Davyd Madeley <davyd@madeley.id.au> | 2009-05-28 17:54:30 +0800 |
---|---|---|
committer | Davyd Madeley <davyd@madeley.id.au> | 2009-05-28 17:54:30 +0800 |
commit | d151261308da99f44410da4f07b78dd56c0cb5f8 (patch) | |
tree | 3ce7b7afbd3e5556cc4d135b4805c41c62fd2acc | |
parent | 395a0eaf7520826c13d7f4b193aa0907b54cf46a (diff) | |
parent | 545342a22a793a45b8f1150c57b8abaa42a5fa7d (diff) | |
download | gsoc2013-empathy-d151261308da99f44410da4f07b78dd56c0cb5f8.tar gsoc2013-empathy-d151261308da99f44410da4f07b78dd56c0cb5f8.tar.gz gsoc2013-empathy-d151261308da99f44410da4f07b78dd56c0cb5f8.tar.bz2 gsoc2013-empathy-d151261308da99f44410da4f07b78dd56c0cb5f8.tar.lz gsoc2013-empathy-d151261308da99f44410da4f07b78dd56c0cb5f8.tar.xz gsoc2013-empathy-d151261308da99f44410da4f07b78dd56c0cb5f8.tar.zst gsoc2013-empathy-d151261308da99f44410da4f07b78dd56c0cb5f8.zip |
Merge commit 'origin/master'
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | extensions/Channel_Interface_Tube.xml | 148 | ||||
-rw-r--r-- | extensions/Channel_Type_DBus_Tube.xml | 163 | ||||
-rw-r--r-- | extensions/Channel_Type_Stream_Tube.xml | 262 | ||||
-rw-r--r-- | extensions/Makefile.am | 5 | ||||
-rw-r--r-- | extensions/misc.xml | 3 | ||||
-rw-r--r-- | libempathy/empathy-tp-tube.c | 27 | ||||
-rw-r--r-- | src/empathy-event-manager.c | 4 | ||||
-rw-r--r-- | src/empathy-tube-dispatch.c | 8 |
9 files changed, 21 insertions, 601 deletions
diff --git a/configure.ac b/configure.ac index 5a27b1afc..0a3455835 100644 --- a/configure.ac +++ b/configure.ac @@ -29,7 +29,7 @@ GLIB_REQUIRED=2.16.0 GTK_REQUIRED=2.16.0 GCONF_REQUIRED=1.2.0 LIBPANELAPPLET_REQUIRED=2.10.0 -TELEPATHY_GLIB_REQUIRED=0.7.27 +TELEPATHY_GLIB_REQUIRED=0.7.31 MISSION_CONTROL_REQUIRED=4.61 ENCHANT_REQUIRED=1.2.0 ISO_CODES_REQUIRED=0.35 diff --git a/extensions/Channel_Interface_Tube.xml b/extensions/Channel_Interface_Tube.xml deleted file mode 100644 index 8e6eb6514..000000000 --- a/extensions/Channel_Interface_Tube.xml +++ /dev/null @@ -1,148 +0,0 @@ -<?xml version="1.0" ?> -<node name="/Channel_Interface_Tube" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> - <tp:copyright>Copyright © 2008-2009 Collabora Limited</tp:copyright> - <tp:copyright>Copyright © 2008-2009 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.Interface.Tube.DRAFT" - tp:causes-havoc="experimental"> - <tp:requires interface="org.freedesktop.Telepathy.Channel"/> - <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> - <p>A <i>tube</i> is a mechanism for arbitrary data transfer between - two or more IM users, used to allow applications on the users' - systems to communicate without having to establish network - connections themselves. Currently, two types of tube exist: - <tp:dbus-ref namespace="org.freedesktop.Telepathy" - >Channel.Type.DBusTube</tp:dbus-ref> and - <tp:dbus-ref namespace="org.freedesktop.Telepathy" - >Channel.Type.StreamTube</tp:dbus-ref>. This interface contains - the properties, signals and methods common to both types of tube; - you can only create channels of a specific tube type, not of this - type. A tube channel contains exactly one tube; if you need several - tubes, you have to create several tube channels.</p> - - <p>Tube channels can be requested for handles of type - HANDLE_TYPE_CONTACT (for 1-1 communication) or of type - HANDLE_TYPE_ROOM (to communicate with others in the room - simultaneously).</p> - - <p>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 - (<tp:dbus-ref namespace="org.freedesktop.Telepathy">Channel.Type.DBusTube</tp:dbus-ref> and/or - <tp:dbus-ref namespace="org.freedesktop.Telepathy">Channel.Type.StreamTube</tp:dbus-ref>) - even if no client has indicated via - <tp:dbus-ref - namespace="org.freedesktop.Telepathy.Connection.Interface.ContactCapabilities.DRAFT">SetSelfCapabilities</tp:dbus-ref> - that such a tube is supported.</p> - - <tp:rationale> - <p>To lower the barrier entry of new tube application, CM SHOULD accept to offer tubes of any - <tp:dbus-ref - namespace="org.freedesktop.Telepathy.Channel.Type.StreamTube.DRAFT">Service</tp:dbus-ref> or - <tp:dbus-ref - namespace="org.freedesktop.Telepathy.Channel.Type.DBusTube.DRAFT">ServiceName</tp:dbus-ref> - if the contact announced to support tubes.</p> - </tp:rationale> - </tp:docstring> - - <property name="Parameters" type="a{sv}" tp:type="String_Variant_Map" - access="read" tp:name-for-bindings="Parameters"> - <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> - <p>Each tube has a dictionary of arbitrary parameters. Parameters are - commonly used to bootstrap legacy protocols where you can't - negotiate parameters in-band. The allowable keys, - types and values are defined by the service. Connection managers - must support the value being a string (D-Bus type 's'), array of bytes - (D-Bus type 'ay'), unsigned integer (D-Bus type 'u'), integer (D-Bus - type 'i') and boolean (D-Bus type 'b').</p> - <p>When the tube is offered, the parameters are transmitted with the - offer and appear as a property of the incoming tube for other - participants.</p> - <p>Example of valid parameters for 'smb' Server Message Block over - TCP/IP (from <a href="http://www.dns-sd.org/ServiceTypes.html">DNS - SRV (RFC 2782) Service Types - http://www.dns-sd.org/ServiceTypes.html</a>): - <code>{'u': 'username', 'p': 'password', 'path': 'path'}</code></p> - <p>When requesting a channel with - <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.CreateChannel</tp:dbus-ref>, - this property MUST NOT be included in the request. This property is undefined until the tube is offered - (using <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel.Type.StreamTube.DRAFT">OfferStreamTube</tp:dbus-ref> - or <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel.Type.DBusTube.DRAFT">OfferDBusTube</tp:dbus-ref>). - Once it has been offered, this property MUST NOT change.</p> - <p>When receiving an incoming tube, this property is immutable and so advertised in the - <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.NewChannels</tp:dbus-ref> - signal.</p> - </tp:docstring> - </property> - - <property name="State" type="u" tp:type="Tube_Channel_State" access="read" - tp:name-for-bindings="State"> - <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> - <p>State of the tube in this channel.</p> - <p>When requesting a channel with - <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.CreateChannel</tp:dbus-ref>, - this property MUST NOT be included in the request.</p> - </tp:docstring> - </property> - - <tp:enum name="Tube_Channel_State" type="u"> - <tp:enumvalue suffix="Local_Pending" value="0"> - <tp:docstring> - The initiator offered the tube. The tube is waiting to be - accepted/closed locally. If the client accepts the tube, the tube's - state will be Open. - </tp:docstring> - </tp:enumvalue> - <tp:enumvalue suffix="Remote_Pending" value="1"> - <tp:docstring> - The tube is waiting to be accepted/closed remotely. If the - recipient accepts the tube, the tube's state will be Open. - </tp:docstring> - </tp:enumvalue> - <tp:enumvalue suffix="Open" value="2"> - <tp:docstring> - The initiator offered the tube and the recipient accepted it. The - tube is open for traffic. The tube's state stays in this state until - it is closed. - </tp:docstring> - </tp:enumvalue> - <tp:enumvalue suffix="Not_Offered" value="3"> - <tp:docstring> - The tube channel has been requested but the tube is not yet offered. - The client should offer the tube to the recipient and the tube's - state will be Remote_Pending. The method to offer the tube depend on - the tube type. - </tp:docstring> - </tp:enumvalue> - </tp:enum> - - <signal name="TubeChannelStateChanged" - tp:name-for-bindings="Tube_Channel_State_Changed"> - <tp:docstring> - Emitted when the state of the tube channel changes. - </tp:docstring> - <arg name="state" type="u" tp:type="Tube_Channel_State"> - <tp:docstring> - The new state of the tube; see the Tube_Channel_State enumeration. - </tp:docstring> - </arg> - </signal> - - </interface> - -</node> -<!-- vim:set sw=2 sts=2 et ft=xml: --> diff --git a/extensions/Channel_Type_DBus_Tube.xml b/extensions/Channel_Type_DBus_Tube.xml deleted file mode 100644 index 513d77caa..000000000 --- a/extensions/Channel_Type_DBus_Tube.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version="1.0" ?> -<node name="/Channel_Type_DBus_Tube" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> - <tp:copyright>Copyright © 2008-2009 Collabora Limited</tp:copyright> - <tp:copyright>Copyright © 2008-2009 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:name-for-bindings="Offer_DBus_Tube"> - <tp:docstring> - Offers a D-Bus tube providing the service specified. - </tp:docstring> - <arg direction="in" name="parameters" type="a{sv}" - tp:type="String_Variant_Map"> - <tp:docstring> - The dictionary of arbitrary - <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel.Interface.Tube.DRAFT">Parameters</tp:dbus-ref> - to send with the tube offer. - </tp:docstring> - </arg> - <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.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:possible-errors> - </method> - - <method name="AcceptDBusTube" tp:name-for-bindings="Accept_DBus_Tube"> - <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> - </method> - - <signal name="DBusNamesChanged" tp:name-for-bindings="DBus_Names_Changed"> - <tp:docstring> - Emitted on a multi-user (i.e. Handle_Type_Room) D-Bus tube when a - participant opens or closes the tube. This provides change - notification for the <tp:member-ref>DBusNames</tp:member-ref> property. - </tp:docstring> - <arg name="added" type="a{us}" tp:type="DBus_Tube_Participants"> - <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="ServiceName" type="s" access="read" - tp:name-for-bindings="Service_Name"> - <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 the tube is offered, the service name is transmitted to the - other end.</p> - <p>When requesting a channel with - <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.CreateChannel</tp:dbus-ref>, - this property MUST be included in the request.</p> - </tp:docstring> - </property> - - <property name="DBusNames" tp:name-for-bindings="DBus_Names" - access="read" type="a{us}" tp:type="DBus_Tube_Participants"> - <tp:docstring> - 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 - <tp:member-ref>DBusNamesChanged</tp:member-ref>. - </tp:docstring> - </property> - - <tp:mapping name="DBus_Tube_Participants"> - <tp:docstring>Represents the participants in a multi-user D-Bus tube, as - used by the <tp:member-ref>DBusNames</tp:member-ref> property and the - <tp:member-ref>DBusNamesChanged</tp:member-ref> signal.</tp:docstring> - <tp:member type="u" tp:type="Contact_Handle" name="Handle"> - <tp:docstring> - The handle of a participant in this D-Bus tube. - </tp:docstring> - </tp:member> - <tp:member type="s" tp:type="DBus_Unique_Name" name="Unique_Name"> - <tp:docstring> - That participant's unique name. - </tp:docstring> - </tp:member> - </tp:mapping> - - </interface> - -</node> -<!-- vim:set sw=2 sts=2 et ft=xml: --> diff --git a/extensions/Channel_Type_Stream_Tube.xml b/extensions/Channel_Type_Stream_Tube.xml deleted file mode 100644 index eed8faf2d..000000000 --- a/extensions/Channel_Type_Stream_Tube.xml +++ /dev/null @@ -1,262 +0,0 @@ -<?xml version="1.0" ?> -<node name="/Channel_Type_Stream_Tube" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> - <tp:copyright>Copyright © 2008-2009 Collabora Limited</tp:copyright> - <tp:copyright>Copyright © 2008-2009 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 offering a stream tube, the initiating client creates a local - listening socket and offers it to the recipient client using the - <tp:member-ref>Offer</tp:member-ref> method. When a - recipient accepts a stream tube using the - <tp:member-ref>Accept</tp:member-ref> method, the - recipient's connection manager creates a new local listening socket. - Each time the recipient's client connects to this socket, the - initiator's connection manager proxies this connection to the - originally offered socket.</p> - - </tp:docstring> - - <method name="Offer" tp:name-for-bindings="Offer"> - <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="parameters" type="a{sv}" - tp:type="String_Variant_Map"> - <tp:docstring> - The dictionary of arbitrary - <tp:dbus-ref namespace="org.freedesktop.Telepathy.Channel.Interface.Tube.DRAFT">Parameters</tp:dbus-ref> - to send with the tube offer. - </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 the given address type - or access-control type. - </tp:docstring> - </tp:error> - </tp:possible-errors> - </method> - - <method name="Accept" tp:name-for-bindings="Accept"> - <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 xmlns="http://www.w3.org/1999/xhtml"> - <p>The type of access control the connection manager should apply to - the socket.</p> - - <p>Note that if you plan to establish more than one connection - through the tube, the Socket_Access_Control_Port access control - can't be used as you can't connect more than once from the same - port.</p> - </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 access_control_param is invalid with the given access_control. - </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> - - <signal name="NewRemoteConnection" - tp:name-for-bindings="New_Remote_Connection"> - <tp:docstring> - Emitted each time 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> - <arg name="Connection_Param" type="v"> - <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> - <p>A parameter which can be used by the listening process to identify - the connection. Note that this parameter has a meaningful value - only in the Socket_Access_Control_Port and - Socket_Access_Control_Credentials cases. If a different - Socket_Access_Control has been choosed when offering the tube, this - parameter should be ignored.</p> - - <p>In the Socket_Access_Control_Port case, the variant - contains a struct Socket_Address_IPv4 (or Socket_Address_IPv6) - containing the address from which the CM is connected to the client - application.</p> - - <p>In the Socket_Access_Control_Credentials case, the variant - contains the byte (D-Bus signature 'y') that has been sent with - the credentials.</p> - </tp:docstring> - </arg> - <arg name="Connection_ID" type="u"> - <tp:docstring> - The unique ID associated with this connection. This ID will be used - to identifiy the connection when reporting errors with - <tp:member-ref>ConnectionClosed</tp:member-ref>. - </tp:docstring> - </arg> - </signal> - - <signal name="NewLocalConnection" - tp:name-for-bindings="New_Local_Connection"> - <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> - <p>Emitted when the tube application connects to CM's socket.</p> - </tp:docstring> - <arg name="Connection_ID" type="u"> - <tp:docstring> - The unique ID associated with this connection. This ID will be used - to identifiy the connection when reporting errors with - <tp:member-ref>ConnectionClosed</tp:member-ref>. - </tp:docstring> - </arg> - </signal> - - <signal name="ConnectionClosed" - tp:name-for-bindings="Connection_Closed" - tp:type="Stream_Tube_Connection_Closed"> - <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> - <p>Emitted when a connection has been closed.</p> - </tp:docstring> - <arg name="Connection_ID" type="u"> - <tp:docstring> - The ID of the connection. - </tp:docstring> - </arg> - <arg name="Error" type="s" tp:type="DBus_Error_Name"> - <tp:docstring> - The name of a D-Bus error describing the error that occurred. - </tp:docstring> - </arg> - </signal> - - <property name="Service" type="s" access="read" - tp:name-for-bindings="Service"> - <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 the tube is offered, the service name is transmitted to the - other end.</p> - <p>When requesting a channel with - <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.CreateChannel</tp:dbus-ref>, - this property MUST be included in the request.</p> - </tp:docstring> - </property> - - <property name="SupportedSocketTypes" type="a{uau}" - tp:type="Supported_Socket_Map" access="read" - tp:name-for-bindings="Supported_Socket_Types"> - <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>Connection Managers MUST support at least IPv4 with the localhost - access control.</p> - - <p>When requesting a channel with - <tp:dbus-ref namespace="org.freedesktop.Telepathy">Connection.Interface.Requests.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/extensions/Makefile.am b/extensions/Makefile.am index 3b154cdd9..85d2c0eda 100644 --- a/extensions/Makefile.am +++ b/extensions/Makefile.am @@ -16,10 +16,7 @@ EXTRA_DIST = \ misc.xml \ Channel_Handler.xml \ Connection_Interface_Location.xml \ - Tube_Handler.xml \ - Channel_Interface_Tube.xml \ - Channel_Type_DBus_Tube.xml \ - Channel_Type_Stream_Tube.xml + Tube_Handler.xml noinst_LTLIBRARIES = libemp-extensions.la diff --git a/extensions/misc.xml b/extensions/misc.xml index a6ad1c648..8b29ebb7c 100644 --- a/extensions/misc.xml +++ b/extensions/misc.xml @@ -6,9 +6,6 @@ <xi:include href="Channel_Handler.xml"/> <xi:include href="Tube_Handler.xml"/> -<xi:include href="Channel_Interface_Tube.xml" /> -<xi:include href="Channel_Type_DBus_Tube.xml" /> -<xi:include href="Channel_Type_Stream_Tube.xml" /> <xi:include href="Connection_Interface_Location.xml"/> </tp:spec> diff --git a/libempathy/empathy-tp-tube.c b/libempathy/empathy-tp-tube.c index c2ec0ba31..7b9b1889e 100644 --- a/libempathy/empathy-tp-tube.c +++ b/libempathy/empathy-tp-tube.c @@ -88,7 +88,7 @@ typedef struct { typedef struct { TpChannel *channel; - EmpTubeChannelState state; + TpTubeChannelState state; gboolean ready; GSList *ready_callbacks; } EmpathyTpTubePriv; @@ -111,8 +111,8 @@ static guint signals[LAST_SIGNAL]; G_DEFINE_TYPE (EmpathyTpTube, empathy_tp_tube, G_TYPE_OBJECT) static void -tp_tube_state_changed_cb (TpProxy *proxy, - EmpTubeChannelState state, +tp_tube_state_changed_cb (TpChannel *channel, + TpTubeChannelState state, gpointer user_data, GObject *tube) { @@ -313,12 +313,12 @@ tp_tube_constructor (GType type, priv->ready = FALSE; - emp_cli_channel_interface_tube_connect_to_tube_channel_state_changed ( - TP_PROXY (priv->channel), tp_tube_state_changed_cb, NULL, NULL, + tp_cli_channel_interface_tube_connect_to_tube_channel_state_changed ( + priv->channel, tp_tube_state_changed_cb, NULL, NULL, self, NULL); tp_cli_dbus_properties_call_get (priv->channel, -1, - EMP_IFACE_CHANNEL_INTERFACE_TUBE, "State", got_tube_state_cb, + TP_IFACE_CHANNEL_INTERFACE_TUBE, "State", got_tube_state_cb, self, NULL, G_OBJECT (self)); return self; @@ -381,7 +381,7 @@ empathy_tp_tube_class_init (EmpathyTpTubeClass *klass) */ g_object_class_install_property (object_class, PROP_STATE, g_param_spec_uint ("state", "state", "state", - 0, NUM_EMP_TUBE_CHANNEL_STATES, 0, + 0, NUM_TP_TUBE_CHANNEL_STATES, 0, G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_STRINGS)); /** * EmpathyTpTube::destroy: @@ -469,7 +469,7 @@ empathy_tp_tube_new_stream_tube (EmpathyContact *contact, /* org.freedesktop.Telepathy.Channel.ChannelType */ value = tp_g_value_slice_new (G_TYPE_STRING); - g_value_set_string (value, EMP_IFACE_CHANNEL_TYPE_STREAM_TUBE); + g_value_set_string (value, TP_IFACE_CHANNEL_TYPE_STREAM_TUBE); g_hash_table_insert (request, TP_IFACE_CHANNEL ".ChannelType", value); /* org.freedesktop.Telepathy.Channel.TargetHandleType */ @@ -486,7 +486,7 @@ empathy_tp_tube_new_stream_tube (EmpathyContact *contact, value = tp_g_value_slice_new (G_TYPE_STRING); g_value_set_string (value, service); g_hash_table_insert (request, - EMP_IFACE_CHANNEL_TYPE_STREAM_TUBE ".Service", value); + TP_IFACE_CHANNEL_TYPE_STREAM_TUBE ".Service", value); if (!tp_cli_connection_interface_requests_run_create_channel (connection, -1, request, &object_path, &channel_properties, &error, NULL)) @@ -518,8 +518,7 @@ empathy_tp_tube_new_stream_tube (EmpathyContact *contact, else g_hash_table_ref (parameters); - if (!emp_cli_channel_type_stream_tube_run_offer ( - TP_PROXY(channel), -1, type, address, + if (!tp_cli_channel_type_stream_tube_run_offer (channel, -1, type, address, TP_SOCKET_ACCESS_CONTROL_LOCALHOST, parameters, &error, NULL)) { @@ -546,7 +545,7 @@ OUT: } static void -tp_tube_accept_stream_cb (TpProxy *proxy, +tp_tube_accept_stream_cb (TpChannel *channel, const GValue *address, const GError *error, gpointer user_data, @@ -609,8 +608,8 @@ empathy_tp_tube_accept_stream_tube (EmpathyTpTube *tube, data = new_empathy_tp_tube_accept_data (type, callback, user_data); - emp_cli_channel_type_stream_tube_call_accept ( - TP_PROXY (priv->channel), -1, type, TP_SOCKET_ACCESS_CONTROL_LOCALHOST, + tp_cli_channel_type_stream_tube_call_accept ( + priv->channel, -1, type, TP_SOCKET_ACCESS_CONTROL_LOCALHOST, control_param, tp_tube_accept_stream_cb, data, free_empathy_tp_tube_accept_data, G_OBJECT (tube)); diff --git a/src/empathy-event-manager.c b/src/empathy-event-manager.c index 57434e912..bd31b193e 100644 --- a/src/empathy-event-manager.c +++ b/src/empathy-event-manager.c @@ -857,8 +857,8 @@ event_manager_approve_channel_cb (EmpathyDispatcher *dispatcher, g_free (header); } - else if (!tp_strdiff (channel_type, EMP_IFACE_CHANNEL_TYPE_STREAM_TUBE) || - !tp_strdiff (channel_type, EMP_IFACE_CHANNEL_TYPE_DBUS_TUBE)) + else if (!tp_strdiff (channel_type, TP_IFACE_CHANNEL_TYPE_STREAM_TUBE) || + !tp_strdiff (channel_type, TP_IFACE_CHANNEL_TYPE_DBUS_TUBE)) { TpChannel *channel; TpHandle handle; diff --git a/src/empathy-tube-dispatch.c b/src/empathy-tube-dispatch.c index 545f67935..67db5a3a3 100644 --- a/src/empathy-tube-dispatch.c +++ b/src/empathy-tube-dispatch.c @@ -159,19 +159,19 @@ empathy_tube_dispatch_constructed (GObject *object) if (channel_type == NULL) goto failed; - if (!tp_strdiff (channel_type, EMP_IFACE_CHANNEL_TYPE_STREAM_TUBE)) + if (!tp_strdiff (channel_type, TP_IFACE_CHANNEL_TYPE_STREAM_TUBE)) { type = TP_TUBE_TYPE_STREAM; service = tp_asv_get_string (properties, - EMP_IFACE_CHANNEL_TYPE_STREAM_TUBE ".Service"); + TP_IFACE_CHANNEL_TYPE_STREAM_TUBE ".Service"); } - else if (!tp_strdiff (channel_type, EMP_IFACE_CHANNEL_TYPE_DBUS_TUBE)) + else if (!tp_strdiff (channel_type, TP_IFACE_CHANNEL_TYPE_DBUS_TUBE)) { GError *error = NULL; type = TP_TUBE_TYPE_DBUS; service = tp_asv_get_string (properties, - EMP_IFACE_CHANNEL_TYPE_DBUS_TUBE ".ServiceName"); + TP_IFACE_CHANNEL_TYPE_DBUS_TUBE ".ServiceName"); if (!tp_dbus_check_valid_bus_name (service, TP_DBUS_NAME_TYPE_WELL_KNOWN, &error)) |