/*
 * ImageReader.h
 *
 * (c) 2002 by Thorsten Scheuermann <tscheuermann@gmx.net>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

#ifndef IMAGEREADER_H
#define IMAGEREADER_H

#include "ImageDataSink.h"

class ImageReader
{
public: 
	ImageReader(const char *fileName);
	virtual ~ImageReader();

 	inline void setConsumer(ImageDataSink *c);
	inline ImageDataSink *consumer();

	virtual const char *type() = 0;
	virtual int imageWidth() = 0;
  virtual int imageHeight() = 0;
	virtual void readImageData() = 0;

private:
	ImageDataSink *dataConsumer;
};

inline void ImageReader::setConsumer(ImageDataSink *c)
{
	dataConsumer = c;
}

inline ImageDataSink *ImageReader::consumer()
{
	return dataConsumer;
}

#endif
