]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/zstream.h
Implement monitoring of file descriptors in wxMotif event loop.
[wxWidgets.git] / include / wx / zstream.h
index fd3cb5eb0a03dec52f48fa16a4051168b6bfa83d..51f8b86ef3f965e1df8790832ee7a2f273b84651 100644 (file)
 #if wxUSE_ZLIB && wxUSE_STREAMS
 
 #include "wx/stream.h"
+#include "wx/versioninfo.h"
 
 // Compression level
-enum {
+enum wxZlibCompressionLevels {
     wxZ_DEFAULT_COMPRESSION = -1,
     wxZ_NO_COMPRESSION = 0,
     wxZ_BEST_SPEED = 1,
@@ -26,10 +27,7 @@ enum {
 };
 
 // Flags
-enum {
-#if WXWIN_COMPATIBILITY_2_4
-    wxZLIB_24COMPATIBLE = 4, // read v2.4.x data without error
-#endif
+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+
@@ -47,6 +45,9 @@ class WXDLLIMPEXP_BASE wxZlibInputStream: public wxFilterInputStream {
 
   static bool CanHandleGZip();
 
+  bool SetDictionary(const char *data, const size_t datalen);
+  bool SetDictionary(const wxMemoryBuffer &buf);
+
  protected:
   size_t OnSysRead(void *buffer, size_t size);
   wxFileOffset OnSysTell() const { return m_pos; }
@@ -59,11 +60,8 @@ class WXDLLIMPEXP_BASE wxZlibInputStream: public wxFilterInputStream {
   unsigned char *m_z_buffer;
   struct z_stream_s *m_inflate;
   wxFileOffset m_pos;
-#if WXWIN_COMPATIBILITY_2_4
-  bool m_24compatibilty;
-#endif
 
-  DECLARE_NO_COPY_CLASS(wxZlibInputStream)
+  wxDECLARE_NO_COPY_CLASS(wxZlibInputStream);
 };
 
 class WXDLLIMPEXP_BASE wxZlibOutputStream: public wxFilterOutputStream {
@@ -78,6 +76,9 @@ class WXDLLIMPEXP_BASE wxZlibOutputStream: public wxFilterOutputStream {
 
   static bool CanHandleGZip();
 
+  bool SetDictionary(const char *data, const size_t datalen);
+  bool SetDictionary(const wxMemoryBuffer &buf);
+
  protected:
   size_t OnSysWrite(const void *buffer, size_t size);
   wxFileOffset OnSysTell() const { return m_pos; }
@@ -93,7 +94,7 @@ class WXDLLIMPEXP_BASE wxZlibOutputStream: public wxFilterOutputStream {
   struct z_stream_s *m_deflate;
   wxFileOffset m_pos;
 
-  DECLARE_NO_COPY_CLASS(wxZlibOutputStream)
+  wxDECLARE_NO_COPY_CLASS(wxZlibOutputStream);
 };
 
 class WXDLLIMPEXP_BASE wxZlibClassFactory: public wxFilterClassFactory
@@ -138,6 +139,8 @@ private:
     DECLARE_DYNAMIC_CLASS(wxGzipClassFactory)
 };
 
+WXDLLIMPEXP_BASE wxVersionInfo wxGetZlibVersionInfo();
+
 #endif
   // wxUSE_ZLIB && wxUSE_STREAMS