aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavyd Madeley <davyd@madeley.id.au>2009-05-28 17:54:30 +0800
committerDavyd Madeley <davyd@madeley.id.au>2009-05-28 17:54:30 +0800
commitd151261308da99f44410da4f07b78dd56c0cb5f8 (patch)
tree3ce7b7afbd3e5556cc4d135b4805c41c62fd2acc
parent395a0eaf7520826c13d7f4b193aa0907b54cf46a (diff)
parent545342a22a793a45b8f1150c57b8abaa42a5fa7d (diff)
downloadgsoc2013-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.ac2
-rw-r--r--extensions/Channel_Interface_Tube.xml148
-rw-r--r--extensions/Channel_Type_DBus_Tube.xml163
-rw-r--r--extensions/Channel_Type_Stream_Tube.xml262
-rw-r--r--extensions/Makefile.am5
-rw-r--r--extensions/misc.xml3
-rw-r--r--libempathy/empathy-tp-tube.c27
-rw-r--r--src/empathy-event-manager.c4
-rw-r--r--src/empathy-tube-dispatch.c8
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))