git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			752 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			752 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| %
 | |
| % automatically generated by HelpGen $Revision$ from
 | |
| % wx/zipstrm.h at 16/Sep/04 12:19:29
 | |
| %
 | |
| 
 | |
| \section{\class{wxZipClassFactory}}\label{wxzipclassfactory}
 | |
| 
 | |
| Class factory for the zip archive format. See the base class
 | |
| for details.
 | |
| 
 | |
| \wxheading{Derived from}
 | |
| 
 | |
| \helpref{wxArchiveClassFactory}{wxarchiveclassfactory}\\
 | |
| \helpref{wxObject}{wxobject}
 | |
| 
 | |
| \wxheading{Include files}
 | |
| 
 | |
| <wx/zipstrm.h>
 | |
| 
 | |
| \wxheading{Library}
 | |
| 
 | |
| \helpref{wxBase}{librarieslist}
 | |
| 
 | |
| \wxheading{See also}
 | |
| 
 | |
| \helpref{Archive formats such as zip}{wxarc}\\
 | |
| \helpref{Generic archive programming}{wxarcgeneric}\\
 | |
| \helpref{wxZipEntry}{wxzipentry}\\
 | |
| \helpref{wxZipInputStream}{wxzipinputstream}\\
 | |
| \helpref{wxZipOutputStream}{wxzipoutputstream}
 | |
| 
 | |
| 
 | |
| %
 | |
| % automatically generated by HelpGen $Revision$ from
 | |
| % wx/zipstrm.h at 16/Sep/04 12:19:29
 | |
| %
 | |
| 
 | |
| \section{\class{wxZipEntry}}\label{wxzipentry}
 | |
| 
 | |
| Holds the meta-data for an entry in a zip.
 | |
| 
 | |
| \wxheading{Derived from}
 | |
| 
 | |
| \helpref{wxArchiveEntry}{wxarchiveentry}\\
 | |
| \helpref{wxObject}{wxobject}
 | |
| 
 | |
| \wxheading{Include files}
 | |
| 
 | |
| <wx/zipstrm.h>
 | |
| 
 | |
| \wxheading{Library}
 | |
| 
 | |
| \helpref{wxBase}{librarieslist}
 | |
| 
 | |
| \wxheading{Data structures}
 | |
| 
 | |
| Constants for \helpref{Get/SetMethod}{wxzipentrymethod}:
 | |
| 
 | |
| \begin{verbatim}
 | |
| // Compression Method, only 0 (store) and 8 (deflate) are supported here
 | |
| //
 | |
| enum wxZipMethod
 | |
| {
 | |
|     wxZIP_METHOD_STORE,
 | |
|     wxZIP_METHOD_SHRINK,
 | |
|     wxZIP_METHOD_REDUCE1,
 | |
|     wxZIP_METHOD_REDUCE2,
 | |
|     wxZIP_METHOD_REDUCE3,
 | |
|     wxZIP_METHOD_REDUCE4,
 | |
|     wxZIP_METHOD_IMPLODE,
 | |
|     wxZIP_METHOD_TOKENIZE,
 | |
|     wxZIP_METHOD_DEFLATE,
 | |
|     wxZIP_METHOD_DEFLATE64,
 | |
|     wxZIP_METHOD_BZIP2 = 12,
 | |
|     wxZIP_METHOD_DEFAULT = 0xffff
 | |
| };
 | |
| 
 | |
| \end{verbatim}
 | |
| 
 | |
| Constants for \helpref{Get/SetSystemMadeBy}{wxzipentrysystemmadeby}:
 | |
| 
 | |
| \begin{verbatim}
 | |
| // Originating File-System.
 | |
| // 
 | |
| // These are Pkware's values. Note that Info-zip disagree on some of them,
 | |
| // most notably NTFS.
 | |
| //
 | |
| enum wxZipSystem
 | |
