2
* IO layer : gzip streambuf and streams
5
* Johan Ceuppens <jceuppen at easynet dot be>
7
* Copyright (C) 2004 Johan Ceuppens
9
* Released under GNU LGPL, read the file 'COPYING.LIB' for more information
12
#ifndef __STREAMS_GZIP_H_
13
#define __STREAMS_GZIP_H_
15
#include "streams-zlib.h"
19
class GZipHeaderException : public ZlibBufferException
22
const char *what() const throw() { return "Invalid gzip file"; }
29
class GZipBuffer : public ZlibBuffer
33
GZipBuffer(URIHandle& urih) //throws GZipHeaderException
40
void consume_header() throw(GZipHeaderException);
41
void check_signature(guint8 *data) throw(GZipHeaderException);
42
void check_flags(guint8 *data) throw(GZipHeaderException);
43
gchar *get_filename();
46
void get_extrafield();
47
gchar *read_string() throw(GZipHeaderException);
49
GZipBuffer& operator=(GZipBuffer const& rhs);
50
GZipBuffer(GZipBuffer const& rhs);
54
} // namespace Inkscape
55
#endif // header guard
60
c-file-style:"stroustrup"
61
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
66
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :