Yate: CallEndpoint Class Reference

Yate

Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
CallEndpoint Class Reference

An abstract call endpoint. More...

`#include <yatephone.h>`

Inheritance diagram for CallEndpoint:

## Public Member Functions
virtual void | destroyed ()
virtual void * | getObject (const String &name) const
virtual const String & | toString () const
const String & | id () const
CallEndpoint * | getPeer () const
bool | getPeerId (String &id) const
String | getPeerId () const
bool | getLastPeerId (String &id) const
void | setLastPeerId ()
Mutex * | mutex () const
bool | connect (CallEndpoint *peer, const char *reason=0, bool notify=true)
bool | disconnect (const char *reason=0, bool notify=true, const NamedList *params=0)
bool | disconnect (const char *reason, const NamedList &params)
DataEndpoint * | getEndpoint (const String &type=CallEndpoint::audioType()) const
DataEndpoint * | setEndpoint (const String &type=CallEndpoint::audioType())
void | clearEndpoint (const String &type=String::empty())
void | setSource (DataSource *source=0, const String &type=CallEndpoint::audioType())
DataSource * | getSource (const String &type=CallEndpoint::audioType()) const
void | setConsumer (DataConsumer *consumer=0, const String &type=CallEndpoint::audioType())
DataConsumer * | getConsumer (const String &type=CallEndpoint::audioType()) const
bool | clearData (DataNode *node, const String &type=CallEndpoint::audioType())
Public Member Functions inherited from RefObject
| RefObject ()
virtual | ~RefObject ()
virtual bool | alive () const
bool | ref ()
bool | deref ()
int | refcount () const
virtual void | destruct ()
Public Member Functions inherited from GenObject
| GenObject ()
virtual | ~GenObject ()
virtual const String & | traceId () const
NamedCounter * | getObjCounter () const
NamedCounter * | setObjCounter (NamedCounter *counter)

## Static Public Member Functions
static Mutex & | commonMutex ()
static const String & | audioType ()
Static Public Member Functions inherited from RefObject
static bool | alive (const RefObject *obj)
static bool | efficientIncDec ()
Static Public Member Functions inherited from GenObject
static void * | getObject (const String &name, const GenObject *obj)
static bool | getObjCounting ()
static void | setObjCounting (bool enable)
static NamedCounter * | getObjCounter (const String &name, bool create=true)
static ObjList & | getObjCounters ()

## Protected Member Functions
| CallEndpoint (const char *id=0)
virtual void | connected (const char *reason)
virtual void | disconnected (bool final, const char *reason)
virtual void | setDisconnect (const NamedList *params)
void | setPeer (CallEndpoint *peer, const char *reason=0, bool notify=true, const NamedList *params=0)
void | setEndpoint (DataEndpoint *endPoint)
virtual void | setId (const char *newId)
Protected Member Functions inherited from RefObject
virtual void | zeroRefs ()
bool | resurrect ()

## Protected Attributes
ObjList | m_data
Mutex * | m_mutex

## Friends
class | DataEndpoint

## Detailed Description

An abstract call endpoint.

A class that holds common call control and data related features

## Constructor & Destructor Documentation

## ◆ CallEndpoint()

CallEndpoint | ( | const char * | id = 0 | ) |
| protected

Constructor

Referenced by connect(), getPeer(), and setPeer().

## Member Function Documentation

## ◆ audioType()

const String & audioType | ( |  | ) |
| static

Return the defaul audio type "audio"

Returns
  Return a string naming the "audio" type

Referenced by clearData(), getConsumer(), getEndpoint(), getSource(), setConsumer(), setEndpoint(), and setSource().

## ◆ clearData()

bool clearData | ( | DataNode * | node,
|  | const String & | type = CallEndpoint::audioType() )

Clear a data node from any slot of a DataEndpoint of this object

Parameters

  node | Pointer to DataSource or DataConsumer to clear
  type | Type of data node: "audio", "video", "text"

Returns
  True if the node was removed from at least one slot

References audioType().

## ◆ clearEndpoint()

void clearEndpoint | ( | const String & | type = String::empty() | ) |

Clear one or all data endpoints of this object

Parameters

  type | Type of data endpoint: "audio", "video", "text", NULL to clear all

References String::empty().

## ◆ commonMutex()

Mutex & commonMutex | ( |  | ) |
| static

Get the big mutex that serializes access to all call endpoints

Returns
  A reference to the mutex

## ◆ connect()

bool connect | ( | CallEndpoint * | peer,
|  | const char * | reason = 0,
|  | bool | notify = true )

Connect the call endpoint to a peer.

Parameters

  peer | Pointer to the peer call endpoint.
  reason | Text that describes connect reason.
  notify | Call disconnected() notification method on old peer

Returns
  True if connected, false if an error occured.

References CallEndpoint().

## ◆ connected()

virtual void connected | ( | const char * | reason | ) |
| inlineprotectedvirtual

Connect notification method.

Parameters

  reason | Text that describes connect reason.

Reimplemented in Channel, and ClientChannel.

## ◆ destroyed()

virtual void destroyed | ( |  | ) |
| virtual

Destruct notification, performs cleanups

Reimplemented from RefObject.

Reimplemented in ClientChannel.

## ◆ disconnect() [1/2]

bool disconnect | ( | const char * | reason,
|  | const NamedList & | params )
| inline

Disconnect from the connected peer call endpoint and notify old peer.

Parameters

  reason | Text that describes disconnect reason.
  params | Extra parameters for disconnect cause

