# class ClientDriver | Base Driver with client specific functions. More...
Contains pure virtuals
Full name | `TelEngine::ClientDriver`
Definition | `#include <yatecbase.h>`
Inherits | TelEngine::Driver [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- ClientDriver ()
- virtual ~ClientDriver ()
- virtual void initialize ()
- virtual bool msgExecute (Message& msg, String& dest)
- virtual void msgTimer (Message& msg)
- virtual bool msgRoute (Message& msg)
- virtual bool received (Message& msg, int id)
- inline const String& activeId () const
- bool setActive (const String& id = String::empty())
- ClientChannel* findLine (int line)

#### Public Static Methods

- static inline ClientDriver* self ()
- static inline const String& device ()
- static void dropCalls (const char* reason = 0)
- static bool setAudioTransfer (const String& id, const String& target = String::empty())
- static bool setConference (const String& id, bool in, const String* confName = 0, bool buildFromChan = false)
- static ClientChannel* findChan (const String& id)
- static ClientChannel* findChanByPeer (const String& peer)
- static inline ClientChannel* findActiveChan ()
- static void dropChan (const String& chan, const char* reason = 0, bool peer = false)

#### Public Members

- static String s_confName
- static bool s_dropConfPeer

#### Protected Methods

- void setup ()

#### Protected Members

- static ClientDriver* s_driver
- static String s_device
- String m_activeId

## Detailed Description

Abstract client Driver that implements some of the specific functionality

ClientDriver () | ### ClientDriver

~ClientDriver () | ### ~ClientDriver

[virtual]

void initialize () | ### initialize

[pure virtual]

Reimplemented from Driver.

bool msgExecute (Message& msg, String& dest) | ### msgExecute

[virtual]

Reimplemented from Driver.

void msgTimer (Message& msg) | ### msgTimer

[virtual]

Reimplemented from Module.

bool msgRoute (Message& msg) | ### msgRoute

[virtual]

Reimplemented from Driver.

bool received (Message& msg, int id) | ### received

[virtual]

Reimplemented from Driver.

inline const String& activeId () | ### activeId

[const]

Get the active channel's id

Returns: The active channel's id

bool setActive (const String& id = String::empty()) | ### setActive

Set/reset the active channel. Does nothing if the selected channel is the active one. Put the active channel on hold before trying to set the active channel

Parameters:

id | The new active channel's id. Set to empty if don't want to set a new active channel

Returns: True on success

ClientChannel* findLine (int line) | ### findLine

Find a channel by its line

Parameters:

line | The line to find

Returns: ClientChannel pointer of 0

inline ClientDriver* self () | ### self

[static]

Get the global client driver object's address

Returns: The global client driver object's address

inline const String& device () | ### device

[static]

Get the current audio device's name

Returns: The current audio device's name

void dropCalls (const char* reason = 0) | ### dropCalls

[static]

Drop all calls belonging to the active driver

Parameters:

reason | Optional drop reason

bool setAudioTransfer (const String& id, const String& target = String::empty()) | ### setAudioTransfer

[static]

Attach/detach client channels peers' source/consumer

Parameters:

id | The id of the channel to tranfer
target | The transfer target. Leave blank to reset the channel's transfer id

Returns: True on success

bool setConference (const String& id, bool in, const String* confName = 0, bool buildFromChan = false) | ### setConference

[static]

Attach/detach a client channel to/from a conference room

Parameters:

id | The id of the channel to process
in | True to enter the conference room, false to exit from it
confName | Optional id of the conference. Set to 0 to use the default one Ignored if 'in' is false
buildFromChan | Build conference name from channel id if true

Returns: True on success

ClientChannel* findChan (const String& id) | ### findChan

[static]

Get a referenced channel found by its id

Parameters:

id | The id of the channel to find

Returns: Referenced ClientChannel pointer or 0

ClientChannel* findChanByPeer (const String& peer) | ### findChanByPeer

[static]

Get a referenced channel whose stored peer is the given one

Parameters:

peer | Peer id to check

Returns: Referenced ClientChannel pointer or 0

inline ClientChannel* findActiveChan () | ### findActiveChan

[static]

Get the active channel

Returns: Referenced ClientChannel pointer or 0

void dropChan (const String& chan, const char* reason = 0, bool peer = false) | ### dropChan

[static]

Drop a channel

Parameters:

chan | Channel id
reason | Optional reason
peer | Set it to true to drop a client channel peer used to reconnect

static String s_confName | ### s_confName

static bool s_dropConfPeer | ### s_dropConfPeer

void setup () | ### setup

[protected]

Indicates wether a channel should drop its former peer when terminated while in conference

Reimplemented from Driver.

static ClientDriver* s_driver | ### s_driver

[protected]

static String s_device | ### s_device

[protected]

String m_activeId | ### m_activeId

[protected]

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.