DataSource Class Reference

#include <yatephone.h>

Inheritance diagram for DataSource:
DataNode Mutex RefObject Lockable GenObject ThreadedSource

List of all members.

Public Member Functions

 DataSource (const char *format="slin")
virtual void destroyed ()
virtual void * getObject (const String &name) const
virtual bool valid () const
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 ()
DataTranslatorgetTranslator () const
void synchronize (unsigned long tStamp)
unsigned long nextStamp () const

Protected Attributes

unsigned long m_nextStamp
DataTranslatorm_translator
ObjList m_consumers

Friends

class DataTranslator

Detailed Description

A data source


Constructor & Destructor Documentation

DataSource ( const char *  format = "slin"  )  [inline]

Source constructor

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

Member Function Documentation

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
void clear (  ) 

Detach all data consumers

virtual void destroyed (  )  [virtual]

Source's destruct notification - detaches all consumers

Reimplemented from RefObject.

Reimplemented in ThreadedSource.

bool detach ( DataConsumer consumer  ) 

Detach a data consumer

Parameters:
consumer Data consumer to detach
Returns:
True on success, false on failure
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
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.

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
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
void synchronize ( unsigned long  tStamp  ) 

Synchronize the source and attached consumers with another timestamp

Parameters:
tStamp New timestamp of data - typically samples
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:
Generated on Thu Apr 8 18:22:36 2010 for Yate by  doxygen 1.6.3