00001 #ifndef ZIPINPUTSTREAM_H
00002 #define ZIPINPUTSTREAM_H
00003
00004 #include "zipios++/zipios-config.h"
00005
00006 #include "zipios++/meta-iostreams.h"
00007 #include <string>
00008
00009 #include "zipios++/ziphead.h"
00010 #include "zipios++/zipinputstreambuf.h"
00011
00012 namespace zipios {
00013
00014 using std::ifstream ;
00015
00020 class ZipInputStream : public istream {
00021 public:
00022
00026 explicit ZipInputStream( istream &is, streampos pos = 0 ) ;
00027
00031 explicit ZipInputStream( const string &filename, streampos pos = 0 ) ;
00032
00033 int available() ;
00036 void closeEntry() ;
00037
00039 void close() ;
00040
00041
00042
00049 ConstEntryPointer getNextEntry() ;
00050
00052 virtual ~ZipInputStream() ;
00053
00054 private:
00055 ifstream *ifs ;
00056 ZipInputStreambuf *izf ;
00057
00059 ZipInputStream( const ZipInputStream &src ) ;
00060
00062 const ZipInputStream &operator= ( const ZipInputStream &src ) ;
00063
00064 };
00065
00066 }
00067
00068 #endif
00069
00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084 00085 00086 00087 00088 00089 00090 00091