Files
fluxengine/lib/fluxreader/fluxreader.h
2019-02-24 23:57:46 +01:00

30 lines
718 B
C++

#ifndef FLUXREADER_H
#define FLUXREADER_H
class Fluxmap;
class DataSpec;
class FluxReader
{
public:
virtual ~FluxReader() {}
private:
static std::unique_ptr<FluxReader> createSqliteFluxReader(const std::string& filename);
static std::unique_ptr<FluxReader> createHardwareFluxReader(unsigned drive);
static std::unique_ptr<FluxReader> createStreamFluxReader(const std::string& path);
public:
static std::unique_ptr<FluxReader> create(const DataSpec& spec);
public:
virtual std::unique_ptr<Fluxmap> readFlux(int track, int side) = 0;
virtual void recalibrate() {}
virtual bool retryable() { return false; }
};
extern void setHardwareFluxReaderRevolutions(int revolutions);
#endif