| {
 | |
|     wxZIP_SYSTEM_MSDOS,
 | |
|     wxZIP_SYSTEM_AMIGA,
 | |
|     wxZIP_SYSTEM_OPENVMS,
 | |
|     wxZIP_SYSTEM_UNIX,
 | |
|     wxZIP_SYSTEM_VM_CMS,
 | |
|     wxZIP_SYSTEM_ATARI_ST,
 | |
|     wxZIP_SYSTEM_OS2_HPFS,
 | |
|     wxZIP_SYSTEM_MACINTOSH,
 | |
|     wxZIP_SYSTEM_Z_SYSTEM,
 | |
|     wxZIP_SYSTEM_CPM,
 | |
|     wxZIP_SYSTEM_WINDOWS_NTFS,
 | |
|     wxZIP_SYSTEM_MVS,
 | |
|     wxZIP_SYSTEM_VSE,
 | |
|     wxZIP_SYSTEM_ACORN_RISC,
 | |
|     wxZIP_SYSTEM_VFAT,
 | |
|     wxZIP_SYSTEM_ALTERNATE_MVS,
 | |
|     wxZIP_SYSTEM_BEOS,
 | |
|     wxZIP_SYSTEM_TANDEM,
 | |
|     wxZIP_SYSTEM_OS_400
 | |
| };
 | |
| 
 | |
| \end{verbatim}
 | |
| 
 | |
| Constants for \helpref{Get/SetExternalAttributes}{wxzipentryexternalattributes}:
 | |
| 
 | |
| \begin{verbatim}
 | |
| // Dos/Win file attributes
 | |
| //
 | |
| enum wxZipAttributes
 | |
| {
 | |
|     wxZIP_A_RDONLY = 0x01,
 | |
|     wxZIP_A_HIDDEN = 0x02,
 | |
|     wxZIP_A_SYSTEM = 0x04,
 | |
|     wxZIP_A_SUBDIR = 0x10,
 | |
|     wxZIP_A_ARCH   = 0x20,
 | |
| 
 | |
|     wxZIP_A_MASK   = 0x37
 | |
| };
 | |
| 
 | |
| \end{verbatim}
 | |
| 
 | |
| Constants for \helpref{Get/SetFlags}{wxzipentrygetflags}:
 | |
| 
 | |
| \begin{verbatim}
 | |
| // Values for the flags field in the zip headers
 | |
| //
 | |
| enum wxZipFlags
 | |
| {
 | |
|     wxZIP_ENCRYPTED         = 0x0001,
 | |
|     wxZIP_DEFLATE_NORMAL    = 0x0000,   // normal compression
 | |
|     wxZIP_DEFLATE_EXTRA     = 0x0002,   // extra compression
 | |
|     wxZIP_DEFLATE_FAST      = 0x0004,   // fast compression
 | |
|     wxZIP_DEFLATE_SUPERFAST = 0x0006,   // superfast compression
 | |
|     wxZIP_DEFLATE_MASK      = 0x0006,
 | |
|     wxZIP_SUMS_FOLLOW       = 0x0008,   // crc and sizes come after the data
 | |
|     wxZIP_ENHANCED          = 0x0010,
 | |
|     wxZIP_PATCH             = 0x0020,
 | |
|     wxZIP_STRONG_ENC        = 0x0040,
 | |
|     wxZIP_UNUSED            = 0x0F80,
 | |
|     wxZIP_RESERVED          = 0xF000
 | |
| };
 | |
| 
 | |
| \end{verbatim}
 | |
| 
 | |
| \wxheading{See also}
 | |
| 
 | |
| \helpref{Archive formats such as zip}{wxarc}\\
 | |
| \helpref{wxZipInputStream}{wxzipinputstream}\\
 | |
| \helpref{wxZipOutputStream}{wxzipoutputstream}\\
 | |
| \helpref{wxZipNotifier}{wxzipnotifier}
 | |
| 
 | |
| \wxheading{Field availability}
 | |
| 
 | |
| When reading a zip from a stream that is seekable,
 | |
|  \helpref{GetNextEntry()}{wxzipinputstreamgetnextentry} returns
 | |
| a fully populated wxZipEntry object except for
 | |
|  \helpref{wxZipEntry::GetLocalExtra()}{wxzipentrylocalextra}. GetLocalExtra()
 | |
| becomes available when the entry is opened, either by calling
 | |
|  \helpref{wxZipInputStream::OpenEntry}{wxzipinputstreamopenentry} or by
 | |
| making an attempt to read the entry's data.
 | |
| 
 | |
| For zips on \helpref{non-seekable}{wxarcnoseek} streams, the following
 | |
| fields are always available when GetNextEntry() returns:
 | |
| 
 | |
| \helpref{GetDateTime}{wxarchiveentrydatetime}\\
 | |
| \helpref{GetInternalFormat}{wxarchiveentrygetinternalformat}\\
 | |
