# TelEngine Namespace Reference

## Classes

class | DebugEnabler
| A holder for a debug level. More...
class | Debugger
| An object that logs messages on creation and destruction. More...
struct | TokenDict
class | GenObject
class | RefObject
class | RefPointerBase
| Internal helper class. More...
class | RefPointer
| Templated smart pointer class. More...
class | GenPointer
| Templated pointer that can be inserted in a list. More...
class | ObjList
| An object list class. More...
class | Array
| A list based Array. More...
class | String
| A C-style string handling class. More...
class | Regexp
| A regexp matching class. More...
class | NamedString
| A named string class. More...
class | HashList
| A hashed object list class. More...
class | ListIterator
| Class used to iterate the items of a list. More...
class | Time
| A time holding class. More...
class | DataBlock
| A class that holds just a block of raw data. More...
class | MD5
| A standard MD5 digest calculator. More...
class | SHA1
| A standard SHA1 digest calculator. More...
class | NamedList
| A named string container class. More...
class | URI
| Encapsulation for an URI. More...
class | Mutex
| Mutex support. More...
class | Lock
| Ephemeral mutex locking object. More...
class | Lock2
| Ephemeral double mutex locking object. More...
class | Runnable
| Encapsulates a runnable task. More...
class | Thread
| Thread support class. More...
class | SocketAddr
| A socket address holder. More...
class | SocketFilter
| A filter for received socket data. More...
class | Stream
| An abstract stream class capable of reading and writing. More...
class | File
| A stream file class. More...
class | Socket
| A generic socket class. More...
class | SysUsage
| A class exposing system resources usage. More...
class | MimeBody
| Abstract MIME data holder. More...
class | MimeSdpBody
| MIME for application/sdp. More...
class | MimeBinaryBody
| MIME for obscure binary data. More...
class | MimeStringBody
| MIME for one text string. More...
class | MimeLinesBody
| MIME for multiple text lines. More...
class | Configuration
| Configuration file handling. More...
class | Message
| A message container class. More...
class | MessageHandler
| A message handler. More...
class | MessageReceiver
| A multiple message receiver. More...
class | MessageRelay
| A message handler relay. More...
class | MessageNotifier
| Post-dispatching message hook. More...
class | MessagePostHook
| Post-dispatching message hook that can be added to a list. More...
class | MessageDispatcher
| A message dispatching hub. More...
class | Plugin
| Plugin support. More...
class | Engine
| Engine globals. More...
struct | ImageInfo
struct | FormatInfo
struct | TranslatorCaps
class | FormatRepository
| A repository for media formats. More...
class | DataFormat
| A Data format. More...
class | DataNode
class | DataConsumer
class | DataSource
class | ThreadedSource
class | DataTranslator
| An unidirectional data translator (codec). More...
class | TranslatorFactory
| An unidirectional data translator (codec). More...
class | DataEndpoint
| A data transfer endpoint capable of sending and/or receiving data. More...
class | CallEndpoint
| An abstract call endpoint. More...
class | Module
| A Plugin that implements a module. More...
class | Channel
| An abstract communication channel. More...
class | Driver
| A Channel driver module. More...
class | Router
| Call routing thread. More...
class | Window
| An abstract user interface window. More...
class | UIFactory
| A static user interface creator. More...
class | Client
| Thread that runs the User Interface. More...
class | ClientChannel
| Channel used by client programs. More...
class | ClientDriver
| Base Driver with client specific functions. More...

## Enumerations

enum | DebugLevel { DebugFail = 0, DebugGoOn = 2, DebugStub = 4, DebugWarn = 5, DebugMild = 6, DebugCall = 7, DebugNote = 8, DebugInfo = 9, DebugAll = 10 }

## Functions

void | abortOnBug ()
bool | abortOnBug (bool doAbort)
int | debugLevel ()
int | debugLevel (int level)
bool | debugAt (int level)
const char * | debugColor (int level)
void | DDebug (int level, const char *format,...)
void | DDebug (const char *facility, int level, const char *format,...)
void | DDebug (const DebugEnabler *local, int level, const char *format,...)
void | XDebug (int level, const char *format,...)
void | XDebug (const char *facility, int level, const char *format,...)
void | XDebug (const DebugEnabler *local, int level, const char *format,...)
void | NDebug (int level, const char *format,...)
void | NDebug (const char *facility, int level, const char *format,...)
void | NDebug (const DebugEnabler *local, int level, const char *format,...)
void | Debug (int level, const char *format,...)
void | Debug (const char *facility, int level, const char *format,...)
void | Debug (const DebugEnabler *local, int level, const char *format,...)
void | Output (const char *format,...)
void | YCLASS (class type, class base)
void | YCLASSIMP (class type, class base)
class * | YOBJECT (class type, GenObject *pntr)
void | destruct (GenObject *obj)
template<class Obj>
void | destruct (Obj *&obj)
const char * | c_safe (const char *str)
bool | null (const char *str)
String | operator+ (const String &s1, const String &s2)
String | operator+ (const String &s1, const char *s2)
String | operator+ (const char *s1, const String &s2)
const char * | strcpy (String &dest, const char *src)
const char * | strcat (String &dest, const char *src)
int | lookup (const char *str, const TokenDict *tokens, int defvalue=0, int base=0)
const char * | lookup (int value, const TokenDict *tokens, const char *defvalue=0)
void | INIT_PLUGIN (class pclass)
bool | isE164 (const char *str)

## Detailed Description

Holds all Telephony Engine related classes.

## Enumeration Type Documentation

enum DebugLevel

Standard debugging levels. The DebugFail level is special - it is always displayed and may abort the program if abortOnBug() is set.

## Function Documentation

bool TelEngine::abortOnBug | ( | bool | doAbort | ) |

Set the abort on bug flag. The default flag state is false.

Returns:
  The old state of the flag.

void TelEngine::abortOnBug | ( |  | ) |

Abort execution (and coredump if allowed) if the abort flag is set. This function may not return.

const char* TelEngine::c_safe | ( | const char * | str | ) | `[inline]`

Utility function to replace NULL string pointers with an empty string

Parameters:

  | str | Pointer to a C string that may be NULL

Returns:
  Original pointer or pointer to an empty string

