| 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. | |
| 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`
|
| Home | Trees | Index | Help |
|
|---|
| Generated by Epydoc 2.1 on Wed May 31 22:36:59 2006 | http://epydoc.sf.net |