Home | Trees | Index | Help |
|
---|
Package pyxmpp :: Package jabberd :: Module component :: Class Component |
|
Jabber external component ("jabber:component:accept" protocol) interface implementation. Override this class to build your components. :Ivariables: - `jid`: component JID (should contain only the domain part). - `secret`: the authentication secret. - `server`: server to which the commonent will connect. - `port`: port number on the server to which the commonent will connect. - `keepalive`: keepalive interval for the stream. - `stream`: the XMPP stream object for the active connection or `None` if no connection is active. - `disco_items`: disco items announced by the component. Created when a stream is connected. - `disco_info`: disco info announced by the component. Created when a stream is connected. - `disco_identity`: disco identity (part of disco info) announced by the component. Created when a stream is connected. - `disco_category`: disco category to be used to create `disco_identity`. - `disco_type`: disco type to be used to create `disco_identity`. :Types: - `jid`: `pyxmpp.JID` - `secret`: `unicode` - `server`: `unicode` - `port`: `int` - `keepalive`: `int` - `stream`: `pyxmpp.jabberd.ComponentStream` - `disco_items`: `pyxmpp.jabber.DiscoItems` - `disco_info`: `pyxmpp.jabber.DiscoInfo` - `disco_identity`: `pyxmpp.jabber.DiscoIdentity` - `disco_category`: `str` - `disco_type`: `str`
Method Summary | |
---|---|
Initialize a `Component` object. | |
Handle successful authentication event. | |
Handle successful authorization event. | |
Establish a connection with the server. | |
Handle stream connection event. | |
Get disco#info data for a node. | |
Get disco#items data for a node. | |
Disconnect from the server. | |
Handle stream disconnection (connection closed by peer) event. | |
Get the stream of the component in a safe way. | |
Do some "housekeeping" work like <iq/> result expiration. | |
Simple 'main loop' for a component. | |
Register a feature to be announced by Service Discovery. | |
Get the socket of the connection to the server. | |
Handle stream closure event. | |
Handle stream creation event. | |
Handle a stream error received. | |
Handle a stream state change. | |
Unregister a feature to be announced by Service Discovery. | |
Handle a disco-info query. | |
Handle a disco-items query. | |
Handle various stream state changes and call right methods of `self`. |
Method Details |
---|
__init__(self,
jid=None,
secret=None,
server=None,
port=5347,
disco_name=u'PyXMPP based component',
disco_category=u'x-service',
disco_type=u'x-unknown',
keepalive=0)
|
authenticated(self)Handle successful authentication event. A good place to register stanza handlers and disco features. [should be overriden in derived classes] By default: set disco#info and disco#items handlers. |
authorized(self)Handle successful authorization event. |
connect(self)Establish a connection with the server. Set `self.stream` to the `pyxmpp.jabberd.ComponentStream` when initial connection succeeds. :raise ComponentError: when some of the component properties (`self.jid`, `self.secret`,`self.server` or `self.port`) are wrong. |
connected(self)Handle stream connection event. [may be overriden in derived classes] By default: do nothing. |
disco_get_info(self, node, iq)Get disco#info data for a node. [may be overriden in derived classes] By default: return `self.disco_info` if no specific node name is provided. :Parameters: - `node`: name of the node queried. - `iq`: the stanza received. :Types: - `node`: `unicode` - `iq`: `pyxmpp.Iq` |
disco_get_items(self, node, iq)Get disco#items data for a node. [may be overriden in derived classes] By default: return `self.disco_items` if no specific node name is provided. :Parameters: - `node`: name of the node queried. - `iq`: the stanza received. :Types: - `node`: `unicode` - `iq`: `pyxmpp.Iq` |
disconnect(self)Disconnect from the server. |
disconnected(self)Handle stream disconnection (connection closed by peer) event. [may be overriden in derived classes] By default: do nothing. |
get_stream(self)Get the stream of the component in a safe way. :return: Stream object for the component or `None` if no connection is active. :returntype: `pyxmpp.jabberd.ComponentStream` |
idle(self)Do some "housekeeping" work like <iq/> result expiration. Should be called on a regular basis, usually when the component is idle. |
loop(self, timeout=1)Simple 'main loop' for a component. This usually will be replaced by something more sophisticated. E.g. handling of other input sources. |
register_feature(self, feature_name)Register a feature to be announced by Service Discovery. :Parameters: - `feature_name`: feature namespace or name. :Types: - `feature_name`: `unicode` |
socket(self)Get the socket of the connection to the server. :return: the socket. :returntype: `socket.socket` |
stream_closed(self, stream)Handle stream closure event. [may be overriden in derived classes] By default: do nothing. :Parameters: - `stream`: the stream just created. :Types: - `stream`: `pyxmpp.jabberd.ComponentStream` |
stream_created(self, stream)Handle stream creation event. [may be overriden in derived classes] By default: do nothing. :Parameters: - `stream`: the stream just created. :Types: - `stream`: `pyxmpp.jabberd.ComponentStream` |
stream_error(self, err)Handle a stream error received. [may be overriden in derived classes] By default: just log it. The stream will be closed anyway. :Parameters: - `err`: the error element received. :Types: - `err`: `pyxmpp.error.StreamErrorNode` |
stream_state_changed(self, state, arg)Handle a stream state change. [may be overriden in derived classes] By default: do nothing. :Parameters: - `state`: state name. - `arg`: state parameter. :Types: - `state`: `string` - `arg`: any object |
unregister_feature(self, feature_name)Unregister a feature to be announced by Service Discovery. :Parameters: - `feature_name`: feature namespace or name. :Types: - `feature_name`: `unicode` |
__disco_info(self, iq)Handle a disco-info query. :Parameters: - `iq`: the stanza received. Types: - `iq`: `pyxmpp.Iq` |
__disco_items(self, iq)Handle a disco-items query. :Parameters: - `iq`: the stanza received. Types: - `iq`: `pyxmpp.Iq` |
__stream_state_change(self, state, arg)Handle various stream state changes and call right methods of `self`. :Parameters: - `state`: state name. - `arg`: state parameter. :Types: - `state`: `string` - `arg`: any object |
Home | Trees | Index | Help |
|
---|
Generated by Epydoc 2.1 on Wed May 31 22:36:59 2006 | http://epydoc.sf.net |