zipios++
2.0.2
Zipios++ – a small C++ library that provides easy access to .zip files.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
zipinputstreambuf.hpp
Go to the documentation of this file.
1
#pragma once
2
#ifndef ZIPINPUSTREAMBUF_HPP
3
#define ZIPINPUSTREAMBUF_HPP
4
5
/*
6
Zipios++ - a small C++ library that provides easy access to .zip files.
7
8
Copyright (C) 2000-2007 Thomas Sondergaard
9
Copyright (C) 2015 Made to Order Software Corporation
10
11
This library is free software; you can redistribute it and/or
12
modify it under the terms of the GNU Lesser General Public
13
License as published by the Free Software Foundation; either
14
version 2 of the License, or (at your option) any later version.
15
16
This library is distributed in the hope that it will be useful,
17
but WITHOUT ANY WARRANTY; without even the implied warranty of
18
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19
Lesser General Public License for more details.
20
21
You should have received a copy of the GNU Lesser General Public
22
License along with this library; if not, write to the Free Software
23
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24
*/
25
33
#include "
inflateinputstreambuf.hpp
"
34
35
#include "
ziplocalentry.hpp
"
36
37
38
namespace
zipios
39
{
40
41
42
class
ZipInputStreambuf
:
public
InflateInputStreambuf
43
{
44
public
:
45
ZipInputStreambuf
(std::streambuf * inbuf,
offset_t
start_pos = -1);
46
ZipInputStreambuf
(
ZipInputStreambuf
const
& src) =
delete
;
47
ZipInputStreambuf
&
operator =
(
ZipInputStreambuf
const
& rhs) =
delete
;
48
virtual
~ZipInputStreambuf
()
override
;
49
50
protected
:
51
virtual
std::streambuf::int_type
underflow
()
override
;
52
53
private
:
54
ZipLocalEntry
m_current_entry
;
55
offset_t
m_remain
= 0;
// For STORED entry only. the number of bytes that
56
// has not been put in the m_outvec yet.
57
};
58
59
60
}
// namespace
61
62
// Local Variables:
63
// mode: cpp
64
// indent-tabs-mode: nil
65
// c-basic-offset: 4
66
// tab-width: 4
67
// End:
68
69
// vim: ts=4 sw=4 et
70
#endif
zipios::ZipInputStreambuf::~ZipInputStreambuf
virtual ~ZipInputStreambuf() override
Clean up a ZipInputStreambuf object.
Definition:
zipinputstreambuf.cpp:108
zipios::ZipInputStreambuf
An input stream buffer for Zip data.
Definition:
zipinputstreambuf.hpp:42
zipios::ZipInputStreambuf::ZipInputStreambuf
ZipInputStreambuf(std::streambuf *inbuf, offset_t start_pos=-1)
Initialize a ZipInputStreambuf.
Definition:
zipinputstreambuf.cpp:55
zipios::ZipInputStreambuf::operator=
ZipInputStreambuf & operator=(ZipInputStreambuf const &rhs)=delete
inflateinputstreambuf.hpp
Define zipios::InflateInputStreambuf to decompress files.
zipios::ZipInputStreambuf::underflow
virtual std::streambuf::int_type underflow() override
Called when more data is required.
Definition:
zipinputstreambuf.cpp:122
zipios::ZipLocalEntry
An implementation of the FileEntry for Zip archives.
Definition:
ziplocalentry.hpp:42
zipios::InflateInputStreambuf
A stream buffer to inflate data previous compressed with zlib.
Definition:
inflateinputstreambuf.hpp:47
ziplocalentry.hpp
Declare the zipios::ZipLocalEntry class used to handle Zip entries.
zipios::ZipInputStreambuf::m_current_entry
ZipLocalEntry m_current_entry
Definition:
zipinputstreambuf.hpp:54
zipios::offset_t
std::streamoff offset_t
Definition:
zipios-config.hpp.in:57
zipios::ZipInputStreambuf::m_remain
offset_t m_remain
Definition:
zipinputstreambuf.hpp:55
Generated on Tue Apr 7 2015 21:43:51 for zipios++ by
1.8.6