///////////////////////////////////////////////////////////////////////////// // Name: zstream.h // Purpose: Memory stream classes // Author: Guilhem Lavaux // Modified by: // Created: 11/07/98 // RCS-ID: $Id$ // Copyright: (c) Guilhem Lavaux // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_WXZSTREAM_H__ #define _WX_WXZSTREAM_H__ #ifdef __GNUG__ #pragma interface #endif #include "wx/defs.h" #ifdef wxUSE_ZLIB #include class WXDLLEXPORT wxZlibInputStream: public wxFilterInputStream { public: wxZlibInputStream(wxInputStream& stream); virtual ~wxZlibInputStream(); protected: size_t OnSysRead(void *buffer, size_t size); protected: size_t m_z_size; unsigned char *m_z_buffer; struct z_stream_s *m_inflate; }; class WXDLLEXPORT wxZlibOutputStream: public wxFilterOutputStream { public: wxZlibOutputStream(wxOutputStream& stream); virtual ~wxZlibOutputStream(); void Sync(); protected: size_t OnSysWrite(const void *buffer, size_t size); protected: size_t m_z_size; unsigned char *m_z_buffer; struct z_stream_s *m_deflate; }; #endif #endif