| \helpref{GetInternalName}{wxzipentrygetinternalname}\\
 | |
| \helpref{GetFlags}{wxzipentrygetflags}\\
 | |
| \helpref{GetLocalExtra}{wxzipentrylocalextra}\\
 | |
| \helpref{GetMethod}{wxzipentrymethod}\\
 | |
| \helpref{GetName}{wxarchiveentryname}\\
 | |
| \helpref{GetOffset}{wxarchiveentrygetoffset}\\
 | |
| \helpref{IsDir}{wxarchiveentryisdir}
 | |
| 
 | |
| The following fields are also usually available when GetNextEntry()
 | |
| returns, however, if the zip was also written to a non-seekable stream
 | |
| the zipper is permitted to store them after the entry's data. In that
 | |
| case they become available when the entry's data has been read to Eof(),
 | |
| or \helpref{CloseEntry()}{wxarchiveinputstreamcloseentry} has been called.
 | |
| {\tt (GetFlags() \& wxZIP\_SUMS\_FOLLOW) != 0} indicates that one or
 | |
| more of these come after the data:
 | |
| 
 | |
| \helpref{GetCompressedSize}{wxzipentrygetcompressedsize}\\
 | |
| \helpref{GetCrc}{wxzipentrygetcrc}\\
 | |
| \helpref{GetSize}{wxarchiveentrysize}
 | |
| 
 | |
| The following are stored at the end of the zip, and become available
 | |
| when the end of the zip has been reached, i.e. after GetNextEntry()
 | |
| returns NULL and Eof() is true:
 | |
| 
 | |
| \helpref{GetComment}{wxzipentrycomment}\\
 | |
| \helpref{GetExternalAttributes}{wxzipentryexternalattributes}\\
 | |
| \helpref{GetExtra}{wxzipentryextra}\\
 | |
| \helpref{GetMode}{wxzipentrymode}\\
 | |
| \helpref{GetSystemMadeBy}{wxzipentrysystemmadeby}\\
 | |
| \helpref{IsReadOnly}{wxarchiveentryisreadonly}\\
 | |
| \helpref{IsMadeByUnix}{wxzipentryismadebyunix}\\
 | |
| \helpref{IsText}{wxzipentryistext}
 | |
| 
 | |
| 
 | |
| \latexignore{\rtfignore{\wxheading{Members}}}
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::wxZipEntry}\label{wxzipentrywxzipentry}
 | |
| 
 | |
| \func{}{wxZipEntry}{\param{const wxString\& }{name = wxEmptyString}, \param{const wxDateTime\& }{dt = wxDateTime::Now()}, \param{off\_t }{size = wxInvalidOffset}}
 | |
| 
 | |
| Constructor.
 | |
| 
 | |
| \func{}{wxZipEntry}{\param{const wxZipEntry\& }{entry}}
 | |
| 
 | |
| Copy constructor.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::Clone}\label{wxzipentryclone}
 | |
| 
 | |
| \constfunc{wxZipEntry*}{Clone}{\void}
 | |
| 
 | |
| Make a copy of this entry.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::Get/SetComment}\label{wxzipentrycomment}
 | |
| 
 | |
| \constfunc{wxString}{GetComment}{\void}
 | |
| 
 | |
| \func{void}{SetComment}{\param{const wxString\& }{comment}}
 | |
| 
 | |
| A short comment for this entry.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::GetCompressedSize}\label{wxzipentrygetcompressedsize}
 | |
| 
 | |
| \constfunc{off\_t}{GetCompressedSize}{\void}
 | |
| 
 | |
| The compressed size of this entry in bytes.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::GetCrc}\label{wxzipentrygetcrc}
 | |
| 
 | |
| \constfunc{wxUint32}{GetCrc}{\void}
 | |
| 
 | |
| CRC32 for this entry's data.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::Get/SetExternalAttributes}\label{wxzipentryexternalattributes}
 | |
| 
 | |
| \constfunc{wxUint32}{GetExternalAttributes}{\void}
 | |
| 
 | |
| \func{void}{SetExternalAttributes}{\param{wxUint32 }{attr}}
 | |
| 
 | |
| The low 8 bits are always the DOS/Windows file attributes for this entry.
 | |
| The values of these attributes are given in the
 | |
| enumeration {\tt wxZipAttributes}.
 | |
| 
 | |
