Include _generated now so I get all the latest fancy stuff
[theonering] / src / tp / _generated / Channel_Interface_Tube.py
1 # -*- coding: utf-8 -*-
2 # Generated from the Telepathy spec
3 """Copyright © 2008-2009 Collabora Limited
4 Copyright © 2008-2009 Nokia Corporation
5
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.
10
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.
15
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.
19   
20 """
21
22 import dbus.service
23
24
25 class ChannelInterfaceTube(dbus.service.Interface):
26     """\
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.
37
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).
41
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
48         UpdateCapabilities
49         that such a tube is supported. They SHOULD also allow clients to offer tubes with any
50         Service or
51         ServiceName
52         to any contact which supports the corresponding tube capability.
53
54       
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.
58       
59     """
60
61     def __init__(self):
62         self._interfaces.add('org.freedesktop.Telepathy.Channel.Interface.Tube')
63
64     @dbus.service.signal('org.freedesktop.Telepathy.Channel.Interface.Tube', signature='u')
65     def TubeChannelStateChanged(self, State):
66         """
67         Emitted when the state of the tube channel changes. Valid state
68         transitions are documented with Tube_Channel_State.
69       
70         """
71         pass
72