view src/console/Gzip_File.h @ 894:f19e6748d8eb trunk

[svn] maintenance of build system: - link for OBJECTIVE_LIBS had not occurred even if OBJECTIVE_LIBS_NOINST was re-linked. LIBDEP macro is introduced to indicate dependency. - make rules such as $(AR) cq $@ $(OBJECTS) in individual Makefile have been removed. these linkage will be done through objective.mk. - *.h has been removed from SOURCES. these files had been passed to linker as object files.
author yaz
date Sat, 24 Mar 2007 09:08:58 -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