1 # -*- coding: utf-8 -*-
2 # Generated from the Telepathy spec
3 """Copyright © 2008-2009 Collabora Limited
4 Copyright © 2008-2009 Nokia Corporation
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25 class ChannelInterfaceTube(dbus.service.Interface):
27 A tube is a mechanism for arbitrary data transfer between
28 two or more IM users, used to allow applications on the users'
29 systems to communicate without having to establish network
30 connections themselves. Currently, two types of tube exist:
31 Channel.Type.DBusTube and
32 Channel.Type.StreamTube. This interface contains
33 the properties, signals and methods common to both types of tube;
34 you can only create channels of a specific tube type, not of this
35 type. A tube channel contains exactly one tube; if you need several
36 tubes, you have to create several tube channels.
38 Tube channels can be requested for Handle_Type
39 Contact (for 1-1 communication) or Room (to communicate with others in
40 the room simultaneously).
42 As an exception to the usual handling of capabilities, connection managers
43 for protocols with capability discovery (such as XMPP) SHOULD advertise the
44 capability representing each Tube type that they support
45 (Channel.Type.DBusTube and/or
46 Channel.Type.StreamTube)
47 even if no client has indicated via
49 that such a tube is supported. They SHOULD also allow clients to offer tubes with any
52 to any contact which supports the corresponding tube capability.
55 This lowers the barrier to entry for those writing new tube
56 applications, and preserves interoperability with older versions of
57 the Telepathy stack which did not support rich capabilities.
62 self._interfaces.add('org.freedesktop.Telepathy.Channel.Interface.Tube')
64 @dbus.service.signal('org.freedesktop.Telepathy.Channel.Interface.Tube', signature='u')
65 def TubeChannelStateChanged(self, State):
67 Emitted when the state of the tube channel changes. Valid state
68 transitions are documented with Tube_Channel_State.