Files
fluxengine/lib/imagereader/imagereader.h
Thomas Daede ea407b2182 Add FDI format reader.
This format is common for NEC PC-98 disk images.
2021-12-01 03:44:18 -08:00

38 lines
1.3 KiB
C++

#ifndef IMAGEREADER_H
#define IMAGEREADER_H
class ImageSpec;
class ImageReaderProto;
class Image;
class ImageReader
{
public:
ImageReader(const ImageReaderProto& config);
virtual ~ImageReader() {};
public:
static std::unique_ptr<ImageReader> create(const ImageReaderProto& config);
static void updateConfigForFilename(ImageReaderProto* proto, const std::string& filename);
public:
static std::unique_ptr<ImageReader> createD64ImageReader(const ImageReaderProto& config);
static std::unique_ptr<ImageReader> createDiskCopyImageReader(const ImageReaderProto& config);
static std::unique_ptr<ImageReader> createImgImageReader(const ImageReaderProto& config);
static std::unique_ptr<ImageReader> createJv3ImageReader(const ImageReaderProto& config);
static std::unique_ptr<ImageReader> createIMDImageReader(const ImageReaderProto& config);
static std::unique_ptr<ImageReader> createNsiImageReader(const ImageReaderProto& config);
static std::unique_ptr<ImageReader> createTd0ImageReader(const ImageReaderProto& config);
static std::unique_ptr<ImageReader> createDimImageReader(const ImageReaderProto& config);
static std::unique_ptr<ImageReader> createFdiImageReader(const ImageReaderProto& config);
public:
virtual Image readImage() = 0;
protected:
const ImageReaderProto& _config;
};
#endif