Zipios++
zipios++
zipinputstreambuf.h
Go to the documentation of this file.
1
#ifndef ZIPINPUTSTREAMBUF_H
2
#define ZIPINPUTSTREAMBUF_H
3
4
#include "zipios++/zipios-config.h"
5
6
#include <vector>
7
8
#include <zlib.h>
9
10
#include "
zipios++/fcoll.h
"
11
#include "
zipios++/inflateinputstreambuf.h
"
12
#include "
zipios++/ziphead.h
"
13
14
namespace
zipios
{
15
18
class
ZipInputStreambuf
:
public
InflateInputStreambuf
{
19
public
:
27
explicit
ZipInputStreambuf
( streambuf *inbuf,
int
s_pos = -1,
bool
del_inbuf =
false
) ;
28
31
void
closeEntry
() ;
33
void
close
() ;
34
40
ConstEntryPointer
getNextEntry
() ;
41
43
virtual
~ZipInputStreambuf
() ;
44
protected
:
45
virtual
int
underflow() ;
46
private
:
47
bool
_open_entry ;
48
ZipLocalEntry
_curr_entry ;
49
int
_data_start ;
// Don't forget entry header has a length too.
50
int
_remain ;
// For STORED entry only. the number of bytes that
51
// hasn't been put in the _outvec yet.
52
54
ZipInputStreambuf
(
const
ZipInputStreambuf
&src ) ;
55
57
const
ZipInputStreambuf
&operator= (
const
ZipInputStreambuf
&src ) ;
58
59
};
60
61
62
}
// namespace
63
64
65
66
#endif
67
72
/*
73
Zipios++ - a small C++ library that provides easy access to .zip files.
74
Copyright (C) 2000 Thomas Søndergaard
75
76
This library is free software; you can redistribute it and/or
77
modify it under the terms of the GNU Lesser General Public
78
License as published by the Free Software Foundation; either
79
version 2 of the License, or (at your option) any later version.
80
81
This library is distributed in the hope that it will be useful,
82
but WITHOUT ANY WARRANTY; without even the implied warranty of
83
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
84
Lesser General Public License for more details.
85
86
You should have received a copy of the GNU Lesser General Public
87
License along with this library; if not, write to the Free Software
88
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
89
*/
zipios::InflateInputStreambuf
InflateInputStreambuf is an input stream filter, that inflates the input from the attached input stre...
Definition:
inflateinputstreambuf.h:22
zipios
Definition:
basicentry.h:14
inflateinputstreambuf.h
Header file that defines InflateInputStreambuf.
fcoll.h
Header file that defines FileCollection.
zipios::SimpleSmartPointer
SimpleSmartPointer is a simple reference counting smart pointer template.
Definition:
simplesmartptr.h:15
ziphead.h
Header file containing classes and functions for reading the central directory and local header field...
zipios::ZipInputStreambuf::close
void close()
Closes the streambuf.
Definition:
zipinputstreambuf.cpp:42
zipios::ZipInputStreambuf::getNextEntry
ConstEntryPointer getNextEntry()
Opens the next entry in the zip archive and returns a const pointer to a FileEntry object for the ent...
Definition:
zipinputstreambuf.cpp:45
zipios::ZipLocalEntry
A concrete implementation of the abstract FileEntry base class for ZipFile entries, specifically for representing the information present in the local headers of file entries in a zip file.
Definition:
ziphead.h:22
zipios::ZipInputStreambuf
ZipInputStreambuf is a zip input streambuf filter.
Definition:
zipinputstreambuf.h:18
zipios::ZipInputStreambuf::ZipInputStreambuf
ZipInputStreambuf(streambuf *inbuf, int s_pos=-1, bool del_inbuf=false)
ZipInputStreambuf constructor.
Definition:
zipinputstreambuf.cpp:18
zipios::ZipInputStreambuf::closeEntry
void closeEntry()
Closes the current entry, and positions the stream read pointer at the beginning of the next entry (i...
Definition:
zipinputstreambuf.cpp:29
zipios::ZipInputStreambuf::~ZipInputStreambuf
virtual ~ZipInputStreambuf()
Destructor.
Definition:
zipinputstreambuf.cpp:82
Generated by
1.8.13