WvStreams
Main Page
Modules
Classes
Files
File List
File Members
include
wvgzip.h
1
/* -*- Mode: C++ -*-
2
* Worldvisions Weaver Software:
3
* Copyright (C) 1997-2002 Net Integration Technologies, Inc.
4
*
5
* Gzip encoder/decoder based on zlib.
6
*/
7
#ifndef __WVGZIP_H
8
#define __WVGZIP_H
9
10
#include "wvencoder.h"
11
#include "wvencoderstream.h"
12
13
struct
z_stream_s;
14
35
class
WvGzipEncoder
:
public
WvEncoder
36
{
37
public
:
38
enum
Mode
{
39
Deflate
,
40
Inflate
41
};
42
48
WvGzipEncoder
(
Mode
mode,
size_t
_out_limit = 0);
49
virtual
~
WvGzipEncoder
();
50
55
size_t
out_limit
;
56
66
bool
ignore_decompression_errors
;
67
75
bool
full_flush
;
76
77
protected
:
78
virtual
bool
_encode
(
WvBuf
&inbuf,
WvBuf
&outbuf,
bool
flush
);
79
virtual
bool
_finish
(
WvBuf
&outbuf);
80
virtual
bool
_reset
();
81
82
private
:
83
struct
z_stream_s *zstr;
84
WvInPlaceBuf
tmpbuf;
85
Mode
mode;
86
size_t
output;
87
88
void
init();
89
void
close();
90
void
prepare(
WvBuf
*inbuf);
91
bool
process(
WvBuf
&outbuf,
bool
flush
,
bool
finish
);
92
};
93
94
95
#endif // __WVGZIP_H
Generated on Thu Oct 31 2013 23:17:04 for WvStreams by
1.8.4