Returns
  True if the object was deleted, false if it still exists

References disconnect().

## ◆ disconnect() [2/2]

bool disconnect | ( | const char * | reason = 0,
|  | bool | notify = true,
|  | const NamedList * | params = 0 )
| inline

Disconnect from the connected peer call endpoint.

Parameters

  reason | Text that describes disconnect reason.
  notify | Call disconnected() notification method on old peer
  params | Optional pointer to extra parameters for disconnect cause

Returns
  True if the object was deleted, false if it still exists

References disconnect().

Referenced by disconnect(), and disconnect().

## ◆ disconnected()

virtual void disconnected | ( | bool | final,
|  | const char * | reason )
| inlineprotectedvirtual

Disconnect notification method.

Parameters

  final | True if this disconnect was called from the destructor.
  reason | Text that describes disconnect reason.

Reimplemented in Channel, and ClientChannel.

## ◆ getConsumer()

DataConsumer * getConsumer | ( | const String & | type = CallEndpoint::audioType() | ) | const

Get the data consumer of this object

Parameters

  type | Type of data node: "audio", "video", "text"

Returns
  A pointer to the DataConsumer object or NULL

References audioType().

## ◆ getEndpoint()

DataEndpoint * getEndpoint | ( | const String & | type = CallEndpoint::audioType() | ) | const

Get a data endpoint of this object

Parameters

  type | Type of data endpoint: "audio", "video", "text"

Returns
  A pointer to the DataEndpoint object or NULL if not found

References audioType().

## ◆ getLastPeerId()

bool getLastPeerId | ( | String & | id | ) | const

Get the last connected peer call id in a caller supplied String

Parameters

  id | String to fill in

Returns
  True if the call endpoint ever had a peer

## ◆ getObject()

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

Reimplemented in Channel.

## ◆ getPeer()

CallEndpoint * getPeer | ( |  | ) | const
| inline

Get the connected peer call

Returns
  Pointer to connected peer call or NULL

References CallEndpoint().

## ◆ getPeerId() [1/2]

String getPeerId | ( |  | ) | const

Get the connected peer call id

Returns
  Connected peer call id or empty string

## ◆ getPeerId() [2/2]

bool getPeerId | ( | String & | id | ) | const

Get the connected peer call id in a caller supplied String

Parameters

  id | String to fill in

Returns
  True if the call endpoint has a peer

## ◆ getSource()

DataSource * getSource | ( | const String & | type = CallEndpoint::audioType() | ) | const

Get a data source of this object

Parameters

  type | Type of data node: "audio", "video", "text"

Returns
  A pointer to the DataSource object or NULL

References audioType().

## ◆ id()

const String & id | ( |  | ) | const
| inline

Get the unique channel identifier

Returns
  A String holding the unique channel id

## ◆ mutex()

Mutex * mutex | ( |  | ) | const
| inline

Get the mutex that serializes access to this call endpoint, if any

Returns
  Pointer to the call's mutex object or NULL

## ◆ setConsumer()

void setConsumer | ( | DataConsumer * | consumer = 0,
|  | const String & | type = CallEndpoint::audioType() )

Set the data consumer of this object

Parameters

  consumer | A pointer to the new consumer or NULL
  type | Type of data node: "audio", "video", "text"

References audioType().

## ◆ setDisconnect()

virtual void setDisconnect | ( | const NamedList * | params | ) |
| inlineprotectedvirtual

Set disconnect parameters

Parameters

  params | Pointer to disconnect cause parameters, NULL to reset them

Reimplemented in Channel.

## ◆ setEndpoint() [1/2]

DataEndpoint * setEndpoint | ( | const String & | type = CallEndpoint::audioType() | ) |

Get a data endpoint of this object, create if required

Parameters

  type | Type of data endpoint: "audio", "video", "text"

Returns
  A pointer to the DataEndpoint object or NULL if an error occured

References audioType().

## ◆ setEndpoint() [2/2]

void setEndpoint | ( | DataEndpoint * | endPoint | ) |
| protected

Set a foreign data endpoint in this object

Parameters

  endPoint | Data endpoint to set, will replace one with same type

## ◆ setId()

virtual void setId | ( | const char * | newId | ) |
| protectedvirtual

Set a new ID for this call endpoint

Parameters

  newId | New ID to set to this call

Reimplemented in Channel.

## ◆ setLastPeerId()

void setLastPeerId | ( |  | ) |

Copy the current peer ID as the last connected peer ID, does nothing if not connected

## ◆ setPeer()

void setPeer | ( | CallEndpoint * | peer,
|  | const char * | reason = 0,
|  | bool | notify = true,
|  | const NamedList * | params = 0 )
| protected

Set the peer call endpoint pointer.

Parameters

  peer | A pointer to the new peer or NULL.
  reason | Text describing the reason in case of disconnect.
  notify | Call notification methods - connected() or disconnected()
  params | Optional pointer to extra parameters for disconnect cause

References CallEndpoint().

## ◆ setSource()

void setSource | ( | DataSource * | source = 0,
|  | const String & | type = CallEndpoint::audioType() )

Set a data source of this object

Parameters

  source | A pointer to the new source or NULL
  type | Type of data node: "audio", "video", "text"

References audioType().

## ◆ toString()

virtual const String & toString | ( |  | ) | const
| inlinevirtual

Get a string representation of this channel

Returns
  A reference to the name of this object

Reimplemented from GenObject.

The documentation for this class was generated from the following file:

- yatephone.h