Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(264)

Side by Side Diff: third_party/twisted_8_1/twisted/words/protocols/jabber/ijabber.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright (c) 2001-2008 Twisted Matrix Laboratories.
2 # See LICENSE for details.
3
4 """
5 Public Jabber Interfaces.
6 """
7
8 from zope.interface import Attribute, Interface
9
10 class IInitializer(Interface):
11 """
12 Interface for XML stream initializers.
13
14 Initializers perform a step in getting the XML stream ready to be
15 used for the exchange of XML stanzas.
16 """
17
18
19
20 class IInitiatingInitializer(IInitializer):
21 """
22 Interface for XML stream initializers for the initiating entity.
23 """
24
25 xmlstream = Attribute("""The associated XML stream""")
26
27 def initialize():
28 """
29 Initiate the initialization step.
30
31 May return a deferred when the initialization is done asynchronously.
32 """
33
34
35
36 class IIQResponseTracker(Interface):
37 """
38 IQ response tracker interface.
39
40 The XMPP stanza C{iq} has a request-response nature that fits
41 naturally with deferreds. You send out a request and when the response
42 comes back a deferred is fired.
43
44 The L{IQ} class implements a C{send} method that returns a deferred. This
45 deferred is put in a dictionary that is kept in an L{XmlStream} object,
46 keyed by the request stanzas C{id} attribute.
47
48 An object providing this interface (usually an instance of L{XmlStream}),
49 keeps the said dictionary and sets observers on the iq stanzas of type
50 C{result} and C{error} and lets the callback fire the associated deferred.
51 """
52 iqDeferreds = Attribute("Dictionary of deferreds waiting for an iq "
53 "response")
54
55
56
57 class IXMPPHandler(Interface):
58 """
59 Interface for XMPP protocol handlers.
60
61 Objects that provide this interface can be added to a stream manager to
62 handle of (part of) an XMPP extension protocol.
63 """
64
65 parent = Attribute("""XML stream manager for this handler""")
66 xmlstream = Attribute("""The managed XML stream""")
67
68 def setHandlerParent(parent):
69 """
70 Set the parent of the handler.
71
72 @type parent: L{IXMPPHandlerCollection}
73 """
74
75
76 def disownHandlerParent(parent):
77 """
78 Remove the parent of the handler.
79
80 @type parent: L{IXMPPHandlerCollection}
81 """
82
83
84 def makeConnection(xs):
85 """
86 A connection over the underlying transport of the XML stream has been
87 established.
88
89 At this point, no traffic has been exchanged over the XML stream
90 given in C{xs}.
91
92 This should setup L{xmlstream} and call L{connectionMade}.
93
94 @type xs: L{XmlStream<twisted.words.protocols.jabber.XmlStream>}
95 """
96
97
98 def connectionMade():
99 """
100 Called after a connection has been established.
101
102 This method can be used to change properties of the XML Stream, its
103 authenticator or the stream manager prior to stream initialization
104 (including authentication).
105 """
106
107
108 def connectionInitialized():
109 """
110 The XML stream has been initialized.
111
112 At this point, authentication was successful, and XML stanzas can be
113 exchanged over the XML stream L{xmlstream}. This method can be
114 used to setup observers for incoming stanzas.
115 """
116
117
118 def connectionLost(reason):
119 """
120 The XML stream has been closed.
121
122 Subsequent use of L{parent.send} will result in data being queued
123 until a new connection has been established.
124
125 @type reason: L{twisted.python.failure.Failure}
126 """
127
128
129
130 class IXMPPHandlerCollection(Interface):
131 """
132 Collection of handlers.
133
134 Contain several handlers and manage their connection.
135 """
136
137 def __iter__():
138 """
139 Get an iterator over all child handlers.
140 """
141
142
143 def addHandler(handler):
144 """
145 Add a child handler.
146
147 @type handler: L{IXMPPHandler}
148 """
149
150
151 def removeHandler(handler):
152 """
153 Remove a child handler.
154
155 @type handler: L{IXMPPHandler}
156 """
157
158
159
160 class IService(Interface):
161 """
162 External server-side component service interface.
163
164 Services that provide this interface can be added to L{ServiceManager} to
165 implement (part of) the functionality of the server-side component.
166 """
167
168 def componentConnected(xs):
169 """
170 Parent component has established a connection.
171
172 At this point, authentication was succesful, and XML stanzas
173 can be exchanged over the XML stream L{xs}. This method can be used
174 to setup observers for incoming stanzas.
175
176 @param xs: XML Stream that represents the established connection.
177 @type xs: L{xmlstream.XmlStream}
178 """
179
180
181 def componentDisconnected():
182 """
183 Parent component has lost the connection to the Jabber server.
184
185 Subsequent use of C{self.parent.send} will result in data being
186 queued until a new connection has been established.
187 """
188
189
190 def transportConnected(xs):
191 """
192 Parent component has established a connection over the underlying
193 transport.
194
195 At this point, no traffic has been exchanged over the XML stream. This
196 method can be used to change properties of the XML Stream (in L{xs}),
197 the service manager or it's authenticator prior to stream
198 initialization (including authentication).
199 """
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698