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