activemq-cpp-3.6.0
Main Page
Namespaces
Data Structures
Files
File List
Globals
InflaterInputStream.h
Go to the documentation of this file.
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one or more
3
* contributor license agreements. See the NOTICE file distributed with
4
* this work for additional information regarding copyright ownership.
5
* The ASF licenses this file to You under the Apache License, Version 2.0
6
* (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#ifndef _DECAF_UTIL_ZIP_INFLATERINPUTSTREAM_H_
19
#define _DECAF_UTIL_ZIP_INFLATERINPUTSTREAM_H_
20
21
#include <
decaf/util/Config.h
>
22
23
#include <
decaf/io/FilterInputStream.h
>
24
#include <
decaf/io/IOException.h
>
25
#include <
decaf/util/zip/Inflater.h
>
26
27
#include <vector>
28
29
namespace
decaf {
30
namespace
util {
31
namespace
zip {
32
38
class
DECAF_API
InflaterInputStream
:
public
decaf::io::FilterInputStream
{
39
protected
:
40
44
Inflater
*
inflater
;
45
49
std::vector<unsigned char>
buff
;
50
54
int
length
;
55
56
bool
ownInflater
;
57
bool
atEOF
;
58
59
static
const
int
DEFAULT_BUFFER_SIZE
;
60
61
private
:
62
63
InflaterInputStream
(
const
InflaterInputStream
& );
64
InflaterInputStream
& operator= (
const
InflaterInputStream
& );
65
66
public
:
67
76
InflaterInputStream
(
decaf::io::InputStream
* inputStream,
bool
own =
false
);
77
95
InflaterInputStream
(
decaf::io::InputStream
* inputStream,
Inflater
* inflater,
96
bool
own =
false
,
bool
ownInflater =
false
);
97
118
InflaterInputStream
(
decaf::io::InputStream
* inputStream,
Inflater
* inflater,
119
int
bufferSize,
bool
own =
false
,
bool
ownInflater =
false
);
120
121
virtual
~
InflaterInputStream
();
122
128
virtual
int
available()
const
;
129
135
virtual
void
close();
136
142
virtual
long
long
skip(
long
long
num );
143
149
virtual
void
mark(
int
readLimit );
150
156
virtual
void
reset();
157
163
virtual
bool
markSupported()
const
;
164
165
protected
:
166
172
virtual
void
fill();
173
174
protected
:
175
176
virtual
int
doReadByte();
177
178
virtual
int
doReadArrayBounded(
unsigned
char
* buffer,
int
size,
int
offset,
int
length );
179
180
};
181
182
}}}
183
184
#endif
/* _DECAF_UTIL_ZIP_INFLATERINPUTSTREAM_H_ */
src
main
decaf
util
zip
InflaterInputStream.h
Generated on Mon Mar 4 2013 10:25:46 for activemq-cpp-3.6.0 by
1.8.1.2