Yate: MessageHandler Class Reference

Yate

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
const String & | trackNameOnly () const
void | trackName (const char *name)
NamedCounter * | objectsCounter () const
const MatchingItemBase * | filter () const
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
String & | decodeFlags (unsigned int flags, const TokenDict *tokens, bool unknownflag=true)
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
int | toInteger (const TokenDictStr *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
int64_t | toInt64Dict (const TokenDict64 *tokens, int64_t defvalue=0, int base=0) const
int64_t | toInt64Dict (const TokenDictStr64 *tokens, int64_t defvalue=0, int base=0) 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 (const 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 (char value, unsigned int len=1)
String & | append (double value, unsigned int decimals=3)
String & | insert (unsigned int pos, const char *value, int len=-1)
String & | insert (unsigned int pos, char value, unsigned int len=1)
String & | printf (const char *format,...)
String & | printf (unsigned int length, const char *format,...)
String & | printfAppend (const char *format,...)
String & | printfAppend (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 & | replaceChars (const char *what, const char *repl, bool inPlace=false, int wLen=-1, int rLen=-1, bool *chg=0)
String & | removeChars (const char *what, int wLen=-1, bool *chg=0)
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 (ObjList &list, char separator, bool emptyOK=true) const
ObjList * | split (ObjList &list, const Regexp &reg, bool emptyOK=true) 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 & | uriEscapeTo (String &buf, char extraEsc=0, const char *noEsc=0) const
String | uriEscape (char extraEsc=0, const char *noEsc=0) const
String & | uriUnescapeTo (String &buf, bool setPartial=false, int *errptr=0) const
String & | uriUnescapeStr (bool setPartial=false, int *errptr=0)
String | uriUnescape (int *errptr=0, bool setPartial=true) 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)
Public Member Functions inherited from MessageFilter
| MessageFilter ()
| ~MessageFilter ()
bool | matchesMsg (const Message &msg) const
const MatchingItemBase * | getFilter () const
const MatchingItemBase * | getMsgFilter () const
void | setFilter (MatchingItemBase *filter)
void | setMsgFilter (MatchingItemBase *filter)
void | clearFilter ()
void | clearMsgFilter ()
void | setFilter (NamedString *filter)
void | setFilter (const char *name, const char *value)

## 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 & | uriEscapeTo (String &buf, const char *str, char extraEsc=0, const char *noEsc=0)
static String & | uriEscapeTo (String &buf, const char *str, const char *extraEsc, const char *noEsc=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 & | uriUnescapeTo (String &buf, const char *str, bool setPartial=false, int *errptr=0)
static String | uriUnescape (const char *str, int *errptr=0, bool setPartial=true)
static const String * | atom (const String *&str, const char *val)
static unsigned int | c_starts_with (const char *str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
static unsigned int | c_ends_with (const char *str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
static unsigned int | c_skip (const char *&str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
static unsigned int | c_skip_chars (const char *&str, const char *what, int len=-1, bool skipFound=true)
static char * | c_replace_chars (const char *str, const char *what, const char *repl=0, bool inPlace=false, int wLen=-1, int rLen=-1, bool *chg=0)
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()

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

## ◆ ~MessageHandler()

virtual ~MessageHandler | ( |  | ) |
| virtual

Handler destructor.

## Member Function Documentation

## ◆ cleanup()

void cleanup | ( |  | ) |
| protected

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

## ◆ destruct()

virtual void destruct | ( |  | ) |
| virtual

Destroys the object, performs cleanup first

Reimplemented from GenObject.

## ◆ filter()

const MatchingItemBase * filter | ( |  | ) | const
| inline

Retrieve the filter (if installed) associated to this handler

Returns
  MatchingItemBase pointer, NULL if not set

References MessageFilter::getFilter().

## ◆ objectsCounter()

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

Retrive the objects counter associated to this handler

Returns
  Pointer to handler's objects counter or NULL

## ◆ priority()

unsigned priority | ( |  | ) | const
| inline

Find out the priority of the handler

Returns
  Stored priority of the handler, 0 = top

Referenced by MessageHandler::trackName().

## ◆ received()

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.

## ◆ receivedInternal()

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.

## ◆ safeNowInternal()

void safeNowInternal | ( |  | ) |
| protected

Internal use handler unlock, do not call!

## ◆ trackName() [1/2]

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

Retrieve the tracking name of this handler

Returns
  Name that is to be used in tracking operation

## ◆ trackName() [2/2]

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

References String::endsWith(), String::length(), MessageHandler::priority(), and String::substr().

## ◆ trackNameOnly()

const String & trackNameOnly | ( |  | ) | const
| inline

Retrieve the tracking name of this handler without added priority

Returns
  Name that is to be used in tracking operation

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

- yatengine.h