# DataEndpoint Class Reference

A data transfer endpoint capable of sending and/or receiving data. More...

`#include <yatephone.h>`

Inheritance diagram for DataEndpoint:

List of all members.

## Public Member Functions

| DataEndpoint (CallEndpoint *call=0, const char *name="audio")
virtual void | destroyed ()
virtual void * | getObject (const String &name) const
virtual const String & | toString () const
Mutex * | mutex () const
bool | connect (DataEndpoint *peer)
bool | disconnect ()
void | setSource (DataSource *source=0)
DataSource * | getSource () const
void | setConsumer (DataConsumer *consumer=0)
DataConsumer * | getConsumer () const
void | setPeerRecord (DataConsumer *consumer=0)
DataConsumer * | getPeerRecord () const
void | setCallRecord (DataConsumer *consumer=0)
DataConsumer * | getCallRecord () const
bool | addSniffer (DataConsumer *sniffer)
bool | delSniffer (DataConsumer *sniffer)
DataConsumer * | getSniffer (const String &name)
void | clearSniffers ()
DataEndpoint * | getPeer () const
CallEndpoint * | getCall () const
const String & | name () const

## Static Public Member Functions

static Mutex & | commonMutex ()

## Protected Member Functions

virtual bool | nativeConnect (DataEndpoint *peer)

## Detailed Description

A data transfer endpoint capable of sending and/or receiving data.

The DataEndpoint holds an endpoint capable of performing unidirectional or bidirectional data transfers

## Constructor & Destructor Documentation

DataEndpoint | ( | CallEndpoint * | call = `0`,
|  | const char * | name = `"audio"` |
| ) |  |  |

Creates an empty data endpoint

## Member Function Documentation

virtual void destroyed | ( |  | ) | `[virtual]`

Endpoint destruct notification, clears source and consumer

Reimplemented from RefObject.

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.

virtual const String& toString | ( |  | ) | const`[virtual]`

Get a string identification of the endpoint

Returns:
  A reference to this endpoint's name

Reimplemented from GenObject.

Mutex* mutex | ( |  | ) | const

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

Returns:
  Pointer to the call's mutex object or NULL

static Mutex& commonMutex | ( |  | ) | `[static]`

Get the big mutex that serializes access to all data endpoints

Returns:
  A reference to the mutex

bool connect | ( | DataEndpoint * | peer | ) |

Connect the source and consumer of the endpoint to a peer

Parameters:

  | peer | Pointer to the peer data endpoint

Returns:
  True if connected, false if incompatible source/consumer

bool disconnect | ( |  | ) |

Disconnect from the connected endpoint

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

void setSource | ( | DataSource * | source = `0` | ) |

Set the data source of this object

Parameters:

  | source | A pointer to the new source or NULL

DataSource* getSource | ( |  | ) | const`[inline]`

Get the data source of this object

Returns:
  A pointer to the DataSource object or NULL

void setConsumer | ( | DataConsumer * | consumer = `0` | ) |

Set the data consumer of this object

Parameters:

  | consumer | A pointer to the new consumer or NULL

DataConsumer* getConsumer | ( |  | ) | const`[inline]`

Get the data consumer of this object

Returns:
  A pointer to the DataConsumer object or NULL

void setPeerRecord | ( | DataConsumer * | consumer = `0` | ) |

Set the data consumer for recording peer generated data. This will be connected to the peer data source.

Parameters:

  | consumer | A pointer to the new consumer or NULL

DataConsumer* getPeerRecord | ( |  | ) | const`[inline]`

Get the data consumer used for recording peer generated data.

Returns:
  A pointer to the DataConsumer object or NULL

void setCallRecord | ( | DataConsumer * | consumer = `0` | ) |

Set the data consumer for recording local call generated data This will be connected to the local data source.

Parameters:

  | consumer | A pointer to the new consumer or NULL

DataConsumer* getCallRecord | ( |  | ) | const`[inline]`

Get the data consumer used for recording local call generated data.

Returns:
  A pointer to the DataConsumer object or NULL

bool addSniffer | ( | DataConsumer * | sniffer | ) |

Adds a data consumer to the list of sniffers of the local call data

Parameters:

  | sniffer | Pointer to the DataConsumer to add to sniffer list

Returns:
  True if the sniffer was added to list, false if NULL or already added

bool delSniffer | ( | DataConsumer * | sniffer | ) |

Remove a data consumer from the list of sniffers of the local call data

Parameters:

  | sniffer | Pointer to the DataConsumer to remove from sniffer list

Returns:
  True if the sniffer was removed from list

DataConsumer* getSniffer | ( | const String & | name | ) | `[inline]`

Find a sniffer by name

Parameters:

  | name | Name of the sniffer to find

Returns:
  Pointer to DataConsumer or NULL if not found

void clearSniffers | ( |  | ) |

Removes all sniffers from the list and dereferences them

DataEndpoint* getPeer | ( |  | ) | const`[inline]`

Get a pointer to the peer endpoint

Returns:
  A pointer to the peer endpoint or NULL

CallEndpoint* getCall | ( |  | ) | const`[inline]`

Get a pointer to the owner call

Returns:
  A pointer to the owner call or NULL

const String& name | ( |  | ) | const`[inline]`

Get the name set in constructor

Returns:
  A reference to the name as hashed string

virtual bool nativeConnect | ( | DataEndpoint * | peer | ) | `[inline, protected, virtual]`

Attempt to connect the endpoint to a peer of the same type

Parameters:

  | peer | Pointer to the endpoint data driver

Returns:
  True if connected, false if failed native connection

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

- yatephone.h