| The remaining bits can store platform specific permission bits or
 | |
| attributes, and their meaning depends on the value
 | |
| of \helpref{SetSystemMadeBy()}{wxzipentrysystemmadeby}.
 | |
| If \helpref{IsMadeByUnix()}{wxzipentryismadebyunix} is true then the
 | |
| high 16 bits are unix mode bits.
 | |
| 
 | |
| The following other accessors access these bits:
 | |
| 
 | |
| \helpref{IsReadOnly/SetIsReadOnly}{wxarchiveentryisreadonly}\\
 | |
| \helpref{IsDir/SetIsDir}{wxarchiveentryisdir}\\
 | |
| \helpref{Get/SetMode}{wxzipentrymode}
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::Get/SetExtra}\label{wxzipentryextra}
 | |
| 
 | |
| \constfunc{const char*}{GetExtra}{\void}
 | |
| 
 | |
| \constfunc{size\_t}{GetExtraLen}{\void}
 | |
| 
 | |
| \func{void}{SetExtra}{\param{const char* }{extra}, \param{size\_t }{len}}
 | |
| 
 | |
| The extra field from the entry's central directory record.
 | |
| 
 | |
| The extra field is used to store platform or application specific
 | |
| data. See Pkware's document 'appnote.txt' for information on its format.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::GetFlags}\label{wxzipentrygetflags}
 | |
| 
 | |
| \constfunc{int}{GetFlags}{\void}
 | |
| 
 | |
| Returns a combination of the bits flags in the enumeration {\tt wxZipFlags}.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::GetInternalName}\label{wxzipentrygetinternalname}
 | |
| 
 | |
| \constfunc{wxString}{GetInternalName}{\void}
 | |
| 
 | |
| Returns the entry's filename in the internal format used within the
 | |
| archive. The name can include directory components, i.e. it can be a
 | |
| full path.
 | |
| 
 | |
| The names of directory entries are returned without any trailing path
 | |
| separator. This gives a canonical name that can be used in comparisons.
 | |
| 
 | |
| \func{wxString}{GetInternalName}{\param{const wxString\& }{name}, \param{wxPathFormat }{format = wxPATH\_NATIVE}, \param{bool* }{pIsDir = NULL}}
 | |
| 
 | |
| A static member that translates a filename into the internal format used
 | |
| within the archive. If the third parameter is provided, the bool pointed
 | |
| to is set to indicate whether the name looks like a directory name
 | |
| (i.e. has a trailing path separator).
 | |
| 
 | |
| \wxheading{See also}
 | |
| 
 | |
| \helpref{Looking up an archive entry by name}{wxarcbyname}
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::Get/SetLocalExtra}\label{wxzipentrylocalextra}
 | |
| 
 | |
| \constfunc{const char*}{GetLocalExtra}{\void}
 | |
| 
 | |
| \constfunc{size\_t}{GetLocalExtraLen}{\void}
 | |
| 
 | |
| \func{void}{SetLocalExtra}{\param{const char* }{extra}, \param{size\_t }{len}}
 | |
| 
 | |
| The extra field from the entry's local record.
 | |
| 
 | |
| The extra field is used to store platform or application specific
 | |
| data. See Pkware's document 'appnote.txt' for information on its format.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::Get/SetMethod}\label{wxzipentrymethod}
 | |
| 
 | |
| \constfunc{int}{GetMethod}{\void}
 | |
| 
 | |
| \func{void}{SetMethod}{\param{int }{method}}
 | |
| 
 | |
| The compression method. The enumeration {\tt wxZipMethod} lists the
 | |
| possible values.
 | |
| 
 | |
| The default constructor sets this to wxZIP\_METHOD\_DEFAULT,
 | |
| which allows \helpref{wxZipOutputStream}{wxzipoutputstream} to
 | |
| choose the method when writing the entry.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::Get/SetMode}\label{wxzipentrymode}
 | |
| 
 | |
| \constfunc{int}{GetMode}{\void}
 | |
| 
 | |
| If \helpref{IsMadeByUnix()}{wxzipentryismadebyunix} is true then
 | |
| returns the unix permission bits stored in
 | |
|  \helpref{GetExternalAttributes()}{wxzipentryexternalattributes}.
 | |
| Otherwise synthesises them from the DOS attributes.
 | |
| 
 | |
| \func{void}{SetMode}{\param{int }{mode}}
 | |
