#ifndef WRITER_H #define WRITER_H class AbstractDecoder; class AbstractEncoder; class DiskFlux; class FluxSink; class FluxSource; class FluxSourceIteratorHolder; class Fluxmap; class Image; class ImageReader; class ImageWriter; class Location; class TrackFlux; extern void writeTracks(FluxSink& fluxSink, const std::function( const Location& location)> producer); extern void fillBitmapTo(std::vector& bitmap, unsigned& cursor, unsigned terminateAt, const std::vector& pattern); extern void writeDiskCommand(std::shared_ptr image, AbstractEncoder& encoder, FluxSink& fluxSink, AbstractDecoder* decoder = nullptr, FluxSource* fluxSource = nullptr); extern void writeRawDiskCommand(FluxSource& fluxSource, FluxSink& fluxSink); extern std::shared_ptr readAndDecodeTrack(FluxSource& fluxSource, AbstractDecoder& decoder, const Location& location); extern std::shared_ptr readDiskCommand( FluxSource& fluxsource, AbstractDecoder& decoder); extern void readDiskCommand( FluxSource& source, AbstractDecoder& decoder, ImageWriter& writer); extern void rawReadDiskCommand(FluxSource& source, FluxSink& sink); #endif