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
00050 ConstEntryPointer getNextEntry() ;
00051
00053 virtual ~ZipInputStream() ;
00054
00055 private:
00056 ifstream *ifs ;
00057 ZipInputStreambuf *izf ;
00058
00060 ZipInputStream( const ZipInputStream &src ) ;
00061
00063 const ZipInputStream &operator= ( const ZipInputStream &src ) ;
00064
00065 };
00066
00067 }
00068
00069 #endif
00070
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092