Main Page   Class Hierarchy   Compound List   File List   Compound Members  

zipios::ZipOutputStreambuf Class Reference

ZipOutputStreambuf is a zip input streambuf filter. More...

#include <zipoutputstreambuf.h>

Inheritance diagram for zipios::ZipOutputStreambuf

Inheritance graph

[legend]
List of all members.

Public Types

enum  CompressionLevels {
  NO_COMPRESSION = Z_NO_COMPRESSION,
  BEST_SPEED = Z_BEST_SPEED,
  BEST_COMPRESSION = Z_BEST_COMPRESSION,
  DEFAULT_COMPRESSION = Z_DEFAULT_COMPRESSION
}

Public Methods

 ZipOutputStreambuf ( streambuf *outbuf, bool del_outbuf = false )
 ZipOutputStreambuf constructor. More...

void closeEntry ()
 Closes the current entry, and positions the stream read pointer at the beginning of the next entry (if there is one). More...

void close ()
 Calls finish. More...

void finish ()
 Closes the current entry (if one is open), then writes the Zip Central Directory Structure closing the ZipOutputStream. More...

void putNextEntry ( const ZipCDirEntry &entry )
 Begins writing the next entry. More...

void setComment ( const string &comment )
 Sets the global comment for the Zip archive. More...

void setLevel ( int level )
 Sets the compression level to be used for subsequent entries. More...

void setMethod ( StorageMethod method )
 Sets the compression method to be used. More...

virtual ~ZipOutputStreambuf ()
 Destructor. More...


Protected Methods

virtual int overflow ( int c = EOF )
virtual int sync ()
void setEntryClosedState ()
void updateEntryHeaderInfo ()

Static Protected Methods

void writeCentralDirectory ( const vector< ZipCDirEntry > &entries, EndOfCentralDirectory eocd, ostream &os )

Detailed Description

ZipOutputStreambuf is a zip input streambuf filter.

Definition at line 17 of file zipoutputstreambuf.h.


Member Enumeration Documentation

enum zipios::ZipOutputStreambuf::CompressionLevels
 

Definition at line 20 of file zipoutputstreambuf.h.


Constructor & Destructor Documentation

zipios::ZipOutputStreambuf::ZipOutputStreambuf ( streambuf * outbuf,
bool del_outbuf = false ) [explicit]
 

ZipOutputStreambuf constructor.

A newly constructed ZipOutputStreambuf is not ready to accept data, putNextEntry() must be invoked first.

Parameters:
outbuf   the streambuf to use for input.
del_outbuf   if true is specified outbuf will be deleted, when the ZipOutputStreambuf is destructed.

Definition at line 18 of file zipoutputstreambuf.cpp.

zipios::ZipOutputStreambuf::~ZipOutputStreambuf ( ) [virtual]
 

Destructor.

Definition at line 54 of file zipoutputstreambuf.cpp.


Member Function Documentation

void zipios::ZipOutputStreambuf::close ( )
 

Calls finish.

Definition at line 39 of file zipoutputstreambuf.cpp.

void zipios::ZipOutputStreambuf::closeEntry ( )
 

Closes the current entry, and positions the stream read pointer at the beginning of the next entry (if there is one).

Definition at line 28 of file zipoutputstreambuf.cpp.

void zipios::ZipOutputStreambuf::finish ( )
 

Closes the current entry (if one is open), then writes the Zip Central Directory Structure closing the ZipOutputStream.

The output stream that the zip archive is being written to is not closed.

Definition at line 44 of file zipoutputstreambuf.cpp.

int zipios::ZipOutputStreambuf::overflow ( int c = EOF ) [protected, virtual]
 

Reimplemented from zipios::DeflateOutputStreambuf.

Definition at line 106 of file zipoutputstreambuf.cpp.

void zipios::ZipOutputStreambuf::putNextEntry ( const ZipCDirEntry & entry )
 

Begins writing the next entry.

Opens the next entry in the zip archive and returns a const pointer to a FileEntry object for the entry.

Returns:
a const FileEntry * containing information about the (now) current entry.

Definition at line 59 of file zipoutputstreambuf.cpp.

void zipios::ZipOutputStreambuf::setComment ( const string & comment )
 

Sets the global comment for the Zip archive.

Definition at line 81 of file zipoutputstreambuf.cpp.

void zipios::ZipOutputStreambuf::setEntryClosedState ( ) [protected]
 

Definition at line 125 of file zipoutputstreambuf.cpp.

void zipios::ZipOutputStreambuf::setLevel ( int level )
 

Sets the compression level to be used for subsequent entries.

Definition at line 86 of file zipoutputstreambuf.cpp.

void zipios::ZipOutputStreambuf::setMethod ( StorageMethod method )
 

Sets the compression method to be used.

only STORED and DEFLATED are supported.

Definition at line 91 of file zipoutputstreambuf.cpp.

int zipios::ZipOutputStreambuf::sync ( ) [protected, virtual]
 

Reimplemented from zipios::DeflateOutputStreambuf.

Definition at line 116 of file zipoutputstreambuf.cpp.

void zipios::ZipOutputStreambuf::updateEntryHeaderInfo ( ) [protected]
 

Definition at line 132 of file zipoutputstreambuf.cpp.

void zipios::ZipOutputStreambuf::writeCentralDirectory ( const vector< ZipCDirEntry >& entries,
EndOfCentralDirectory eocd,
ostream & os ) [static, protected]
 

Definition at line 153 of file zipoutputstreambuf.cpp.


The documentation for this class was generated from the following files:
Generated at Tue Aug 14 20:40:00 2001 for Zipios++ by doxygen1.2.0 written by Dimitri van Heesch, © 1997-2000