CallEndpoint Class Reference

An abstract call endpoint. More...

#include <yatephone.h>

Inheritance diagram for CallEndpoint:
RefObject GenObject Channel ClientChannel

List of all members.

Public Member Functions

virtual void destroyed ()
virtual void * getObject (const String &name) const
virtual const StringtoString () const
const Stringid () const
CallEndpointgetPeer () const
bool getPeerId (String &id) const
String getPeerId () const
Mutexmutex () 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)
DataEndpointgetEndpoint (const char *type="audio") const
DataEndpointsetEndpoint (const char *type="audio")
void clearEndpoint (const char *type=0)
void setSource (DataSource *source=0, const char *type="audio")
DataSourcegetSource (const char *type="audio") const
void setConsumer (DataConsumer *consumer=0, const char *type="audio")
DataConsumergetConsumer (const char *type="audio") const
bool clearData (DataNode *node, const char *type="audio")

Static Public Member Functions

static MutexcommonMutex ()

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 Attributes

ObjList m_data
Mutexm_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 ( const char *  id = 0  )  [protected]

Constructor


Member Function Documentation

bool clearData ( DataNode node,
const char *  type = "audio" 
)

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
void clearEndpoint ( const char *  type = 0  ) 

Clear one or all data endpoints of this object

Parameters:
type Type of data endpoint: "audio", "video", "text", NULL to clear all
static Mutex& commonMutex (  )  [static]

Get the big mutex that serializes access to all call endpoints

Returns:
A reference to the mutex
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.
virtual void connected ( const char *  reason  )  [inline, protected, virtual]

Connect notification method.

Parameters:
reason Text that describes connect reason.

Reimplemented in Channel, and ClientChannel.

virtual void destroyed (  )  [virtual]

Destruct notification, performs cleanups

Reimplemented from RefObject.

Reimplemented in ClientChannel.

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 CallEndpoint::disconnect().

Referenced by CallEndpoint::disconnect().

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 CallEndpoint::disconnect().

Referenced by CallEndpoint::disconnect().

virtual void disconnected ( bool  final,
const char *  reason 
) [inline, protected, virtual]

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.

DataConsumer* getConsumer ( const char *  type = "audio"  )  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
DataEndpoint* getEndpoint ( const char *  type = "audio"  )  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
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 GenObject.

Reimplemented in Channel.

CallEndpoint* getPeer (  )  const [inline]

Get the connected peer call

Returns:
Pointer to connected peer call or NULL
String getPeerId (  )  const

Get the connected peer call id

Returns:
Connected peer call id or empty string
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 had a peer
DataSource* getSource ( const char *  type = "audio"  )  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
const String& id (  )  const [inline]

Get the unique channel identifier

Returns:
A String holding the unique channel id
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
void setConsumer ( DataConsumer consumer = 0,
const char *  type = "audio" 
)

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"
virtual void setDisconnect ( const NamedList params  )  [inline, protected, virtual]

Set disconnect parameters

Parameters:
params Pointer to disconnect cause parameters, NULL to reset them

Reimplemented in Channel.

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
DataEndpoint* setEndpoint ( const char *  type = "audio"  ) 

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
virtual void setId ( const char *  newId  )  [protected, virtual]

Set a new ID for this call endpoint

Parameters:
newId New ID to set to this call

Reimplemented in Channel.

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
void setSource ( DataSource source = 0,
const char *  type = "audio" 
)

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"
virtual const String& toString (  )  const [inline, virtual]

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:
Generated on Thu Apr 8 18:22:36 2010 for Yate by  doxygen 1.6.3