| 
 | |
| Sets the DOS attributes
 | |
| in \helpref{GetExternalAttributes()}{wxzipentryexternalattributes}
 | |
| to be consistent with the {\tt mode} given.
 | |
| 
 | |
| If \helpref{IsMadeByUnix()}{wxzipentryismadebyunix} is true then also
 | |
| stores {\tt mode} in GetExternalAttributes().
 | |
| 
 | |
| Note that the default constructor
 | |
| sets \helpref{GetSystemMadeBy()}{wxzipentrysystemmadeby} to 
 | |
| wxZIP\_SYSTEM\_MSDOS by default. So to be able to store unix
 | |
| permissions when creating zips, call SetSystemMadeBy(wxZIP\_SYSTEM\_UNIX).
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::SetNotifier}\label{wxzipentrynotifier}
 | |
| 
 | |
| \func{void}{SetNotifier}{\param{wxZipNotifier\& }{notifier}}
 | |
| 
 | |
| \func{void}{UnsetNotifier}{\void}
 | |
| 
 | |
| Sets the \helpref{notifier}{wxzipnotifier} for this entry.
 | |
| Whenever the \helpref{wxZipInputStream}{wxzipinputstream} updates
 | |
| this entry, it will then invoke the associated
 | |
| notifier's \helpref{OnEntryUpdated}{wxzipnotifieronentryupdated}
 | |
| method.
 | |
| 
 | |
| Setting a notifier is not usually necessary. It is used to handle
 | |
| certain cases when modifying an zip in a pipeline (i.e. between
 | |
| non-seekable streams).
 | |
| 
 | |
| \wxheading{See also}
 | |
| 
 | |
| \helpref{Archives on non-seekable streams}{wxarcnoseek}\\
 | |
| \helpref{wxZipNotifier}{wxzipnotifier}
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::Get/SetSystemMadeBy}\label{wxzipentrysystemmadeby}
 | |
| 
 | |
| \constfunc{int}{GetSystemMadeBy}{\void}
 | |
| 
 | |
| \func{void}{SetSystemMadeBy}{\param{int }{system}}
 | |
| 
 | |
| The originating file-system. The default constructor sets this to
 | |
| wxZIP\_SYSTEM\_MSDOS. Set it to wxZIP\_SYSTEM\_UNIX in order to be
 | |
| able to store unix permissions using \helpref{SetMode()}{wxzipentrymode}.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::IsMadeByUnix}\label{wxzipentryismadebyunix}
 | |
| 
 | |
| \constfunc{bool}{IsMadeByUnix}{\void}
 | |
| 
 | |
| Returns true if \helpref{GetSystemMadeBy()}{wxzipentrysystemmadeby}
 | |
| is a flavour of unix.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::IsText/SetIsText}\label{wxzipentryistext}
 | |
| 
 | |
| \constfunc{bool}{IsText}{\void}
 | |
| 
 | |
| \func{void}{SetIsText}{\param{bool }{isText = true}}
 | |
| 
 | |
| Indicates that this entry's data is text in an 8-bit encoding.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipEntry::operator=}\label{wxzipentryoperatorassign}
 | |
| 
 | |
| \func{wxZipEntry\& operator}{operator=}{\param{const wxZipEntry\& }{entry}}
 | |
| 
 | |
| Assignment operator.
 | |
| 
 | |
| 
 | |
| %
 | |
| % automatically generated by HelpGen $Revision$ from
 | |
| % wx/zipstrm.h at 16/Sep/04 12:19:29
 | |
| %
 | |
| 
 | |
| \section{\class{wxZipInputStream}}\label{wxzipinputstream}
 | |
| 
 | |
| Input stream for reading zip files.
 | |
| 
 | |
| \helpref{GetNextEntry()}{wxzipinputstreamgetnextentry} returns an
 | |
