|
| ||||||||||||||||||
Driver is a module specialized for implementing channel drivers
| void* getObject (const String& name)
| getObject |
[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.
| inline const String& prefix ()
| prefix |
[const]
Retrieve the prefix that is used as base for all channels
Returns: The driver's prefix
| inline bool varchan ()
| varchan |
[const]
Check if this driver is for dynamic (variable number) channels
Returns: True if the channels are dynamic, false for fixed
| inline ObjList& channels ()
| channels |
Get the list of channels of this driver
Returns: A reference to the channel list
| Channel* find (const String& id)
| find |
[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
| bool isBusy ()
| 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.
| void dropAll (Message &msg)
| dropAll |
[virtual]
Drop all current channels
Parameters:
| msg | Notification message |
| bool canAccept (bool routers = true)
| canAccept |
[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
| bool canRoute ()
| canRoute |
[virtual]
Check if new incoming connections can be routed
Returns: True if at least one new connection can be routed, false if not
| unsigned int nextid ()
| nextid |
Get the next unique numeric id from a sequence
Returns: A driver unique number that increments by 1 at each call
| inline unsigned int lastid ()
| lastid |
[const]
Get the current (last used) unique numeric id from a sequence
Returns: The driver unique number
| inline int timeout ()
| timeout |
[const]
Get the default driver timeout
Returns: Timeout value in milliseconds
| inline int routing ()
| routing |
[const]
Get the number of calls currently in the routing stage
Returns: Number of router threads currently running
| inline int routed ()
| routed |
[const]
Get the number of calls successfully routed
Returns: Number of calls that have gone past the routing stage
| inline int total ()
| total |
[const]
Get the total number of calls ever created
Returns: Number of channels ever created for this driver
| inline int chanCount ()
| chanCount |
[const]
Get the number of running channels
Returns: Number of channels running at this time
| inline int maxChans ()
| maxChans |
[const]
Get the maximum number of running channels for this driver
Returns: Maximum number of calls to run simultaneously, zero to accept all
| Driver (const char* name, const char* type = 0)
| Driver |
[protected]
Constructor
Parameters:
| name | Plugin name of this driver |
| type | Type of the driver: "fixchans", "varchans", etc. |
| void initialize ()
| initialize |
[protected virtual]
This method is called to initialize the loaded module
Reimplemented from Module.
| void setup (const char* prefix = 0, bool minimal = false)
| setup |
[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 |
Reimplemented from Module.
| bool received (Message &msg, int id)
| received |
[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.
| void genUpdate (Message& msg)
| genUpdate |
[protected virtual]
Opportunity to modify the update message
Parameters:
| msg | Status update message |
Reimplemented from Module.
| bool hasLine (const String& line)
| hasLine |
[protected const virtual]
Check if driver owns a client line (registered to an external server)
Parameters:
| line | Name of the line to check |
Returns: True if this driver owns line with the specified name
| bool msgRoute (Message& msg)
| msgRoute |
[protected virtual]
Routing message handler. The default implementation routes to this driver if it owns a line named in the "account" or "line" parameter.
Parameters:
| msg | Call routing message |
Returns: True to stop processing the message, false to try other handlers
Reimplemented from Module.
| bool msgExecute (Message& msg, String& dest)
| msgExecute |
[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
| bool commandComplete (Message& msg, const String& partLine, const String& partWord)
| commandComplete |
[protected virtual]
Complete a command line
Parameters:
| msg | Message to return completion into |
| partLine | Partial line to complete, excluding the last word |
| partWord | Partial word to complete |
Returns: True to stop processing the message, false to try other handlers
Reimplemented from Module.
| void statusModule (String& str)
| statusModule |
[protected virtual]
Build the module identification part of the status answer
Parameters:
| str | String variable to fill up |
Reimplemented from Module.
| void statusParams (String& str)
| statusParams |
[protected virtual]
Build the parameter reporting part of the status answer
Parameters:
| str | String variable to fill up |
Reimplemented from Module.
| void statusDetail (String& str)
| statusDetail |
[protected virtual]
Build the channel list part of the status answer
Parameters:
| str | String variable to fill up |
Reimplemented from Module.
| bool setDebug (Message& msg, const String& target)
| setDebug |
[protected virtual]
Set the local debugging level
Parameters:
| msg | Debug setting message |
| target | String to match for local settings |
Reimplemented from Module.
| void loadLimits ()
| loadLimits |
[protected virtual]
Load the global limits from the main config file
| inline void varchan (bool variable)
| varchan |
[protected]
Set if this driver is for dynamic (variable number) channels
Parameters:
| variable | True if the channels are dynamic, false for fixed |
| inline void timeout (int tout)
| timeout |
[protected]
Set the default driver timeout
Parameters:
| tout | New timeout in milliseconds or zero to disable |
| inline void maxRoute (int ncalls)
| maxRoute |
[protected]
Set the maximum number of routing messages for this driver
Parameters:
| ncalls | Number of calls to route simultaneously, zero to accept all |
| inline void maxChans (int ncalls)
| maxChans |
[protected]
Set the maximum number of running channels for this driver
Parameters:
| ncalls | Number of calls to run simultaneously, zero to accept all |
| inline void dtmfDups (bool duplicates)
| dtmfDups |
[protected]
Set the DTMF duplicates allowed flag
Parameters:
| duplicates | True to allow DTMF duplicate messages |
| Generated by: paulc on bussard on Sun Oct 20 21:06:06 2013, using kdoc 2.0a54. |