zipinputstream.h

Go to the documentation of this file.
00001 #ifndef ZIPINPUTSTREAM_H
00002 #define ZIPINPUTSTREAM_H
00003 
00004 #include "zipios-config.h"
00005 
00006 #include "meta-iostreams.h"
00007 #include <string>
00008 
00009 #include "ziphead.h"
00010 #include "zipinputstreambuf.h"
00011 
00012 namespace zipios {
00013 
00014 using std::ifstream ;
00015 
00020 class BaseExport ZipInputStream : public istream {
00021 public:
00022 
00026   explicit ZipInputStream( std::istream &is, std::streampos pos = 0 ) ;
00027 
00032   explicit ZipInputStream( const std::string &filename, std::streampos pos = 0 ) ;
00033   
00034   int available() ;
00037   void closeEntry() ;
00038 
00040   void close() ;
00041 
00042 //    ZipLocalEntry *createZipCDirEntry( const string &name ) ;
00043 
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 } // namespace.
00068 
00069 #endif
00070 
00075 /*
00076   Zipios++ - a small C++ library that provides easy access to .zip files.
00077   Copyright (C) 2000  Thomas Søndergaard
00078   
00079   This library is free software; you can redistribute it and/or
00080   modify it under the terms of the GNU Lesser General Public
00081   License as published by the Free Software Foundation; either
00082   version 2 of the License, or (at your option) any later version.
00083   
00084   This library is distributed in the hope that it will be useful,
00085   but WITHOUT ANY WARRANTY; without even the implied warranty of
00086   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00087   Lesser General Public License for more details.
00088   
00089   You should have received a copy of the GNU Lesser General Public
00090   License along with this library; if not, write to the Free Software
00091   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00092 */

Generated on Wed Nov 23 19:01:12 2011 for FreeCAD by  doxygen 1.6.1