MPD
0.20.18
fs
io
GunzipReader.hxx
Go to the documentation of this file.
1
/*
2
* Copyright 2003-2017 The Music Player Daemon Project
3
* http://www.musicpd.org
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License along
16
* with this program; if not, write to the Free Software Foundation, Inc.,
17
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
*/
19
20
#ifndef MPD_GUNZIP_READER_HXX
21
#define MPD_GUNZIP_READER_HXX
22
23
#include "
check.h
"
24
#include "
Reader.hxx
"
25
#include "
util/StaticFifoBuffer.hxx
"
26
#include "
Compiler.h
"
27
28
#include <zlib.h>
29
33
class
GunzipReader
final :
public
Reader
{
34
Reader
&next;
35
36
bool
eof =
false
;
37
38
z_stream z;
39
40
StaticFifoBuffer<Bytef, 4096>
buffer;
41
42
public
:
46
explicit
GunzipReader
(
Reader
&_next);
47
48
~GunzipReader
() {
49
inflateEnd(&z);
50
}
51
52
/* virtual methods from class Reader */
53
size_t
Read
(
void
*data,
size_t
size)
override
;
54
55
private
:
56
bool
FillBuffer();
57
};
58
59
#endif
Reader
An interface that can read bytes from a stream until the stream ends.
Definition:
Reader.hxx:35
check.h
StaticFifoBuffer< Bytef, 4096 >
GunzipReader
A filter that decompresses data using zlib.
Definition:
GunzipReader.hxx:33
Reader.hxx
GunzipReader::Read
size_t Read(void *data, size_t size) override
Read data from the stream.
GunzipReader::~GunzipReader
~GunzipReader()
Definition:
GunzipReader.hxx:48
Compiler.h
StaticFifoBuffer.hxx
GunzipReader::GunzipReader
GunzipReader(Reader &_next)
Construct the filter.
Generated on Tue Apr 10 2018 16:34:49 for MPD by
1.8.14