Yate: DataSource Class Reference

Yate

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

`#include <yatephone.h>`

Inheritance diagram for DataSource:

## Public Member Functions
| DataSource (const char *format="slin")
virtual void | destroyed ()
virtual void * | getObject (const String &name) const
virtual bool | valid () const
virtual bool | control (NamedList &params)
unsigned long | Forward (const DataBlock &data, unsigned long tStamp=invalidStamp(), unsigned long flags=0)
bool | attach (DataConsumer *consumer, bool override=false)
bool | detach (DataConsumer *consumer)
void | clear ()
DataTranslator * | getTranslator () const
void | synchronize (unsigned long tStamp)
unsigned long | nextStamp () const
Public Member Functions inherited from DataNode
| DataNode (const char *format=0)
virtual int | costFormat (const DataFormat &format)
virtual bool | setFormat (const DataFormat &format)
const DataFormat & | getFormat () const
unsigned long | timeStamp () const
virtual void | attached (bool added)
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 & | toString () const
virtual const String & | traceId () const
NamedCounter * | getObjCounter () const
NamedCounter * | setObjCounter (NamedCounter *counter)
Public Member Functions inherited from Mutex
| Mutex (bool recursive=false, const char *name=0)
| Mutex (const Mutex &original)
| ~Mutex ()
Mutex & | operator= (const Mutex &original)
virtual bool | lock (long maxwait=-1)
virtual bool | unlock ()
virtual bool | locked () const
const char * | owner () const
bool | recursive () const
virtual Mutex * | lockableMutex ()
Public Member Functions inherited from Lockable
virtual | ~Lockable ()
virtual bool | check (long maxwait=-1)
virtual bool | unlockAll ()
virtual Semaphore * | lockableSemaphore ()
virtual RWLock * | lockableRWLock ()

## Protected Attributes
unsigned long | m_nextStamp
ObjList | m_consumers
Protected Attributes inherited from DataNode
DataFormat | m_format
unsigned long | m_timestamp

## Friends
class | DataTranslator

## Additional Inherited Members
Public Types inherited from DataNode
enum | DataFlags { DataStart = 0x0001 , DataEnd = 0x0002 , DataMark = 0x0004 , DataSilent = 0x0008 , DataMissed = 0x0010 , DataError = 0x0020 , DataPrivate = 0x0100 }
Static Public Member Functions inherited from DataNode
static unsigned long | invalidStamp ()
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 ()
Static Public Member Functions inherited from Mutex
static int | count ()
static int | locks ()
static bool | efficientTimedLock ()
Static Public Member Functions inherited from Lockable
static void | wait (unsigned long maxwait)
static unsigned long | wait ()
static void | startUsingNow ()
static void | enableSafety (bool safe=true)
static bool | safety ()
Protected Member Functions inherited from RefObject
virtual void | zeroRefs ()
bool | resurrect ()

## Detailed Description

A data source

## Constructor & Destructor Documentation

## ◆ DataSource()

DataSource | ( | const char * | format = "slin" | ) |
| inlineexplicit

Source constructor

Parameters

  format | Name of the data format, default "slin" (Signed Linear)

References DataNode::DataNode(), DataNode::invalidStamp(), and Mutex::Mutex().

Referenced by ThreadedSource::ThreadedSource().

## Member Function Documentation

## ◆ attach()

bool attach | ( | DataConsumer * | consumer,
|  | bool | override = false )

Attach a data consumer

Parameters

  consumer | Data consumer to attach
  override | Attach as temporary source override

Returns
  True on success, false on failure

## ◆ clear()

void clear | ( |  | ) |

Detach all data consumers

## ◆ control()

virtual bool control | ( | NamedList & | params | ) |
| virtual

Modify source parameters, calls translator if one is set

Parameters

  params | The list of parameters to change

Returns
  True if processed

Reimplemented from DataNode.

## ◆ destroyed()

virtual void destroyed | ( |  | ) |
| virtual

Source's destruct notification - detaches all consumers

Reimplemented from RefObject.

Reimplemented in ThreadedSource.

## ◆ detach()

bool detach | ( | DataConsumer * | consumer | ) |

Detach a data consumer

Parameters

  consumer | Data consumer to detach

Returns
  True on success, false on failure

## ◆ Forward()

unsigned long Forward | ( | const DataBlock & | data,
|  | unsigned long | tStamp = invalidStamp(),
|  | unsigned long | flags = 0 )

Forwards the data to its consumers

Parameters

  data | The raw data block to forward
  tStamp | Timestamp of data - typically samples
  flags | Indicator flags associated with the data block

Returns
  Number of samples actually forwarded to all consumers

## ◆ 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.

## ◆ getTranslator()

DataTranslator * getTranslator | ( |  | ) | const
| inline

Get the master translator object if this source is part of a translator

Returns
  A pointer to the DataTranslator object or NULL

## ◆ nextStamp()

unsigned long nextStamp | ( |  | ) | const
| inline

Get the next expected position in the data stream

Returns
  Timestamp of next expected data position, may be invalid/unknown

## ◆ synchronize()

void synchronize | ( | unsigned long | tStamp | ) |

Synchronize the source and attached consumers with another timestamp

Parameters

  tStamp | New timestamp of data - typically samples

## ◆ valid()

virtual bool valid | ( |  | ) | const
| virtual

Check if this data source is still valid

Returns
  True if still valid, false if node should be removed

Reimplemented from DataNode.

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

- yatephone.h