# 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 Fri Dec 21 16:28:34 2012, using kdoc 2.0a54.