Public Member Functions | List of all members
MessageFilter Class Reference

#include <messagefilter.h>

Inheritance diagram for MessageFilter:
Inheritance graph
Collaboration diagram for MessageFilter:
Collaboration graph

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

Detailed Description

Virtual base class for message filters.

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.

Jakob Schroeter

Definition at line 38 of file messagefilter.h.

Constructor & Destructor Documentation


parentThe MessageSession to attach to.

Definition at line 20 of file messagefilter.cpp.

~MessageFilter ( )

Virtual Destructor.

Definition at line 27 of file messagefilter.cpp.

Member Function Documentation

void attachTo ( MessageSession session)

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.

sessionThe MessageSession to hook into.

Definition at line 31 of file messagefilter.cpp.

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).

tagThe tag to decorate. It contains the message to be sent.

Implemented in InBandBytestream, MessageEventFilter, and ChatStateFilter.

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).

stanzaThe complete message stanza.

Implemented in InBandBytestream, MessageEventFilter, and ChatStateFilter.

The documentation for this class was generated from the following files: