archive input streams such as wxZipInputStream.
wxArchiveInputStream::GetNextEntry returns an wxArchiveEntry object containing
archive input streams such as wxZipInputStream.
wxArchiveInputStream::GetNextEntry returns an wxArchiveEntry object containing
@a entry must be from the same archive file that this wxArchiveInputStream
is reading, and it must be reading it from a seekable stream.
*/
@a entry must be from the same archive file that this wxArchiveInputStream
is reading, and it must be reading it from a seekable stream.
*/
archive output streams such as wxZipOutputStream.
wxArchiveOutputStream::PutNextEntry is used to create a new entry in the
archive output streams such as wxZipOutputStream.
wxArchiveOutputStream::PutNextEntry is used to create a new entry in the
/**
Closes the archive, returning @true if it was successfully written.
Called by the destructor if not called explicitly.
/**
Closes the archive, returning @true if it was successfully written.
Called by the destructor if not called explicitly.
/**
Close the current entry.
It is called implicitly whenever another new entry is created with CopyEntry()
or PutNextEntry(), or when the archive is closed.
*/
/**
Close the current entry.
It is called implicitly whenever another new entry is created with CopyEntry()
or PutNextEntry(), or when the archive is closed.
*/
and its contents copied to this stream.
For archive types which compress entry data, CopyEntry() is likely to be
and its contents copied to this stream.
For archive types which compress entry data, CopyEntry() is likely to be
@a entry must be from the same archive file that @a stream is
accessing. For non-seekable streams, @a entry must also be the last
@a entry must be from the same archive file that @a stream is
accessing. For non-seekable streams, @a entry must also be the last
- bool CopyEntry(wxArchiveEntry* entry,
- wxArchiveInputStream& stream);
+ virtual bool CopyEntry(wxArchiveEntry* entry,
+ wxArchiveInputStream& stream) = 0;
PutNextEntry() can also be used to create directory entries, by supplying
a name with a trailing path separator.
*/
PutNextEntry() can also be used to create directory entries, by supplying
a name with a trailing path separator.
*/
/**
Takes ownership of entry and uses it to create a new entry in the archive.
The entry's data can then be written by writing to this wxArchiveOutputStream.
*/
/**
Takes ownership of entry and uses it to create a new entry in the archive.
The entry's data can then be written by writing to this wxArchiveOutputStream.
*/
/**
Create a new entry with the given name, timestamp and size. The entry's
data can then be written by writing to this wxArchiveOutputStream.
*/
/**
Create a new entry with the given name, timestamp and size. The entry's
data can then be written by writing to this wxArchiveOutputStream.
*/
- bool PutNextEntry(const wxString& name, const wxDateTime& dt = wxDateTime::Now(),
- off_t size = wxInvalidOffset);
+ virtual bool PutNextEntry(const wxString& name,
+ const wxDateTime& dt = wxDateTime::Now(),
+ wxFileOffset size = wxInvalidOffset) = 0;
archive entry classes such as wxZipEntry.
These hold the meta-data (filename, timestamp, etc.), for entries
in archive files such as zips and tars.
archive entry classes such as wxZipEntry.
These hold the meta-data (filename, timestamp, etc.), for entries
in archive files such as zips and tars.
- <b>About non-seekable streams</b>: this information applies only when reading
- archives from non-seekable streams. When the stream is seekable GetNextEntry()
- returns a fully populated wxArchiveEntry.
+ @section wxarchiveentry_nonseekable About non-seekable streams
+
+ This information applies only when reading archives from non-seekable streams.
+ When the stream is seekable GetNextEntry() returns a fully populated wxArchiveEntry.
See @ref overview_archive_noseek for more information.
For generic programming, when the worst case must be assumed, you can rely on
See @ref overview_archive_noseek for more information.
For generic programming, when the worst case must be assumed, you can rely on
If this is a directory entry, (i.e. if IsDir() is @true) then the
returned string is the name with a trailing path separator.
*/
If this is a directory entry, (i.e. if IsDir() is @true) then the
returned string is the name with a trailing path separator.
*/
- const void SetName(const wxString& name,
- wxPathFormat format = wxPATH_NATIVE);
+ virtual void SetName(const wxString& name,
+ wxPathFormat format = wxPATH_NATIVE) = 0;
The names of directory entries are returned without any trailing path
separator. This gives a canonical name that can be used in comparisons.
The names of directory entries are returned without any trailing path
separator. This gives a canonical name that can be used in comparisons.
unarchivers typically create whatever directories are necessary as they
restore files, even if the archive contains no explicit directory entries.
*/
unarchivers typically create whatever directories are necessary as they
restore files, even if the archive contains no explicit directory entries.
*/
GetFirst() and GetNext() return a pointer to a factory or @NULL if no more
are available. They do not give away ownership of the factory.
*/
GetFirst() and GetNext() return a pointer to a factory or @NULL if no more
are available. They do not give away ownership of the factory.
*/
The first template parameter should be the type of archive input stream
(e.g. wxArchiveInputStream) and the second can either be a pointer to an entry
The first template parameter should be the type of archive input stream
(e.g. wxArchiveInputStream) and the second can either be a pointer to an entry