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

◆ ~SampleSource()

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

Member Function Documentation

◆ addSampleClient()

virtual void nidas::core::SampleSource::addSampleClient ( SampleClient * c)
pure virtual

◆ addSampleClientForTag()

virtual void nidas::core::SampleSource::addSampleClientForTag ( SampleClient * c,
const SampleTag *  )
pure virtual

◆ addSampleTag()

virtual void nidas::core::SampleSource::addSampleTag ( const SampleTag * )
pure virtual

◆ flush()

virtual void nidas::core::SampleSource::flush ( )
pure virtual

◆ getClientCount()

virtual int nidas::core::SampleSource::getClientCount ( ) const
pure virtual

◆ getProcessedSampleSource()

virtual SampleSource * nidas::core::SampleSource::getProcessedSampleSource ( )
pure virtual

◆ getRawSampleSource()

virtual SampleSource * nidas::core::SampleSource::getRawSampleSource ( )
pure virtual

◆ getSampleStats()

virtual const SampleStats & nidas::core::SampleSource::getSampleStats ( ) const
pure virtual

◆ getSampleTagIterator()

virtual SampleTagIterator nidas::core::SampleSource::getSampleTagIterator ( ) const
pure virtual

◆ getSampleTags()

virtual std::list< const SampleTag * > nidas::core::SampleSource::getSampleTags ( ) const
pure virtual

◆ removeSampleClient()

virtual void nidas::core::SampleSource::removeSampleClient ( SampleClient * c)
pure virtual

◆ removeSampleClientForTag()

virtual void nidas::core::SampleSource::removeSampleClientForTag ( SampleClient * c,
const SampleTag *  )
pure virtual

◆ removeSampleTag()

virtual void nidas::core::SampleSource::removeSampleTag ( const SampleTag * )
pure virtual

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