MessageEventFilter Class Reference

`#include <messageeventfilter.h>`

Inheritance diagram for MessageEventFilter:
[legend]

## Public Member Functions

| MessageEventFilter (MessageSession *parent)
virtual | ~MessageEventFilter ()
void | raiseMessageEvent (MessageEventType event)
void | registerMessageEventHandler (MessageEventHandler *meh)
void | removeMessageEventHandler ()
virtual void | decorate (Message &msg)
virtual void | filter (Message &msg)
Public Member Functions inherited from MessageFilter
| MessageFilter (MessageSession *parent)
virtual | ~MessageFilter ()
virtual void | attachTo (MessageSession *session)

## Detailed Description

This class adds Message Event (XEP-0022) support to a MessageSession.

This implementation of Message Events is fully transparent to the user of the class. If the remote entity does not request message events, MessageEventFilter will not send any, even if the user requests it. (This is required by the protocol specification.)

Author
  Jakob Schröter js@ca.nosp@m.maya.nosp@m..net

Since
  0.8

Definition at line 38 of file messageeventfilter.h.

## Constructor & Destructor Documentation

## MessageEventFilter()

MessageEventFilter | ( | MessageSession * | parent | ) |

Contstructs a new Message Event filter for a MessageSession.

Parameters

  parent | The MessageSession to decorate.

Definition at line 24 of file messageeventfilter.cpp.

## ~MessageEventFilter()

~MessageEventFilter | ( |  | ) |

virtual

Virtual destructor.

Definition at line 30 of file messageeventfilter.cpp.

## Member Function Documentation

## decorate()

void decorate | ( | Message & | msg | ) |

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

Parameters

  msg | The tag to decorate. It contains the message to be sent.

Implements MessageFilter.

Definition at line 92 of file messageeventfilter.cpp.

## filter()

void filter | ( | Message & | msg | ) |

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

Parameters

  msg | The complete message stanza.

Implements MessageFilter.

Definition at line 34 of file messageeventfilter.cpp.

## raiseMessageEvent()

void raiseMessageEvent | ( | MessageEventType | event | ) |

Use this function to raise an event as defined in XEP-0022.

Note
  The Spec states that Message Events shall not be sent to an entity which did not request them. Reasonable effort is taken in this function to avoid spurious event sending. You should be safe to call this even if Message Events were not requested by the remote entity. However, calling raiseMessageEvent( MESSAGE_EVENT_COMPOSING ) for every keystroke still is discouraged. ;)

Parameters

  event | The event to raise.

Definition at line 65 of file messageeventfilter.cpp.

## registerMessageEventHandler()

void registerMessageEventHandler | ( | MessageEventHandler * | meh | ) |

The MessageEventHandler registered here will receive Message Events according to XEP-0022.

Parameters

  meh | The MessageEventHandler to register.

Definition at line 102 of file messageeventfilter.cpp.

## removeMessageEventHandler()

void removeMessageEventHandler | ( |  | ) |

This function clears the internal pointer to the MessageEventHandler. Message Events will not be delivered anymore after calling this function until another MessageEventHandler is registered.

Definition at line 107 of file messageeventfilter.cpp.

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

- messageeventfilter.h
- messageeventfilter.cpp