view src/console/Gzip_Reader.h @ 2138:76f9a4168708

Fix linking with libaudid3tag Linking with libaudid3tag from /usr/lib/audacious, add rpath (affected to tta, shnplug and madplug plugins)
author Vitaly Lipatov <lav@etersoft.ru>
date Sat, 27 Oct 2007 19:34:46 -0500
parents 986f098da058
children
line wrap: on
line source

// Transparently decompresses gzip files, as well as uncompressed

// File_Extractor 0.4.0
#ifndef GZIP_READER_H
#define GZIP_READER_H

#include "Data_Reader.h"
#include "Zlib_Inflater.h"

class Gzip_Reader : public Data_Reader {
public:
	error_t open( File_Reader* );
	void close();
	
public:
	Gzip_Reader();
	~Gzip_Reader();
	long remain() const;
	error_t read( void*, long );
	long read_avail( void*, long );
private:
	File_Reader* in;
	long tell_;
	long size_;
	Zlib_Inflater inflater;
	
	error_t calc_size();
	blargg_err_t read_( void* out, long* count );
};

#endif