| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        zstream.h
 
- // Purpose:     interface of wxZlibOutputStream
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /// Compression level
 
- enum wxZlibCompressionLevels {
 
-     wxZ_DEFAULT_COMPRESSION = -1,
 
-     wxZ_NO_COMPRESSION = 0,
 
-     wxZ_BEST_SPEED = 1,
 
-     wxZ_BEST_COMPRESSION = 9
 
- };
 
- /// Flags
 
- enum wxZLibFlags {
 
-     wxZLIB_NO_HEADER = 0,    //!< raw deflate stream, no header or checksum
 
-     wxZLIB_ZLIB = 1,         //!< zlib header and checksum
 
-     wxZLIB_GZIP = 2,         //!< gzip header and checksum, requires zlib 1.2.1+
 
-     wxZLIB_AUTO = 3          //!< autodetect header zlib or gzip
 
- };
 
- /**
 
-     @class wxZlibOutputStream
 
-     This stream compresses all data written to it.
 
-     The compressed output can be in zlib or gzip format.
 
-     Note that writing the gzip format requires zlib version 1.2.1 or greater
 
-     (the builtin version does support gzip format).
 
-     The stream is not seekable, wxOutputStream::SeekO() returns
 
-     ::wxInvalidOffset.
 
-     @library{wxbase}
 
-     @category{archive,streams}
 
-     @see wxOutputStream, wxZlibInputStream
 
- */
 
- class wxZlibOutputStream : public wxFilterOutputStream
 
- {
 
- public:
 
-     //@{
 
-     /**
 
-         Creates a new write-only compressed stream.
 
-         @a level means level of compression. It is number between 0 and 9
 
-         (including these values) where 0 means no compression and 9 best but
 
-         slowest compression. -1 is default value (currently 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.
 
-         The @a flags wxZLIB_ZLIB and wxZLIB_GZIP specify whether the output data
 
-         will be in zlib or gzip format. wxZLIB_ZLIB is the default.
 
-         If @a flags is wxZLIB_NO_HEADER, then a raw deflate stream is output
 
-         without either zlib or gzip headers. This is a lower level mode, which
 
-         is not usually used directly. It can be used to embed a raw deflate
 
-         stream in a higher level protocol.
 
-         The values of the ::wxZlibCompressionLevels and ::wxZLibFlags
 
-         enumerations can be used.
 
-     */
 
-     wxZlibOutputStream(wxOutputStream& stream, int level = -1,
 
-                        int flags = wxZLIB_ZLIB);
 
-     wxZlibOutputStream(wxOutputStream* stream, int level = -1,
 
-                        int flags = wxZLIB_ZLIB);
 
-     //@}
 
-     /**
 
-         Returns @true if zlib library in use can handle gzip compressed data.
 
-     */
 
-     static bool CanHandleGZip();
 
-     //@{
 
-     /**
 
-         Sets the dictionary to the specified chunk of data. This can improve
 
-         compression rate but note that the dictionary has to be the same when
 
-         you deflate the data as when you inflate the data, otherwise you
 
-         will inflate corrupted data.
 
-         Returns @true if the dictionary was successfully set.
 
-     */
 
-     bool SetDictionary(const char *data, const size_t datalen);
 
-     bool SetDictionary(const wxMemoryBuffer &buf);
 
-     //@}
 
- };
 
- /**
 
-     @class wxZlibInputStream
 
-     This filter stream decompresses a stream that is in zlib or gzip format.
 
-     Note that reading the gzip format requires zlib version 1.2.1 or greater,
 
-     (the builtin version does support gzip format).
 
-     The stream is not seekable, wxInputStream::SeekI returns ::wxInvalidOffset.
 
-     Also wxStreamBase::GetSize() is not supported, it always returns 0.
 
-     @library{wxbase}
 
-     @category{archive,streams}
 
-     @see wxInputStream, wxZlibOutputStream.
 
- */
 
- class wxZlibInputStream : public wxFilterInputStream
 
- {
 
- public:
 
-     //@{
 
-     /**
 
-         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.
 
-         The @a flags wxZLIB_ZLIB and wxZLIB_GZIP specify whether the input data
 
-         is in zlib or gzip format. If wxZLIB_AUTO is used, then zlib will
 
-         autodetect the stream type, this is the default.
 
-         If @a flags is wxZLIB_NO_HEADER, then the data is assumed to be a raw
 
-         deflate stream without either zlib or gzip headers. This is a lower level
 
-         mode, which is not usually used directly. It can be used to read a raw
 
-         deflate stream embedded in a higher level protocol.
 
-         The values of the ::wxZLibFlags enumeration can be used.
 
-     */
 
-     wxZlibInputStream(wxInputStream& stream, int flags = wxZLIB_AUTO);
 
-     wxZlibInputStream(wxInputStream* stream, int flags = wxZLIB_AUTO);
 
-     //@}
 
-     /**
 
-         Returns @true if zlib library in use can handle gzip compressed data.
 
-     */
 
-     static bool CanHandleGZip();
 
-     //@{
 
-     /**
 
-         Sets the dictionary to the specified chunk of data. This can improve
 
-         compression rate but note that the dictionary has to be the same when
 
-         you deflate the data as when you inflate the data, otherwise you
 
-         will inflate corrupted data.
 
-         Returns @true if the dictionary was successfully set.
 
-     */
 
-     bool SetDictionary(const char *data, const size_t datalen);
 
-     bool SetDictionary(const wxMemoryBuffer &buf);
 
-     //@}
 
- };
 
 
  |