view src/console/Gzip_File.h @ 977:bdf6ccf7bf53 trunk

[svn] Fixed the embarassing situation i was in (writing a plugin and not being able to see/hear it work). Now lastfm plays for all of us mortals, not only those who have a lastfm subscription. nenolod is not the one and only any more :p
author majeru
date Mon, 23 Apr 2007 14:24:01 -0700
parents 3da1b8942b8b
children
line wrap: on
line source


// Gzip file access

#ifndef GZIP_FILE_H
#define GZIP_FILE_H

#include "abstract_file.h"

// Get size of gzipped file data (or size of file if not gzipped). NULL
// on success, otherwise error string.
const char* get_gzip_eof( const char* path, long* eof_out );

class Gzip_File_Reader : public File_Reader {
	void* file_;
	long size_;
public:
	Gzip_File_Reader();
	~Gzip_File_Reader();
	
	error_t open( const char* );
	
	long size() const;
	long read_avail( void*, long );
	
	long tell() const;
	error_t seek( long );
	
	void close();
};

class Gzip_File_Writer : public Data_Writer {
	void* file_;
public:
	Gzip_File_Writer();
	~Gzip_File_Writer();
	
	error_t open( const char* );
	error_t write( const void*, long );
	void close();
};

#endif