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

Driver Class Reference

A Channel driver module. More...

#include <yatephone.h>

Inheritance diagram for Driver:

Module Plugin Mutex MessageReceiver DebugEnabler GenObject GenObject ClientDriver List of all members.

Public Member Functions

virtual void * getObject (const String &name) const
const Stringprefix () const
bool varchan () const
ObjListchannels ()
virtual Channelfind (const String &id) const
virtual bool isBusy () const
virtual void dropAll (Message &msg)
virtual bool canAccept (bool routers=true)
virtual bool canRoute ()
unsigned int nextid ()
unsigned int lastid () const
int timeout () const
int routing () const
int routed () const
int total () const

Protected Member Functions

 Driver (const char *name, const char *type=0)
virtual void initialize ()
void setup (const char *prefix=0, bool minimal=false)
virtual bool received (Message &msg, int id)
virtual void genUpdate (Message &msg)
virtual bool msgExecute (Message &msg, String &dest)=0
virtual void msgStatus (Message &msg)
virtual void statusModule (String &str)
virtual void statusParams (String &str)
virtual void statusChannels (String &str)
virtual bool setDebug (Message &msg, const String &target)
virtual void loadLimits ()
void varchan (bool variable)
void timeout (int tout)
void maxRoute (int ncalls)
void maxChans (int ncalls)

Friends

class Router
class Channel

Detailed Description

A Channel driver module.

Driver is a module specialized for implementing channel drivers


Constructor & Destructor Documentation

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

Constructor

Parameters:
name Plugin name of this driver
type Type of the driver: "fixchans", "varchans", etc.


Member Function Documentation

virtual bool canAccept bool  routers = true  )  [virtual]
 

Check if new connections can be accepted

Parameters:
routers Set to true to check routing threads for incoming connections
Returns:
True if at least one new connection can be accepted, false if not

virtual bool canRoute  )  [virtual]
 

Check if new incoming connections can be routed

Returns:
True if at least one new connection can be routed, false if not

ObjList& channels  )  [inline]
 

Get the list of channels of this driver

Returns:
A reference to the channel list

virtual void dropAll Message msg  )  [virtual]
 

Drop all current channels

Parameters:
msg Notification message

virtual Channel* find const String id  )  const [virtual]
 

Find a channel by id

Parameters:
id Unique identifier of the channel to find
Returns:
Pointer to the channel or NULL if not found

virtual void genUpdate Message msg  )  [protected, virtual]
 

Opportunity to modify the update message

Parameters:
msg Status update message

Reimplemented from Module.

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 Module.

virtual void initialize  )  [protected, virtual]
 

This method is called to initialize the loaded module

Reimplemented from Module.

Reimplemented in ClientDriver.

virtual bool isBusy  )  const [virtual]
 

Check if the driver is actively used.

Returns:
True if the driver is in use, false if should be ok to restart

Reimplemented from Plugin.

unsigned int lastid  )  const [inline]
 

Get the current (last used) unique numeric id from a sequence

Returns:
The driver unique number

virtual void loadLimits  )  [protected, virtual]
 

Load the global limits from the main config file

void maxChans int  ncalls  )  [inline, protected]
 

Set the maximum number of running channels for this driver

Parameters:
ncalls Number of calls to run simultaneously, zero to accept all

void maxRoute int  ncalls  )  [inline, protected]
 

Set the maximum number of routing messages for this driver

Parameters:
ncalls Number of calls to route simultaneously, zero to accept all

virtual bool msgExecute Message msg,
String dest
[protected, pure virtual]
 

Create an outgoing calling channel

Parameters:
msg Call execute message
dest Destination of the new call
Returns:
True if outgoing call was created

Implemented in ClientDriver.

virtual void msgStatus Message msg  )  [protected, virtual]
 

Status message handler that is invoked only for matching messages.

Parameters:
msg Status message

Reimplemented from Module.

unsigned int nextid  ) 
 

Get the next unique numeric id from a sequence

Returns:
A driver unique number that increments by 1 at each call

const String& prefix  )  const [inline]
 

Retrive the prefix that is used as base for all channels

Returns:
The driver's prefix

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

Reimplemented from Module.

int routed  )  const [inline]
 

Get the number of calls successfully routed

Returns:
Number of calls that have gone past the routing stage

int routing  )  const [inline]
 

Get the number of calls currently in the routing stage

Returns:
Number of router threads currently running

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 from Module.

void setup const char *  prefix = 0,
bool  minimal = false
[protected]
 

Install standard message relays and set up the prefix

Parameters:
prefix Prefix to use with channels of this driver
minimal Install just a minimal set of message relays

virtual void statusChannels String str  )  [protected, virtual]
 

Build the clannel list part of the status answer

Parameters:
str String variable to fill up

virtual void statusModule String str  )  [protected, virtual]
 

Build the module identification part of the status answer

Parameters:
str String variable to fill up

Reimplemented from Module.

virtual void statusParams String str  )  [protected, virtual]
 

Build the parameter reporting part of the status answer

Parameters:
str String variable to fill up

Reimplemented from Module.

void timeout int  tout  )  [inline, protected]
 

Set the default driver timeout

Parameters:
tout New timeout in milliseconds or zero to disable

int timeout  )  const [inline]
 

Get the default driver timeout

Returns:
Timeout value in milliseconds

int total  )  const [inline]
 

Get the total number of calls ever created

Returns:
Number of channels ever created for this driver

void varchan bool  variable  )  [inline, protected]
 

Set if this driver is for dynamic (variable number) channels

Parameters:
variable True if the channels are dynamic, false for fixed

bool varchan  )  const [inline]
 

Check if this driver is for dynamic (variable number) channels

Returns:
True if the channels are dynamic, false for fixed


The documentation for this class was generated from the following file:
Generated on Fri Jul 7 03:11:38 2006 for Yate by  doxygen 1.4.4