27#ifndef NIDAS_CORE_SAMPLESOURCE_H
28#define NIDAS_CORE_SAMPLESOURCE_H
34namespace nidas {
namespace core {
Pure virtual interface of a client of Samples.
Definition SampleClient.h:38
Pure virtual interface for a source of Samples.
Definition SampleSource.h:48
virtual std::list< const SampleTag * > getSampleTags() const =0
What SampleTags am I a SampleSource for?
virtual void addSampleTag(const SampleTag *)=0
Add a SampleTag to this SampleSource.
virtual void removeSampleClientForTag(SampleClient *c, const SampleTag *)=0
Remove a SampleClient for a given SampleTag from this SampleSource.
virtual void removeSampleClient(SampleClient *c)=0
Remove a SampleClient from this SampleSource.
virtual void addSampleClient(SampleClient *c)=0
Add a SampleClient of all Samples to this SampleSource.
virtual SampleSource * getProcessedSampleSource()=0
Several objects in NIDAS can be both a SampleSource of raw Samples and processed Samples.
virtual int getClientCount() const =0
How many SampleClients are currently in my list.
virtual ~SampleSource()
Definition SampleSource.h:51
virtual void removeSampleTag(const SampleTag *)=0
virtual void addSampleClientForTag(SampleClient *c, const SampleTag *)=0
Add a SampleClient to this SampleSource.
virtual void flush()=0
Request that this SampleSource flush it's samples.
virtual SampleTagIterator getSampleTagIterator() const =0
virtual const SampleStats & getSampleStats() const =0
virtual SampleSource * getRawSampleSource()=0
Several objects in NIDAS can be both a SampleSource of raw Samples and processed Samples.
A source of samples.
Definition SampleStats.h:41
Class for iterating over the SampleTags of a Project, Site, DSMConfig, or a SampleSource.
Definition NidsIterators.h:218
Class describing a group of variables that are sampled and handled together.
Definition SampleTag.h:88
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31