Yate: MessageHandler Class Reference

Yate

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Friends | List of all members
MessageHandler Class Referenceabstract

A message handler. More...

`#include <yatengine.h>`

Inheritance diagram for MessageHandler:

## Public Member Functions
| MessageHandler (const char *name, unsigned priority=100, const char *trackName=0, bool addPriority=true)
virtual | ~MessageHandler ()
virtual void | destruct ()
virtual bool | received (Message &msg)=0
unsigned | priority () const
const String & | trackName () const
void | trackName (const char *name)
NamedCounter * | objectsCounter () const
const NamedString * | filter () const
const Regexp * | filterRegexp () const
void | setFilter (NamedString *filter)
void | setFilter (const char *name, const char *value)
void | clearFilter ()
Public Member Functions inherited from String
| String ()
| String (const char *value, int len=-1)
| String (char value, unsigned int repeat=1)
| String (int32_t value)
| String (uint32_t value)
| String (int64_t value)
| String (uint64_t value)
| String (bool value)
| String (double value)
| String (const String &value)
| String (const String *value)
virtual | ~String ()
virtual void * | getObject (const String &name) const
const char * | c_str () const
const char * | safe () const
const char * | safe (const char *defStr) const
unsigned int | length () const
bool | null () const
int | lenUtf8 (uint32_t maxChar=0x10ffff, bool overlong=false) const
int | fixUtf8 (const char *replace=0, uint32_t maxChar=0x10ffff, bool overlong=false)
unsigned int | encodeFlags (const TokenDict *tokens) const
uint64_t | encodeFlags (const TokenDict64 *tokens) const
const String & | decodeFlags (unsigned int flags, const TokenDict *tokens, bool unknownflag=true)
const String & | decodeFlags (uint64_t flags, const TokenDict64 *tokens, bool unknownflag=true)
bool | checkBOM () const
bool | stripBOM ()
unsigned int | hash () const
void | clear ()
char | at (int index) const
String | substr (int offs, int len=-1) const
String & | trimBlanks ()
String & | trimSpaces ()
virtual const String & | toString () const
int | toInteger (int defvalue=0, int base=0, int minvalue=INT_MIN, int maxvalue=INT_MAX, bool clamp=true) const
int | toInteger (const TokenDict *tokens, int defvalue=0, int base=0) const
long int | toLong (long int defvalue=0, int base=0, long int minvalue=LONG_MIN, long int maxvalue=LONG_MAX, bool clamp=true) const
int64_t | toInt64 (int64_t defvalue=0, int base=0, int64_t minvalue=LLONG_MIN, int64_t maxvalue=LLONG_MAX, bool clamp=true) const
uint64_t | toUInt64 (uint64_t defvalue=0, int base=0, uint64_t minvalue=0, uint64_t maxvalue=ULLONG_MAX, bool clamp=true) const
double | toDouble (double defvalue=0.0) const
bool | toBoolean (bool defvalue=false) const
bool | isBoolean () const
String & | toUpper ()
String & | toLower ()
char | operator[] (signed int index) const
char | operator[] (unsigned int index) const
| operator const char * () const
String & | assign (const char *value, int len=-1)
String & | assign (char value, unsigned int repeat=1)
String & | hexify (void *data, unsigned int len, char sep=0, bool upCase=false)
String & | operator= (const String &value)
String & | operator= (const String *value)
String & | operator= (const char *value)
String & | operator= (char value)
String & | operator= (int32_t value)
String & | operator= (uint32_t value)
String & | operator= (int64_t value)
String & | operator= (uint64_t value)
String & | operator= (bool value)
String & | operator= (double value)
String & | operator+= (const char *value)
String & | operator+= (char value)
String & | operator+= (int32_t value)
String & | operator+= (uint32_t value)
String & | operator+= (int64_t value)
String & | operator+= (uint64_t value)
String & | operator+= (bool value)
String & | operator+= (double value)
bool | operator== (const char *value) const
bool | operator!= (const char *value) const
bool | operator== (const String &value) const
bool | operator!= (const String &value) const
bool | operator&= (const char *value) const
bool | operator|= (const char *value) const
String & | operator<< (const char *value)
String & | operator<< (char value)
String & | operator<< (int32_t value)
String & | operator<< (uint32_t value)
String & | operator<< (int64_t value)
String & | operator<< (uint64_t value)
String & | operator<< (bool value)
String & | operator<< (double value)
String & | operator>> (const char *skip)
String & | operator>> (char &store)
String & | operator>> (UChar &store)
String & | operator>> (int &store)
String & | operator>> (unsigned int &store)
String & | operator>> (bool &store)
String & | append (const char *value, int len)
String & | append (const char *value, const char *separator=0, bool force=false)
String & | append (const ObjList *list, const char *separator=0, bool force=false)
String & | append (const ObjList &list, const char *separator=0, bool force=false)
String & | append (double value, unsigned int decimals=3)
String & | printf (const char *format,...)
String & | printf (unsigned int length, const char *format,...)
String & | appendFixed (unsigned int fixedLength, const char *str, unsigned int len=-1, char fill= ' ', int align=Left)
String & | appendFixed (unsigned int fixedLength, const String &str, char fill= ' ', int align=Left)
int | find (char what, unsigned int offs=0) const
int | find (const char *what, unsigned int offs=0) const
int | rfind (char what) const
int | rfind (const char *what) const
bool | startsWith (const char *what, bool wordBreak=false, bool caseInsensitive=false) const
bool | endsWith (const char *what, bool wordBreak=false, bool caseInsensitive=false) const
bool | startSkip (const char *what, bool wordBreak=true, bool caseInsensitive=false)
String & | extractTo (const char *sep, String &store)
String & | extractTo (const char *sep, bool &store)
String & | extractTo (const char *sep, int &store, int base=0)
String & | extractTo (const char *sep, int &store, const TokenDict *tokens, int base=0)
String & | extractTo (const char *sep, double &store)
virtual bool | matches (const String &value) const
bool | matches (const Regexp &rexp)
int | matchOffset (int index=0) const
int | matchLength (int index=0) const
String | matchString (int index=0) const
String | replaceMatches (const String &templ) const
int | matchCount () const
ObjList * | split (char separator, bool emptyOK=true) const
ObjList * | split (const Regexp &reg, bool emptyOK=true) const
String | msgEscape (char extraEsc=0) const
String | msgUnescape (int *errptr=0, char extraEsc=0) const
String | sqlEscape (char extraEsc=0) const
String | uriEscape (char extraEsc=0, const char *noEsc=0) const
String | uriUnescape (int *errptr=0) const
Public Member Functions inherited from GenObject
| GenObject ()
virtual | ~GenObject ()
virtual bool | alive () const
virtual const String & | traceId () const
NamedCounter * | getObjCounter () const
NamedCounter * | setObjCounter (NamedCounter *counter)

