# class MessageHandler

A message handler. More...

Contains pure virtuals
Full name | `TelEngine::MessageHandler`
Definition | `#include <yatengine.h>`
Inherits | TelEngine::String [public ]
Inherited by | MessageRelay
List of all Methods

Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- explicit MessageHandler (const char* name, unsigned priority = 100, const char* trackName = 0, bool addPriority = true)
- virtual ~MessageHandler ()
- virtual void destruct ()
- virtual bool received (Message& msg)
- inline unsigned priority () const
- inline const String& trackName () const
- inline void trackName (const char* name)
- inline const NamedString* filter () const
- void setFilter (NamedString* filter)
- inline void setFilter (const char* name, const char* value)
- void clearFilter ()

#### Protected Methods

- void cleanup ()

## Detailed Description

The purpose of this class is to hold a message received method that is called for matching messages. It holds as well the matching criteria and priority among other handlers.

explicit MessageHandler (const char* name, unsigned priority = 100, const char* trackName = 0, bool addPriority = true)

### MessageHandler

Creates a new message handler.

Parameters:

name | Name of the handled message - may be NULL
priority | Priority of the handler, 0 = top
trackName | Name to be used in handler tracking
addPriority | True to append :priority to trackName

~MessageHandler ()

### ~MessageHandler

[virtual]

Handler destructor.

void destruct ()

### destruct

[virtual]

Destroys the object, performs cleanup first

Reimplemented from GenObject.

bool received (Message& msg)

### received

[pure virtual]

This method is called whenever the registered name matches the message.

Parameters:

msg | The received message

Returns: True to stop processing, false to try other handlers

inline unsigned priority ()

### priority

[const]

Find out the priority of the handler

Returns: Stored priority of the handler, 0 = top

inline const String& trackName ()

### trackName

[const]

Retrieve the tracking name of this handler

Returns: Name that is to be used in tracking operation

inline void trackName (const char* name)

### trackName

Set a new tracking name for this handler. Works only if the handler was not yet inserted into a dispatcher

Parameters:

name | Name that is to be used in tracking operation

inline const NamedString* filter ()

### filter

[const]

Retrieve the filter (if installed) associated to this handler

void setFilter (NamedString* filter)

### setFilter

Set a filter for this handler

Parameters:

filter | Pointer to the filter to install, will be owned and destroyed by the handler

inline void setFilter (const char* name, const char* value)

### setFilter

Set a filter for this handler

Parameters:

name | Name of the parameter to filter
value | Value of the parameter to filter

void clearFilter ()

### clearFilter

Remove and destroy any filter associated to this handler

void cleanup ()

### cleanup

[protected]

Remove the handler from its dispatcher, remove any installed filter. This method is called internally from destruct and the destructor

Generated by: paulc on bussard on Fri Dec 21 16:28:34 2012, using kdoc 2.0a54.