nidas  v1.2-1520
Public Member Functions | List of all members
nidas::core::SampleSource Class Referenceabstract

Pure virtual interface for a source of Samples. More...

#include <SampleSource.h>

Inheritance diagram for nidas::core::SampleSource:
Inheritance graph
[legend]

Public Member Functions

virtual ~SampleSource ()
 
virtual SampleSourcegetRawSampleSource ()=0
 Several objects in NIDAS can be both a SampleSource of raw Samples and processed Samples. More...
 
virtual SampleSourcegetProcessedSampleSource ()=0
 Several objects in NIDAS can be both a SampleSource of raw Samples and processed Samples. More...
 
virtual void addSampleTag (const SampleTag *)=0 throw (nidas::util::InvalidParameterException)
 Add a SampleTag to this SampleSource. More...
 
virtual void removeSampleTag (const SampleTag *)=0 throw ()
 
virtual std::list< const
SampleTag * > 
getSampleTags () const =0
 What SampleTags am I a SampleSource for? More...
 
virtual SampleTagIterator getSampleTagIterator () const =0
 
virtual void addSampleClient (SampleClient *c)=0 throw ()
 Add a SampleClient of all Samples to this SampleSource. More...
 
virtual void removeSampleClient (SampleClient *c)=0 throw ()
 Remove a SampleClient from this SampleSource. More...
 
virtual void addSampleClientForTag (SampleClient *c, const SampleTag *)=0 throw ()
 Add a SampleClient to this SampleSource. More...
 
virtual void removeSampleClientForTag (SampleClient *c, const SampleTag *)=0 throw ()
 Remove a SampleClient for a given SampleTag from this SampleSource. More...
 
virtual int getClientCount () const =0 throw ()
 How many SampleClients are currently in my list. More...
 
virtual void flush ()=0 throw ()
 Request that this SampleSource flush it's samples. More...
 
virtual const SampleStatsgetSampleStats () const =0
 

Detailed Description

Pure virtual interface for a source of Samples.

Implementations of SampleSource typically maintain a list of SampleClients. When a SampleSource has a Sample ready, it will call the receive method of all its SampleClients. SampleClients register/unregister with a SampleSource via the addSampleClient/removeSampleClient methods.

Constructor & Destructor Documentation

virtual nidas::core::SampleSource::~SampleSource ( )
inlinevirtual

Member Function Documentation

virtual void nidas::core::SampleSource::addSampleClient ( SampleClient c)
throw (
)
pure virtual
virtual void nidas::core::SampleSource::addSampleClientForTag ( SampleClient c,
const SampleTag  
)
throw (
)
pure virtual
virtual void nidas::core::SampleSource::addSampleTag ( const SampleTag )
throw (nidas::util::InvalidParameterException
)
pure virtual
virtual void nidas::core::SampleSource::flush ( )
throw (
)
pure virtual
virtual int nidas::core::SampleSource::getClientCount ( ) const
throw (
)
pure virtual
virtual SampleSource* nidas::core::SampleSource::getProcessedSampleSource ( )
pure virtual
virtual SampleSource* nidas::core::SampleSource::getRawSampleSource ( )
pure virtual
virtual const SampleStats& nidas::core::SampleSource::getSampleStats ( ) const
pure virtual
virtual SampleTagIterator nidas::core::SampleSource::getSampleTagIterator ( ) const
pure virtual
virtual std::list<const SampleTag*> nidas::core::SampleSource::getSampleTags ( ) const
pure virtual
virtual void nidas::core::SampleSource::removeSampleClient ( SampleClient c)
throw (
)
pure virtual
virtual void nidas::core::SampleSource::removeSampleClientForTag ( SampleClient c,
const SampleTag  
)
throw (
)
pure virtual
virtual void nidas::core::SampleSource::removeSampleTag ( const SampleTag )
throw (
)
pure virtual

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