Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

Module Class Reference

A Plugin that implements a module. More...

#include <yatephone.h>

Inheritance diagram for Module:

Plugin Mutex MessageReceiver DebugEnabler GenObject GenObject ChanAssistList Driver ClientDriver List of all members.

Public Member Functions

virtual void * getObject (const String &name) const
const Stringname () const
const Stringtype () const
void changed ()
bool filterInstalled () const
bool filterDebug (const String &item) const

Static Public Member Functions

static unsigned int updateDelay ()
static void updateDelay (unsigned int delay)

Protected Types

enum  {
  Status = 0x00000001, Timer = 0x00000002, Level = 0x00000004, Command = 0x00000008,
  Help = 0x00000010, Halt = 0x00000020, Route = 0x00000040, Execute = 0x00000100,
  Drop = 0x00000200, Locate = 0x00000400, Masquerade = 0x00000800, Ringing = 0x00001000,
  Answered = 0x00002000, Tone = 0x00004000, Text = 0x00008000, Progress = 0x00010000,
  Update = 0x00020000, Transfer = 0x00040000, PubLast = 0x0fffffff, Private = 0x10000000
}

Protected Member Functions

 Module (const char *name, const char *type=0)
virtual ~Module ()
virtual void initialize ()
void setup ()
bool installRelay (int id, unsigned priority=100)
bool installRelay (const char *name, unsigned priority=100)
virtual bool received (Message &msg, int id)
virtual void genUpdate (Message &msg)
virtual void msgTimer (Message &msg)
virtual void msgStatus (Message &msg)
virtual bool msgRoute (Message &msg)
virtual void statusModule (String &str)
virtual void statusParams (String &str)
virtual bool setDebug (Message &msg, const String &target)

Static Protected Member Functions

static const char * messageName (int id)

Protected Attributes

enum TelEngine::Module:: { ... }  RelayID

Detailed Description

A Plugin that implements a module.

Module is a descendent of Plugin specialized in implementing modules


Member Enumeration Documentation

anonymous enum [protected]
 

IDs of the installed relays


Constructor & Destructor Documentation

Module const char *  name,
const char *  type = 0
[protected]
 

Constructor

Parameters:
name Plugin name of this driver
type Type of the driver: "misc", "route", etc.

virtual ~Module  )  [protected, virtual]
 

Destructor


Member Function Documentation

void changed  ) 
 

Mark the driver statistics "dirty" therefore triggring a delayed status update.

bool filterDebug const String item  )  const
 

Check by filter rule if debugging should be active

Parameters:
item Value of the item to match
Returns:
True if debugging should be activated

bool filterInstalled  )  const [inline]
 

Check if a debug filter is installed

Returns:
True if debugging should be filtered

virtual void genUpdate Message msg  )  [protected, virtual]
 

Opportunity to modify the update message

Parameters:
msg Status update message

Reimplemented in Driver.

virtual void* getObject const String name  )  const [virtual]
 

Get a pointer to a derived class given that class name

Parameters:
name Name of the class we are asking for
Returns:
Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from Plugin.

Reimplemented in Driver.

virtual void initialize  )  [protected, virtual]
 

This method is called to initialize the loaded module

Implements Plugin.

Reimplemented in ClientDriver, Driver, and ChanAssistList.

bool installRelay const char *  name,
unsigned  priority = 100
[protected]
 

Install a standard message relay

Parameters:
name Name of the relay to create, must match a RelayID
priority Priority of the handler, 0 = top
Returns:
True if installed or already was one installed

bool installRelay int  id,
unsigned  priority = 100
[protected]
 

Install a standard message relay

Parameters:
id RelayID of the new relay to create
priority Priority of the handler, 0 = top
Returns:
True if installed or already was one installed

static const char* messageName int  id  )  [static, protected]
 

Find the name of a specific Relay ID

Parameters:
id RelayID of the message
Returns:
Pointer to name of the message or NULL if not found

virtual bool msgRoute Message msg  )  [protected, virtual]
 

Routing message handler that is invoked for all call.route messages.

Parameters:
msg Call routing message

Reimplemented in ClientDriver.

virtual void msgStatus Message msg  )  [protected, virtual]
 

Status message handler that is invoked only for matching messages.

Parameters:
msg Status message

Reimplemented in Driver.

virtual void msgTimer Message msg  )  [protected, virtual]
 

Timer message handler.

Parameters:
msg Time message

Reimplemented in ClientDriver.

const String& name  )  const [inline]
 

Retrive the name of the module

Returns:
The module's name as String

virtual bool received Message msg,
int  id
[protected, virtual]
 

Message receiver handler

Parameters:
msg The received message
id The identifier with which the relay was created
Returns:
True to stop processing, false to try other handlers

Implements MessageReceiver.

Reimplemented in Driver, and ChanAssistList.

virtual bool setDebug Message msg,
const String target
[protected, virtual]
 

Set the local debugging level

Parameters:
msg Debug setting message
target String to match for local settings

Reimplemented in Driver.

void setup  )  [protected]
 

Install standard message relays

Reimplemented in ClientDriver.

virtual void statusModule String str  )  [protected, virtual]
 

Build the module identification part of the status answer

Parameters:
str String variable to fill up

Reimplemented in Driver.

virtual void statusParams String str  )  [protected, virtual]
 

Build the parameter reporting part of the status answer

Parameters:
str String variable to fill up

Reimplemented in Driver.

const String& type  )  const [inline]
 

Retrive the type of the module

Returns:
The module's type as String

static void updateDelay unsigned int  delay  )  [inline, static]
 

Set the global update notification delay

Parameters:
delay New update delay value in seconds, 0 to disable

static unsigned int updateDelay  )  [inline, static]
 

Retrive the global update notification delay

Returns:
Update delay value in seconds


Member Data Documentation

enum { ... } RelayID [protected]
 

IDs of the installed relays


The documentation for this class was generated from the following file:
Generated on Mon Sep 18 20:56:12 2006 for Yate by  doxygen 1.4.4