#include <messagefilter.h>
Inherited by ChatStateFilter, InBandBytestream, and MessageEventFilter.
Inheritance diagram for MessageFilter:
Public Member Functions | |
MessageFilter (MessageSession *parent) | |
virtual | ~MessageFilter () |
virtual void | attachTo (MessageSession *session) |
virtual void | decorate (Tag *tag)=0 |
virtual void | filter (Stanza *stanza)=0 |
Protected Attributes | |
MessageSession * | m_parent |
A message filter is fed with all messages passing through a MessageSession. It can modify the XML/XMPP structure and/or the message content at will. Messages arriving from the server as well as messages sent to the server can be altered.
Messages to be sent out are presented to the filter via the decorate() function, incoming messages can be filtered in the -- filter() method.
Definition at line 38 of file messagefilter.h.
MessageFilter | ( | MessageSession * | parent | ) |
Constructor.
parent | The MessageSession to attach to. |
Definition at line 20 of file messagefilter.cpp.
~MessageFilter | ( | ) | [virtual] |
Virtual Destructor.
Definition at line 27 of file messagefilter.cpp.
void attachTo | ( | MessageSession * | session | ) | [virtual] |
Attaches this MessageFilter to the given MessageSession and hooks it into the session's filter chain. If this filter was attached to a different MessageSession before, it is unregistered there prior to registering it with the new session.
session | The MessageSession to hook into. |
Definition at line 33 of file messagefilter.cpp.
Referenced by MessageFilter::MessageFilter().
virtual void decorate | ( | Tag * | tag | ) | [pure virtual] |
This function receives a message right before it is sent out (there may be other filters which get to see the message after this filter, though).
tag | The tag to decorate. It contains the message to be sent. |
Implemented in ChatStateFilter, InBandBytestream, and MessageEventFilter.
virtual void filter | ( | Stanza * | stanza | ) | [pure virtual] |
This function receives a message stanza right after it was received (there may be other filters which got to see the stanza before this filter, though).
stanza | The complete message stanza. |
Implemented in ChatStateFilter, InBandBytestream, and MessageEventFilter.