Input stream for reading tar files.
GetNextEntry() returns an wxTarEntry object containing the meta-data for the next entry in the tar (and gives away ownership). Reading from the wxTarInputStream 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().
Tar entries are seekable if the parent stream is seekable. In practice this usually means they are only seekable if the tar is stored as a local file and is not compressed.
Derived from
Include files
<wx/tarstrm.h>
Data structures
typedef wxTarEntry entry_typeArchive formats such as zip
Members
wxTarInputStream::wxTarInputStream
wxTarInputStream::CloseEntry
wxTarInputStream::GetNextEntry
wxTarInputStream::OpenEntry
wxTarInputStream(wxInputStream& stream, wxMBConv& conv = wxConvLocal)
wxTarInputStream(wxInputStream* stream, wxMBConv& conv = wxConvLocal)
Constructor. In a Unicode build the second parameter conv is used to translate fields from the standard tar header into Unicode. It has no effect on the stream's data. conv is only used for the standard tar headers, any pax extended headers are always UTF-8 encoded.
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.
bool CloseEntry()
Closes the current entry. On a non-seekable stream reads to the end of the current entry first.
wxTarEntry* GetNextEntry()
Closes the current entry if one is open, then reads the meta-data for the next entry and returns it in a wxTarEntry object, giving away ownership. The stream is then open and can be read.
bool OpenEntry(wxTarEntry& entry)
Closes the current entry if one is open, then opens the entry specified by the entry object.
entry should be from the same tar file, and the tar should be on a seekable stream.
See also
Looking up an archive entry by name