|  \helpref{wxZipEntry}{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.
 | |
| 
 | |
| \wxheading{Derived from}
 | |
| 
 | |
| \helpref{wxArchiveInputStream}{wxarchiveinputstream}\\
 | |
| \helpref{wxFilterInputStream}{wxfilterinputstream}\\
 | |
| \helpref{wxInputStream}{wxinputstream}\\
 | |
| \helpref{wxStreamBase}{wxstreambase}
 | |
| 
 | |
| \wxheading{Include files}
 | |
| 
 | |
| <wx/zipstrm.h>
 | |
| 
 | |
| \wxheading{Library}
 | |
| 
 | |
| \helpref{wxBase}{librarieslist}
 | |
| 
 | |
| \wxheading{Data structures}
 | |
| \begin{verbatim}
 | |
| typedef wxZipEntry entry_type
 | |
| \end{verbatim}
 | |
| 
 | |
| \wxheading{See also}
 | |
| 
 | |
| \helpref{Archive formats such as zip}{wxarc}\\
 | |
| \helpref{wxZipEntry}{wxzipentry}\\
 | |
| \helpref{wxZipOutputStream}{wxzipoutputstream}
 | |
| 
 | |
| \latexignore{\rtfignore{\wxheading{Members}}}
 | |
| 
 | |
| 
 | |
| \membersection{wxZipInputStream::wxZipInputStream}\label{wxzipinputstreamwxzipinputstream}
 | |
| 
 | |
| \func{}{wxZipInputStream}{\param{wxInputStream\& }{stream}, \param{wxMBConv\& }{conv = wxConvLocal}}
 | |
| 
 | |
| \func{}{wxZipInputStream}{\param{wxInputStream*}{stream}, \param{wxMBConv\& }{conv = wxConvLocal}}
 | |
| 
 | |
| Constructor. In a Unicode build the second parameter {\tt 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.
 | |
| 
 | |
| \func{}{wxZipInputStream}{\param{const wxString\& }{archive}, \param{const wxString\& }{file}}
 | |
| 
 | |
| 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.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipInputStream::CloseEntry}\label{wxzipinputstreamcloseentry}
 | |
| 
 | |
| \func{bool}{CloseEntry}{\void}
 | |
| 
 | |
| Closes the current entry. On a non-seekable stream reads to the end of
 | |
| the current entry first.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipInputStream::GetComment}\label{wxzipinputstreamgetcomment}
 | |
| 
 | |
| \func{wxString}{GetComment}{\void}
 | |
| 
 | |
| 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.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipInputStream::GetNextEntry}\label{wxzipinputstreamgetnextentry}
 | |
| 
 | |
| \func{wxZipEntry*}{GetNextEntry}{\void}
 | |
| 
 | |
| Closes the current entry if one is open, then reads the meta-data for
 | |
| the next entry and returns it in a \helpref{wxZipEntry}{wxzipentry}
 | |
| object, giving away ownership. The stream is then open and can be read.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipInputStream::GetTotalEntries}\label{wxzipinputstreamgettotalentries}
 | |
| 
 | |
| \func{int}{GetTotalEntries}{\void}
 | |
| 
 | |
| 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 \helpref{GetNextEntry()}{wxzipinputstreamgetnextentry}.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipInputStream::OpenEntry}\label{wxzipinputstreamopenentry}
 | |
| 
 | |
| \func{bool}{OpenEntry}{\param{wxZipEntry\& }{entry}}
 | |
| 
 | |
| Closes the current entry if one is open, then opens the entry specified
 | |
| by the {\it entry} object.
 | |
| 
 | |
| {\it entry} should be from the same zip file, and the zip should
 | |
| be on a seekable stream.
 | |
| 
 | |
| \wxheading{See also}
 | |
| 
 | |
| \helpref{Looking up an archive entry by name}{wxarcbyname}
 | |
| 
 | |
| 
 | |
| %
 | |
| % automatically generated by HelpGen $Revision$ from
 | |
| % wx/zipstrm.h at 16/Sep/04 12:19:29
 | |
| %
 | |
| 
 | |
| \section{\class{wxZipNotifier}}\label{wxzipnotifier}
 | |
| 
 | |
| If you need to know when a \helpref{wxZipInputStream}{wxzipinputstream}
 | |
| updates a \helpref{wxZipEntry}{wxzipentry},
 | |
| you can create a notifier by deriving from this abstract base class,
 | |
| overriding \helpref{OnEntryUpdated()}{wxzipnotifieronentryupdated}.
 | |
| An instance of your notifier class can then be assigned to wxZipEntry
 | |
| objects, using \helpref{wxZipEntry::SetNotifier()}{wxzipentrynotifier}.
 | |
| 
 | |
| Setting a notifier is not usually necessary. It is used to handle
 | |
| certain cases when modifying an zip in a pipeline (i.e. between
 | |
| non-seekable streams).
 | |
| See '\helpref{Archives on non-seekable streams}{wxarcnoseek}'.
 | |
| 
 | |
| \wxheading{Derived from}
 | |
| 
 | |
| No base class
 | |
| 
 | |
| \wxheading{Include files}
 | |
| 
 | |
| <wx/zipstrm.h>
 | |
| 
 | |
| \wxheading{Library}
 | |
| 
 | |
| \helpref{wxBase}{librarieslist}
 | |
| 
 | |
| \wxheading{See also}
 | |
| 
 | |
| \helpref{Archives on non-seekable streams}{wxarcnoseek}\\
 | |
| \helpref{wxZipEntry}{wxzipentry}\\
 | |
| \helpref{wxZipInputStream}{wxzipinputstream}\\
 | |
| \helpref{wxZipOutputStream}{wxzipoutputstream}
 | |
| 
 | |
| \latexignore{\rtfignore{\wxheading{Members}}}
 | |
| 
 | |
| 
 | |
| \membersection{wxZipNotifier::OnEntryUpdated}\label{wxzipnotifieronentryupdated}
 | |
| 
 | |
| \func{void}{OnEntryUpdated}{\param{wxZipEntry\& }{entry}}
 | |
| 
 | |
| Override this to receive notifications when
 | |
| an \helpref{wxZipEntry}{wxzipentry} object changes.
 | |
| 
 | |
| 
 | |
| %
 | |
| % automatically generated by HelpGen $Revision$ from
 | |
| % wx/zipstrm.h at 16/Sep/04 12:19:29
 | |
| %
 | |
| 
 | |
| \section{\class{wxZipOutputStream}}\label{wxzipoutputstream}
 | |
| 
 | |
| Output stream for writing zip files.
 | |
| 
 | |
| \helpref{PutNextEntry()}{wxzipoutputstreamputnextentry} is used to create
 | |
| a new entry in the output zip, then the entry's data is written to the
 | |
| wxZipOutputStream.  Another call to PutNextEntry() closes the current
 | |
| entry and begins the next.
 | |
| 
 | |
| \wxheading{Derived from}
 | |
| 
 | |
| \helpref{wxArchiveOutputStream}{wxarchiveoutputstream}\\
 | |
| \helpref{wxFilterOutputStream}{wxfilteroutputstream}\\
 | |
| \helpref{wxOutputStream}{wxoutputstream}\\
 | |
| \helpref{wxStreamBase}{wxstreambase}
 | |
| 
 | |
| \wxheading{Include files}
 | |
| 
 | |
| <wx/zipstrm.h>
 | |
| 
 | |
| \wxheading{Library}
 | |
| 
 | |
| \helpref{wxBase}{librarieslist}
 | |
| 
 | |
| \wxheading{See also}
 | |
| 
 | |
| \helpref{Archive formats such as zip}{wxarc}\\
 | |
| \helpref{wxZipEntry}{wxzipentry}\\
 | |
| \helpref{wxZipInputStream}{wxzipinputstream}
 | |
| 
 | |
| \latexignore{\rtfignore{\wxheading{Members}}}
 | |
| 
 | |
| 
 | |
| \membersection{wxZipOutputStream::wxZipOutputStream}\label{wxzipoutputstreamwxzipoutputstream}
 | |
| 
 | |
| \func{}{wxZipOutputStream}{\param{wxOutputStream\& }{stream}, \param{int }{level = -1}, \param{wxMBConv\& }{conv = wxConvLocal}}
 | |
| 
 | |
| \func{}{wxZipOutputStream}{\param{wxOutputStream*}{stream}, \param{int }{level = -1}, \param{wxMBConv\& }{conv = wxConvLocal}}
 | |
| 
 | |
| Constructor. {\tt level} is the compression level to use.
 | |
| It can be a value between 0 and 9 or -1 to use the default value
 | |
| which currently is equivalent to 6.
 | |
| 
 | |
| 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.
 | |
| 
 | |
| In a Unicode build the third parameter {\tt conv} is used to translate
 | |
| the filename and comment fields to an 8-bit encoding. It has no effect on the
 | |
| stream's data.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipOutputStream::\destruct{wxZipOutputStream}}\label{wxzipoutputstreamdtor}
 | |
| 
 | |
| \func{}{\destruct{wxZipOutputStream}}{\void}
 | |
| 
 | |
