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"
12#include "zipios++/ziphead.h"
13
14namespace zipios {
15
19public:
27 explicit ZipInputStreambuf( streambuf *inbuf, int s_pos = -1, bool del_inbuf = false ) ;
28
31 void closeEntry() ;
33 void close() ;
34
41
43 virtual ~ZipInputStreambuf() ;
44protected:
45 virtual int underflow() ;
46private:
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
55
57 const ZipInputStreambuf &operator= ( const ZipInputStreambuf &src ) ;
58
59};
60
61
62} // namespace
63
64
65
66#endif
67
71
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*/
InflateInputStreambuf(streambuf *inbuf, int s_pos=-1, bool del_inbuf=false)
InflateInputStreambuf constructor.
void closeEntry()
Closes the current entry, and positions the stream read pointer at the beginning of the next entry (i...
ConstEntryPointer getNextEntry()
Opens the next entry in the zip archive and returns a const pointer to a FileEntry object for the ent...
ZipInputStreambuf(streambuf *inbuf, int s_pos=-1, bool del_inbuf=false)
ZipInputStreambuf constructor.
void close()
Closes the streambuf.
A concrete implementation of the abstract FileEntry base class for ZipFile entries,...
Definition ziphead.h:22
Header file that defines FileCollection.
SimpleSmartPointer< const FileEntry > ConstEntryPointer
ConstEntryPointer is a SimpleSmartPointer for const FileEntry's.
Definition fileentry.h:37
Header file that defines InflateInputStreambuf.
Header file containing classes and functions for reading the central directory and local header field...