void TelEngine::DDebug | ( | const DebugEnabler * | local,
|  | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Convenience macro. Does the same as Debug if DEBUG is #defined (compiling for debugging) else it does not get compiled at all.

void TelEngine::DDebug | ( | const char * | facility,
|  | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Convenience macro. Does the same as Debug if DEBUG is #defined (compiling for debugging) else it does not get compiled at all.

void TelEngine::DDebug | ( | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Convenience macro. Does the same as Debug if DEBUG is #defined (compiling for debugging) else it does not get compiled at all.

void TelEngine::Debug | ( | const DebugEnabler * | local,
|  | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Outputs a debug string for a specific facility.

Parameters:

  | local | Pointer to a DebugEnabler holding current debugging settings
  | level | The level of the message
  | format | A printf() style format string

void TelEngine::Debug | ( | const char * | facility,
|  | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Outputs a debug string for a specific facility.

Parameters:

  | facility | Facility that outputs the message
  | level | The level of the message
  | format | A printf() style format string

void TelEngine::Debug | ( | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Outputs a debug string.

Parameters:

  | level | The level of the message
  | format | A printf() style format string

bool TelEngine::debugAt | ( | int | level | ) |

Check if debugging output should be generated

Parameters:

  | level | The global debug level we are testing

Returns:
  True if messages should be output, false otherwise

const char* TelEngine::debugColor | ( | int | level | ) |

Get an ANSI string to colorize debugging output

Parameters:

  | level | The debug level who's color is requested. Negative or out of range will reset to the default color

Returns:
  ANSI string that sets color corresponding to level

int TelEngine::debugLevel | ( | int | level | ) |

Set the current global debug level.

Parameters:

  | level | The desired debug level

Returns:
  The new global debug level (may be different)

int TelEngine::debugLevel | ( |  | ) |

Retrive the current global debug level

Returns:
  The current global debug level

void TelEngine::destruct | ( | Obj *& | obj | ) | `[inline]`

Helper template function that destroys a GenObject descendant if the pointer is non-NULL and also zeros out the pointer. Use it instead of the delete operator.

Parameters:

  | obj | Reference to pointer (lvalue) to the object to destroy

void TelEngine::destruct | ( | GenObject * | obj | ) | `[inline]`

Helper function that destroys a GenObject only if the pointer is non-NULL. Use it instead of the delete operator.

Parameters:

  | obj | Pointer (rvalue) to the object to destroy

void TelEngine::INIT_PLUGIN | ( | class | pclass | ) |

Macro to create static instance of the plugin

Parameters:

  | pclass | Class of the plugin to create

bool TelEngine::isE164 | ( | const char * | str | ) |

Find if a string appears to be an E164 phone number

Parameters:

  | str | String to check

Returns:
  True if str appears to be a valid E164 number

const char* TelEngine::lookup | ( | int | value,
|  | const TokenDict * | tokens,
|  | const char * | defvalue = `0` |
| ) |  |  |

Utility function to look up a number in a token table

Parameters:

  | value | Value to search for
  | tokens | Pointer to the token table
  | defvalue | Value to return if lookup fails

int TelEngine::lookup | ( | const char * | str,
|  | const TokenDict * | tokens,
|  | int | defvalue = `0`,
|  | int | base = `0` |
| ) |  |  |

Utility function to look up a string in a token table, interpret as number if it fails

Parameters:

  | str | String to look up
  | tokens | Pointer to the token table
  | defvalue | Value to return if lookup and conversion fail
  | base | Default base to use to convert to number

void TelEngine::NDebug | ( | const DebugEnabler * | local,
|  | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Convenience macro. Does the same as Debug if NDEBUG is not #defined else it does not get compiled at all (compiling for mature release).

void TelEngine::NDebug | ( | const char * | facility,
|  | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Convenience macro. Does the same as Debug if NDEBUG is not #defined else it does not get compiled at all (compiling for mature release).

void TelEngine::NDebug | ( | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Convenience macro. Does the same as Debug if NDEBUG is not #defined else it does not get compiled at all (compiling for mature release).

bool TelEngine::null | ( | const char * | str | ) | `[inline]`

Utility function to check if a C string is null or empty

Parameters:

  | str | Pointer to a C string

Returns:
  True if str is NULL or starts with a NUL character

String TelEngine::operator+ | ( | const char * | s1,
|  | const String & | s2 |
| ) |  |  |

Concatenation operator for strings.

String TelEngine::operator+ | ( | const String & | s1,
|  | const char * | s2 |
| ) |  |  |

Concatenation operator for strings.

String TelEngine::operator+ | ( | const String & | s1,
|  | const String & | s2 |
| ) |  |  |

Concatenation operator for strings.

void TelEngine::Output | ( | const char * | format,
|  |  | ... |
| ) |  |  |

Outputs a string to the debug console with formatting

Parameters:

  | format | A printf() style format string

const char* TelEngine::strcat | ( | String & | dest,
|  | const char * | src |
| ) |  |  | `[inline]`

Prevent careless programmers from overwriting the string

See also:
  TelEngine::String::operator+=

const char* TelEngine::strcpy | ( | String & | dest,
|  | const char * | src |
| ) |  |  | `[inline]`

Prevent careless programmers from overwriting the string

See also:
  TelEngine::String::operator=

void TelEngine::XDebug | ( | const DebugEnabler * | local,
|  | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Convenience macro. Does the same as Debug if XDEBUG is #defined (compiling for extra debugging) else it does not get compiled at all.

void TelEngine::XDebug | ( | const char * | facility,
|  | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Convenience macro. Does the same as Debug if XDEBUG is #defined (compiling for extra debugging) else it does not get compiled at all.

void TelEngine::XDebug | ( | int | level,
|  | const char * | format,
|  |  | ... |
| ) |  |  |

Convenience macro. Does the same as Debug if XDEBUG is #defined (compiling for extra debugging) else it does not get compiled at all.

void TelEngine::YCLASS | ( | class | type,
|  | class | base |
| ) |  |  |

Macro to create a GenObject class from a base class and implement GenObject::getObject

Parameters:

  | type | Class that is declared
  | base | Base class that is inherited

void TelEngine::YCLASSIMP | ( | class | type,
|  | class | base |
| ) |  |  |

Macro to implement GenObject::getObject in a derived class

Parameters:

  | type | Class that is declared
  | base | Base class that is inherited

class* TelEngine::YOBJECT | ( | class | type,
|  | GenObject * | pntr |
| ) |  |  |

Macro to retrive a typed pointer to an interface from an object

Parameters:

  | type | Class we want to return
  | pntr | Pointer to the object we want to get the interface from

Returns:
  Pointer to the class we want or NULL