| The destructor calls \helpref{Close()}{wxzipoutputstreamclose} to finish
 | |
| writing the zip if it has not been called already.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipOutputStream::Close}\label{wxzipoutputstreamclose}
 | |
| 
 | |
| \func{bool}{Close}{\void}
 | |
| 
 | |
| Finishes writing the zip, returning true if successful.
 | |
| Called by the destructor if not called explicitly.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipOutputStream::CloseEntry}\label{wxzipoutputstreamcloseentry}
 | |
| 
 | |
| \func{bool}{CloseEntry}{\void}
 | |
| 
 | |
| Close the current entry. It is called implicitly whenever another new
 | |
| entry is created with \helpref{CopyEntry()}{wxzipoutputstreamcopyentry}
 | |
| or \helpref{PutNextEntry()}{wxzipoutputstreamputnextentry}, or
 | |
| when the zip is closed.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipOutputStream::CopyArchiveMetaData}\label{wxzipoutputstreamcopyarchivemetadata}
 | |
| 
 | |
| \func{bool}{CopyArchiveMetaData}{\param{wxZipInputStream\& }{inputStream}}
 | |
| 
 | |
| Transfers the zip comment from the \helpref{wxZipInputStream}{wxzipinputstream}
 | |
| to this output stream.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipOutputStream::CopyEntry}\label{wxzipoutputstreamcopyentry}
 | |
| 
 | |
| \func{bool}{CopyEntry}{\param{wxZipEntry* }{entry}, \param{wxZipInputStream\& }{inputStream}}
 | |
| 
 | |
| Takes ownership of {\tt entry} and uses it to create a new entry
 | |
| in the zip. {\tt entry} is then opened in {\tt inputStream} and its contents
 | |
| copied to this stream.
 | |
| 
 | |
| CopyEntry() is much more efficient than transferring the data using
 | |
| Read() and Write() since it will copy them without decompressing and
 | |
| recompressing them.
 | |
| 
 | |
| For zips on seekable streams, {\tt entry} must be from the same zip file
 | |
| as {\tt stream}. For non-seekable streams, {\tt entry} must also be the
 | |
| last thing read from {\tt inputStream}.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipOutputStream::Get/SetLevel}\label{wxzipoutputstreamlevel}
 | |
| 
 | |
| \constfunc{int}{GetLevel}{\void}
 | |
| 
 | |
| \func{void}{SetLevel}{\param{int }{level}}
 | |
| 
 | |
| Set the compression level that will be used the next time an entry is
 | |
| created. It can be a value between 0 and 9 or -1 to use the default value
 | |
| which currently is equivalent to 6.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipOutputStream::PutNextDirEntry}\label{wxzipoutputstreamputnextdirentry}
 | |
| 
 | |
| \func{bool}{PutNextDirEntry}{\param{const wxString\& }{name}, \param{const wxDateTime\& }{dt = wxDateTime::Now()}}
 | |
| 
 | |
| Create a new directory entry
 | |
| (see \helpref{wxArchiveEntry::IsDir()}{wxarchiveentryisdir})
 | |
| with the given name and timestamp.
 | |
| 
 | |
| \helpref{PutNextEntry()}{wxzipoutputstreamputnextentry} can
 | |
| also be used to create directory entries, by supplying a name with
 | |
| a trailing path separator.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipOutputStream::PutNextEntry}\label{wxzipoutputstreamputnextentry}
 | |
| 
 | |
| \func{bool}{PutNextEntry}{\param{wxZipEntry* }{entry}}
 | |
| 
 | |
| Takes ownership of {\tt entry} and uses it to create a new entry
 | |
| in the zip. 
 | |
| 
 | |
| \func{bool}{PutNextEntry}{\param{const wxString\& }{name}, \param{const wxDateTime\& }{dt = wxDateTime::Now()}, \param{off\_t }{size = wxInvalidOffset}}
 | |
| 
 | |
| Create a new entry with the given name, timestamp and size.
 | |
| 
 | |
| 
 | |
| \membersection{wxZipOutputStream::SetComment}\label{wxzipoutputstreamsetcomment}
 | |
| 
 | |
| \func{void}{SetComment}{\param{const wxString\& }{comment}}
 | |
| 
 | |
| Sets a comment for the zip as a whole. It is written at the end of the
 | |
| zip.
 | |
| 
 |