# ``twisted`.`words`.`protocols`.`jabber`.`ijabber`.`IService``

interface documentation

`class IService(Interface): (source)`

Known implementations: `twisted.words.protocols.jabber.component.Service`

View In Hierarchy

External server-side component service interface.

Services that provide this interface can be added to `ServiceManager` to implement (part of) the functionality of the server-side component.

Method | `componentConnected` | Parent component has established a connection.
Method | `componentDisconnected` | Parent component has lost the connection to the Jabber server.
Method | `transportConnected` | Parent component has established a connection over the underlying transport.

def componentConnected(xs): (source)

Parent component has established a connection.

At this point, authentication was successful, and XML stanzas can be exchanged over the XML stream `xs`. This method can be used to setup observers for incoming stanzas.

Parameters
xs:`xmlstream.XmlStream` | XML Stream that represents the established connection.

def componentDisconnected(): (source)

Parent component has lost the connection to the Jabber server.

Subsequent use of `self.parent.send` will result in data being queued until a new connection has been established.

def transportConnected(xs): (source)

Parent component has established a connection over the underlying transport.

At this point, no traffic has been exchanged over the XML stream. This method can be used to change properties of the XML Stream (in `xs`), the service manager or it's authenticator prior to stream initialization (including authentication).