@class wxArchiveInputStream
@wxheader{archive.h}
- An abstract base class which serves as a common interface to
+ This is an abstract base class which serves as a common interface to
archive input streams such as wxZipInputStream.
wxArchiveInputStream::GetNextEntry returns an wxArchiveEntry object containing
Closes the current entry. On a non-seekable stream reads to the end of
the current entry first.
*/
- virtual bool CloseEntry();
+ virtual bool CloseEntry() = 0;
/**
Closes the current entry if one is open, then reads the meta-data for
@a entry must be from the same archive file that this wxArchiveInputStream
is reading, and it must be reading it from a seekable stream.
*/
- virtual bool OpenEntry(wxArchiveEntry& entry);
+ virtual bool OpenEntry(wxArchiveEntry& entry) = 0;
};
@class wxArchiveOutputStream
@wxheader{archive.h}
- An abstract base class which serves as a common interface to
+ This is an abstract base class which serves as a common interface to
archive output streams such as wxZipOutputStream.
wxArchiveOutputStream::PutNextEntry is used to create a new entry in the
It is called implicitly whenever another new entry is created with CopyEntry()
or PutNextEntry(), or when the archive is closed.
*/
- virtual bool CloseEntry();
+ virtual bool CloseEntry() = 0;
/**
Some archive formats have additional meta-data that applies to the archive
in which case the two streams set up a link and transfer the data
when it becomes available.
*/
- virtual bool CopyArchiveMetaData(wxArchiveInputStream& stream);
+ virtual bool CopyArchiveMetaData(wxArchiveInputStream& stream) = 0;
/**
Takes ownership of @a entry and uses it to create a new entry in the
thing read from @a stream.
*/
virtual bool CopyEntry(wxArchiveEntry* entry,
- wxArchiveInputStream& stream);
+ wxArchiveInputStream& stream) = 0;
/**
Create a new directory entry (see wxArchiveEntry::IsDir) with the given
a name with a trailing path separator.
*/
virtual bool PutNextDirEntry(const wxString& name,
- const wxDateTime& dt = wxDateTime::Now());
+ const wxDateTime& dt = wxDateTime::Now()) = 0;
/**
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.
*/
- virtual bool PutNextEntry(wxArchiveEntry* entry);
+ virtual bool PutNextEntry(wxArchiveEntry* entry) = 0;
/**
Create a new entry with the given name, timestamp and size. The entry's
*/
virtual bool PutNextEntry(const wxString& name,
const wxDateTime& dt = wxDateTime::Now(),
- wxFileOffset size = wxInvalidOffset);
+ wxFileOffset size = wxInvalidOffset) = 0;
};
@class wxArchiveEntry
@wxheader{archive.h}
- An abstract base class which serves as a common interface to
+ This is an abstract base class which serves as a common interface to
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
/**
Gets the entry's timestamp.
*/
- virtual wxDateTime GetDateTime() const;
+ virtual wxDateTime GetDateTime() const = 0;
/**
Sets the entry's timestamp.
*/
- virtual void SetDateTime(const wxDateTime& dt);
+ virtual void SetDateTime(const wxDateTime& dt) = 0;
/**
Returns the entry's name, by default in the native format.
If this is a directory entry, (i.e. if IsDir() is @true) then the
returned string is the name with a trailing path separator.
*/
- virtual wxString GetName(wxPathFormat format = wxPATH_NATIVE) const;
+ virtual wxString GetName(wxPathFormat format = wxPATH_NATIVE) const = 0;
/**
Sets the entry's name.
@see GetName()
*/
virtual void SetName(const wxString& name,
- wxPathFormat format = wxPATH_NATIVE);
+ wxPathFormat format = wxPATH_NATIVE) = 0;
/**
Returns the size of the entry's data in bytes.
*/
- virtual wxFileOffset GetSize() const;
+ virtual wxFileOffset GetSize() const = 0;
/**
Sets the size of the entry's data in bytes.
*/
- virtual void SetSize(wxFileOffset size);
+ virtual void SetSize(wxFileOffset size) = 0;
/**
Returns the path format used internally within the archive to store
filenames.
*/
- virtual wxPathFormat GetInternalFormat() const;
+ virtual wxPathFormat GetInternalFormat() const = 0;
/**
Returns the entry's filename in the internal format used within the
@see @ref overview_archive_byname
*/
- virtual wxString GetInternalName() const;
+ virtual wxString GetInternalName() const = 0;
/**
Returns a numeric value unique to the entry within the archive.
*/
- virtual wxFileOffset GetOffset() const;
+ virtual wxFileOffset GetOffset() const = 0;
/**
Returns @true if this is a directory entry.
unarchivers typically create whatever directories are necessary as they
restore files, even if the archive contains no explicit directory entries.
*/
- virtual bool IsDir() const;
+ virtual bool IsDir() const = 0;
/**
Marks this entry as a directory if @a isDir is @true. See IsDir() for more info.
*/
- virtual void SetIsDir(bool isDir = true);
+ virtual void SetIsDir(bool isDir = true) = 0;
/**
Returns @true if the entry is a read-only file.
*/
- virtual bool IsReadOnly() const;
+ virtual bool IsReadOnly() const = 0;
/**
Sets this entry as a read-only file.
*/
- virtual void SetIsReadOnly(bool isReadOnly = true);
+ virtual void SetIsReadOnly(bool isReadOnly = true) = 0;
/**
Sets the notifier (see wxArchiveNotifier) for this entry.