Yate
Public Member Functions | Protected Attributes | Friends

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:
formatName of the data format, default "slin" (Signed Linear)

Member Function Documentation

bool attach ( DataConsumer consumer,
bool  override = false 
)

Attach a data consumer

Parameters:
consumerData consumer to attach
overrideAttach 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:
consumerData 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:
dataThe raw data block to forward
tStampTimestamp of data - typically samples
flagsIndicator 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:
nameName 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:
tStampNew 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: