X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c4f71cc3d63fb7bdfbd6cec3e39c8a8679f3e60..69fb24ce03b4dd40e7912936d628bea1719aaaa3:/interface/archive.h diff --git a/interface/archive.h b/interface/archive.h index ddc227afca..522f114edf 100644 --- a/interface/archive.h +++ b/interface/archive.h @@ -10,7 +10,7 @@ @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 @@ -34,7 +34,7 @@ public: Closes the current entry. On a non-seekable stream reads to the end of the current entry first. */ - bool CloseEntry(); + virtual bool CloseEntry() = 0; /** Closes the current entry if one is open, then reads the meta-data for @@ -50,7 +50,7 @@ public: @a entry must be from the same archive file that this wxArchiveInputStream is reading, and it must be reading it from a seekable stream. */ - bool OpenEntry(wxArchiveEntry& entry); + virtual bool OpenEntry(wxArchiveEntry& entry) = 0; }; @@ -59,7 +59,7 @@ public: @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 @@ -77,20 +77,22 @@ public: /** Calls Close() if it has not already been called. */ - ~wxArchiveOutputStream(); + virtual ~wxArchiveOutputStream(); /** Closes the archive, returning @true if it was successfully written. Called by the destructor if not called explicitly. + + @see wxOutputStream::Close() */ - bool Close(); + virtual bool Close(); /** Close the current entry. It is called implicitly whenever another new entry is created with CopyEntry() or PutNextEntry(), or when the archive is closed. */ - bool CloseEntry(); + virtual bool CloseEntry() = 0; /** Some archive formats have additional meta-data that applies to the archive @@ -109,11 +111,11 @@ public: in which case the two streams set up a link and transfer the data when it becomes available. */ - 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 - archive. @a entry is then opened in the input stream @e stream + archive. @a entry is then opened in the input stream @a stream and its contents copied to this stream. For archive types which compress entry data, CopyEntry() is likely to be @@ -122,10 +124,10 @@ public: @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 - thing read from @e stream. + thing read from @a stream. */ - bool CopyEntry(wxArchiveEntry* entry, - wxArchiveInputStream& stream); + virtual bool CopyEntry(wxArchiveEntry* entry, + wxArchiveInputStream& stream) = 0; /** Create a new directory entry (see wxArchiveEntry::IsDir) with the given @@ -134,20 +136,22 @@ public: PutNextEntry() can also be used to create directory entries, by supplying a name with a trailing path separator. */ - bool PutNextDirEntry(const wxString& name); + virtual bool PutNextDirEntry(const wxString& name, + 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. */ - bool PutNextEntry(wxArchiveEntry* entry); + virtual bool PutNextEntry(wxArchiveEntry* entry) = 0; /** 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; }; @@ -156,7 +160,7 @@ public: @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. @@ -192,12 +196,12 @@ public: /** Gets the entry's timestamp. */ - wxDateTime GetDateTime(); + virtual wxDateTime GetDateTime() const = 0; /** Sets the entry's timestamp. */ - const void SetDateTime(const wxDateTime& dt); + virtual void SetDateTime(const wxDateTime& dt) = 0; /** Returns the entry's name, by default in the native format. @@ -206,7 +210,7 @@ public: If this is a directory entry, (i.e. if IsDir() is @true) then the returned string is the name with a trailing path separator. */ - wxString GetName(wxPathFormat format = wxPATH_NATIVE); + virtual wxString GetName(wxPathFormat format = wxPATH_NATIVE) const = 0; /** Sets the entry's name. @@ -214,24 +218,24 @@ public: @see GetName() */ - const void SetName(const wxString& name, - wxPathFormat format = wxPATH_NATIVE); + virtual void SetName(const wxString& name, + wxPathFormat format = wxPATH_NATIVE) = 0; /** Returns the size of the entry's data in bytes. */ - off_t GetSize(); + virtual wxFileOffset GetSize() const = 0; /** Sets the size of the entry's data in bytes. */ - const void SetSize(off_t size); + virtual void SetSize(wxFileOffset size) = 0; /** Returns the path format used internally within the archive to store filenames. */ - wxPathFormat GetInternalFormat() const; + virtual wxPathFormat GetInternalFormat() const = 0; /** Returns the entry's filename in the internal format used within the @@ -243,12 +247,12 @@ public: @see @ref overview_archive_byname */ - wxString GetInternalName() const; + virtual wxString GetInternalName() const = 0; /** Returns a numeric value unique to the entry within the archive. */ - off_t GetOffset() const; + virtual wxFileOffset GetOffset() const = 0; /** Returns @true if this is a directory entry. @@ -262,22 +266,22 @@ public: unarchivers typically create whatever directories are necessary as they restore files, even if the archive contains no explicit directory entries. */ - bool IsDir(); + virtual bool IsDir() const = 0; /** Marks this entry as a directory if @a isDir is @true. See IsDir() for more info. */ - const void SetIsDir(bool isDir = true); + virtual void SetIsDir(bool isDir = true) = 0; /** Returns @true if the entry is a read-only file. */ - bool IsReadOnly(); + virtual bool IsReadOnly() const = 0; /** Sets this entry as a read-only file. */ - const void SetIsReadOnly(bool isReadOnly = true); + virtual void SetIsReadOnly(bool isReadOnly = true) = 0; /** Sets the notifier (see wxArchiveNotifier) for this entry. @@ -294,7 +298,7 @@ public: /** Unsets the notifier eventually attached to this entry. */ - void UnsetNotifier(); + virtual void UnsetNotifier(); }; @@ -612,7 +616,7 @@ public: /** Construct the iterator that returns all the entries in the archive input - stream @e arc. + stream @a arc. */ wxArchiveIterator(Arc& arc);