# wxZipInputStream Class Reference
[Archive support, Streams]

`#include <wx/zipstrm.h>`

Inheritance diagram for wxZipInputStream:
[legend]

## Detailed Description

Input stream for reading zip files.

wxZipInputStream::GetNextEntry() returns a wxZipEntry object containing the meta-data for the next entry in the zip (and gives away ownership). Reading from the wxZipInputStream then returns the entry's data. Eof() becomes true after an attempt has been made to read past the end of the entry's data. When there are no more entries, GetNextEntry() returns NULL and sets Eof().

Note that in general zip entries are not seekable, and wxZipInputStream::SeekI() always returns wxInvalidOffset.

##

Library: wxBase

Category: Archive support, Streams

See also:
  Archive Formats, wxZipEntry, wxZipOutputStream

## Public Member Functions
| wxZipInputStream (const wxString &archive, const wxString &file)
bool | CloseEntry ()
| Closes the current entry.
wxString | GetComment ()
| Returns the zip comment.
wxZipEntry * | GetNextEntry ()
| Closes the current entry if one is open, then reads the meta-data for the next entry and returns it in a wxZipEntry object, giving away ownership.
int | GetTotalEntries ()
| For a zip on a seekable stream returns the total number of entries in the zip.
bool | OpenEntry (wxZipEntry &entry)
| Closes the current entry if one is open, then opens the entry specified by the entry object.
| wxZipInputStream (wxInputStream &stream, wxMBConv &conv=wxConvLocal)
| Constructor.
| wxZipInputStream (wxInputStream *stream, wxMBConv &conv=wxConvLocal)
| Constructor.

List of all members.

## Constructor & Destructor Documentation

wxZipInputStream::wxZipInputStream | ( | wxInputStream & | stream,
|  | wxMBConv & | conv = `wxConvLocal` |
| ) |  |  |

Constructor.

In a Unicode build the second parameter conv is used to translate the filename and comment fields into Unicode. It has no effect on the stream's data. If the parent stream is passed as a pointer then the new filter stream takes ownership of it. If it is passed by reference then it does not.

wxZipInputStream::wxZipInputStream | ( | wxInputStream * | stream,
|  | wxMBConv & | conv = `wxConvLocal` |
| ) |  |  |

Constructor.

In a Unicode build the second parameter conv is used to translate the filename and comment fields into Unicode. It has no effect on the stream's data. If the parent stream is passed as a pointer then the new filter stream takes ownership of it. If it is passed by reference then it does not.

wxZipInputStream::wxZipInputStream | ( | const wxString & | archive,
|  | const wxString & | file |
| ) |  |  |

Deprecated:
  Compatibility constructor (requires WXWIN_COMPATIBILITY_2_6). When this constructor is used, an emulation of seeking is switched on for compatibility with previous versions. Note however, that it is deprecated.

## Member Function Documentation

bool wxZipInputStream::CloseEntry | ( |  | ) | `[virtual]`

Closes the current entry.

On a non-seekable stream reads to the end of the current entry first.

Implements wxArchiveInputStream.

wxString wxZipInputStream::GetComment | ( |  | ) |

Returns the zip comment.

This is stored at the end of the zip, therefore when reading a zip from a non-seekable stream, it returns the empty string until the end of the zip has been reached, i.e. when GetNextEntry() returns NULL.

wxZipEntry* wxZipInputStream::GetNextEntry | ( |  | ) |

Closes the current entry if one is open, then reads the meta-data for the next entry and returns it in a wxZipEntry object, giving away ownership.

The stream is then open and can be read.

Reimplemented from wxArchiveInputStream.

int wxZipInputStream::GetTotalEntries | ( |  | ) |

For a zip on a seekable stream returns the total number of entries in the zip.

For zips on non-seekable streams returns the number of entries returned so far by GetNextEntry().

bool wxZipInputStream::OpenEntry | ( | wxZipEntry & | entry | ) |

Closes the current entry if one is open, then opens the entry specified by the entry object.

entry should be from the same zip file, and the zip should be on a seekable stream.

See also:
  overview_archive_byname

|  | [ top ]