## Protected Member Functions
void | cleanup ()
virtual bool | receivedInternal (Message &msg)
void | safeNowInternal ()
Protected Member Functions inherited from String
virtual void | changed ()

## Friends
class | MessageDispatcher

## Additional Inherited Members
Public Types inherited from String
enum | Align { Left = 0, Center, Right }
Static Public Member Functions inherited from String
static const String & | empty ()
static const char * | boolText (bool value)
static int | lenUtf8 (const char *value, uint32_t maxChar=0x10ffff, bool overlong=false)
static bool | checkBOM (const char *str)
static bool | stripBOM (const char *&str)
static bool | stripBOM (char *&str)
static unsigned int | hash (const char *value, unsigned int h=0)
static String | msgEscape (const char *str, char extraEsc=0)
static String | msgUnescape (const char *str, int *errptr=0, char extraEsc=0)
static String | sqlEscape (const char *str, char extraEsc=0)
static String | uriEscape (const char *str, char extraEsc=0, const char *noEsc=0)
static String | uriEscape (const char *str, const char *extraEsc, const char *noEsc=0)
static String | uriUnescape (const char *str, int *errptr=0)
static const String * | atom (const String *&str, const char *val)
Static Public Member Functions inherited from GenObject
static void * | getObject (const String &name, const GenObject *obj)
static bool | getObjCounting ()
static void | setObjCounting (bool enable)
static NamedCounter * | getObjCounter (const String &name, bool create=true)
static ObjList & | getObjCounters ()

## Detailed Description

A message handler.

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.

## Constructor & Destructor Documentation

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

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

virtual ~MessageHandler | ( |  | ) |
| virtual

Handler destructor.

## Member Function Documentation

void cleanup | ( |  | ) |
| protected

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

void clearFilter | ( |  | ) |

Remove and destroy any filter associated to this handler

virtual void destruct | ( |  | ) |
| virtual

Destroys the object, performs cleanup first

Reimplemented from GenObject.

const NamedString* filter | ( |  | ) | const
| inline

Retrieve the filter (if installed) associated to this handler

const Regexp* filterRegexp | ( |  | ) | const
| inline

Retrieve the Regexp filter (if installed) associated to this handler

NamedCounter* objectsCounter | ( |  | ) | const
| inline

Retrive the objects counter associated to this handler

Returns
  Pointer to handler's objects counter or NULL

unsigned priority | ( |  | ) | const
| inline

Find out the priority of the handler

Returns
  Stored priority of the handler, 0 = top

virtual bool received | ( | Message & | msg | ) |
| 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

Implemented in MessageRelay.

virtual bool receivedInternal | ( | Message & | msg | ) |
| protectedvirtual

Internal use received function, do not call or override!

Parameters

  msg | The received message

Returns
  True if message was processed

Reimplemented in MessageRelay.

void safeNowInternal | ( |  | ) |
| protected

Internal use handler unlock, do not call!

void setFilter | ( | NamedString * | filter | ) |

Set a filter for this handler

Parameters

  filter | Pointer to the filter to install, will be owned and destroyed by the handler. The filter may be a NamedPointer carrying a Regexp

Referenced by MessageHandler::setFilter().

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

Set a filter for this handler

Parameters

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

References MessageHandler::setFilter().

const String& trackName | ( |  | ) | const
| inline

Retrieve the tracking name of this handler

Returns
  Name that is to be used in tracking operation

void trackName | ( | const char * | name | ) |
| inline

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

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

- yatengine.h