# ``twisted`.`words`.`protocols`.`jabber`.`xmlstream`.`XMPPHandler``

class documentation

`class XMPPHandler: (source)`

Implements interfaces: `twisted.words.protocols.jabber.ijabber.IXMPPHandler`

View In Hierarchy

XMPP protocol handler.

Classes derived from this class implement (part of) one or more XMPP extension protocols, and are referred to as a subprotocol implementation.

Method | `__init__` | Undocumented
Method | `connectionInitialized` | The XML stream has been initialized.
Method | `connectionLost` | The XML stream has been closed.
Method | `connectionMade` | Called after a connection has been established.
Method | `disownHandlerParent` | Remove the parent of the handler.
Method | `makeConnection` | A connection over the underlying transport of the XML stream has been established.
Method | `send` | Send data over the managed XML stream.
Method | `setHandlerParent` | Set the parent of the handler.
Instance Variable | `parent` | XML stream manager for this handler
Instance Variable | `xmlstream` | The managed XML stream

def __init__(self): (source)

Undocumented

def connectionInitialized(self): (source)
from `twisted.words.protocols.jabber.ijabber.IXMPPHandler`

The XML stream has been initialized.

Can be overridden to perform work after stream initialization, e.g. to set up observers and start exchanging XML stanzas.

def connectionLost(self, reason): (source)
from `twisted.words.protocols.jabber.ijabber.IXMPPHandler`

The XML stream has been closed.

This method can be extended to inspect the `reason` argument and act on it.

def connectionMade(self): (source)
from `twisted.words.protocols.jabber.ijabber.IXMPPHandler`

Called after a connection has been established.

Can be overridden to perform work before stream initialization.

def disownHandlerParent(self, parent): (source)
from `twisted.words.protocols.jabber.ijabber.IXMPPHandler`
Remove the parent of the handler.

Parameters
parent:`IXMPPHandlerCollection` | Undocumented

def makeConnection(self, xs): (source)
from `twisted.words.protocols.jabber.ijabber.IXMPPHandler`

A connection over the underlying transport of the XML stream has been established.

At this point, no traffic has been exchanged over the XML stream given in `xs`.

This should setup `xmlstream` and call `connectionMade`.

Parameters
xs:`twisted.words.protocols.jabber.xmlstream.XmlStream` | Undocumented

def send(self, obj): (source)
Send data over the managed XML stream.

Parameters
obj | data to be sent over the XML stream. This is usually an object providing `domish.IElement`, or serialized XML. See `xmlstream.XmlStream` for details.
Note
The stream manager maintains a queue for data sent using this method when there is no current initialized XML stream. This data is then sent as soon as a new stream has been established and initialized. Subsequently, `connectionInitialized` will be called again. If this queueing is not desired, use `send` on `self.xmlstream`.

def setHandlerParent(self, parent): (source)
from `twisted.words.protocols.jabber.ijabber.IXMPPHandler`
Set the parent of the handler.

Parameters
parent:`IXMPPHandlerCollection` | Undocumented

parent = (source)
from `twisted.words.protocols.jabber.ijabber.IXMPPHandler`
XML stream manager for this handler
xmlstream = (source)
from `twisted.words.protocols.jabber.ijabber.IXMPPHandler`
The managed XML stream