Changeset 4:e8e7d5543a6f for wokkel/subprotocols.py
- Timestamp:
- Aug 22, 2007, 5:00:48 PM (15 years ago)
- Branch:
- default
- Convert:
- svn:b33ecbfc-034c-dc11-8662-000475d9059e/trunk@5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wokkel/subprotocols.py
r1 r4 16 16 from twisted.words.xish.domish import IElement 17 17 18 from wokkel.iwokkel import IXMPPHandler 18 from wokkel.iwokkel import IXMPPHandler, IXMPPHandlerCollection 19 19 20 20 class XMPPHandler(object): 21 21 implements(IXMPPHandler) 22 23 def setHandlerParent(self, parent): 24 self.parent = parent 25 self.parent.addHandler(self) 26 27 def disownHandlerParent(self, parent): 28 self.parent.removeHandler(self) 29 self.parent = None 22 30 23 31 def makeConnection(self, xs): … … 49 57 L{xmlstream.XmlStream} for details. 50 58 """ 51 self.manager.send(obj) 52 53 class XMPPHandlerContainer(object): 54 """ 55 Container for XMPP subprotocol handlers. 56 """ 59 self.parent.send(obj) 60 61 62 class XMPPHandlerCollection(object): 63 """ 64 Collection of XMPP subprotocol handlers. 65 66 This allows for grouping of subprotocol handlers, but is not an 67 L{XMPPHandler} itself, so this is not recursive. 68 69 @ivar xmlstream: Currently managed XML stream. 70 @type xmlstream: L{XmlStream} 71 @ivar handlers: List of protocol handlers. 72 @type handlers: L{list} of objects providing 73 L{IXMPPHandler} 74 """ 75 76 implements(IXMPPHandlerCollection) 57 77 58 78 def __init__(self): … … 78 98 79 99 self.handlers.append(handler) 80 handler.manager = self81 100 82 101 # get protocol handler up to speed when a connection has already … … 91 110 """ 92 111 93 handler.manager = None94 112 self.handlers.remove(handler) 95 113 96 class StreamManager(XMPPHandlerCo ntainer):114 class StreamManager(XMPPHandlerCollection): 97 115 """ 98 116 Business logic representing a managed XMPP connection. … … 103 121 using L{addHandler}. 104 122 105 @ivar xmlstream: currently managed XML stream106 @type xmlstream: L{XmlStream}107 @ivar handlers: list of protocol handlers108 @type handlers: L{list} of objects providing109 L{IXMPPHandler}110 123 @ivar logTraffic: if true, log all traffic. 111 124 @type logTraffic: L{bool}
Note: See TracChangeset
for help on using the changeset viewer.