CDataGetter

Name

CDataGetter -- Base class for data getters.

Synopsis


#include <CDataGetter.h>

class CDataGetter
{
public:
    virtual ~CDataGetter() {}               
    virtual std::pair<size_t, void*> read() = 0;  
    virtual void free(std::pair<size_t, void*>& data) =0; 
};

                    

DESCRIPTION

This class is documented in case you want to add additional data sources to batch SpecTcl. The CDataGetter class is the base class for such objects. Concrete subclasses must implement two methods; read and free.

virtual std::pair<size_t, void*> read();

This is expected to read another chunk of data from the data source. The return value is a pair that provides the amount of data read (in bytes) and a pointer to that data. The data may be dynamically or statically allocated. The current version of the SpecTcl Batch analyzer will only have one block of data active at a time, that is free will be called prior to the next invocation of read

virtual void free(std::pair<size_t, void*>& data);

Called when the analyzer is done with a block of data. If the data was dynamically allocated, this method should free it. The parameter is a reference to the result of the most recent call to read. Only one block of data will be in analysis in this SpecTcl at a time.