#ifdef WITH_ZLIB
#include <zlib.h>
#endif
+#include <msp/core/except.h>
#include "zlibcompressed.h"
using namespace std;
namespace Msp {
namespace IO {
-zlib_error::zlib_error(const std::string &w, int c):
+zlib_error::zlib_error(const string &w, int c):
#ifdef WITH_ZLIB
runtime_error(w+": "+zError(c)),
#else
runtime_error(w),
#endif
- code_(c)
+ m_code(c)
{ }
ZlibCompressed::Private::Private()
{
#ifdef WITH_ZLIB
- stream.zalloc = 0;
- stream.zfree = 0;
- stream.opaque = 0;
+ stream.zalloc = nullptr;
+ stream.zfree = nullptr;
+ stream.opaque = nullptr;
#endif
}
-ZlibCompressed::ZlibCompressed(Base &b, unsigned level):
- below(b)
-{
- mode = below.get_mode()&M_RDWR;
- if(mode!=M_READ && mode!=M_WRITE)
- throw invalid_access(mode);
-
- init(level);
-}
-
ZlibCompressed::ZlibCompressed(Base &b, Mode m, unsigned level):
below(b)
{
if(mode!=M_READ && mode!=M_WRITE)
throw invalid_access(m);
- init(level);
-}
-
-void ZlibCompressed::init(unsigned level)
-{
#ifdef WITH_ZLIB
- buffer_size = 1024;
- in_buffer = 0;
- out_buffer = 0;
- stream_end = false;
priv = new Private;
if(mode==M_WRITE)
(void)buffer_size;
(void)stream_end;
(void)level;
- throw zlib_error("unsupported", -1);
+ throw unsupported("ZlibCompressed");
#endif
}
void ZlibCompressed::set_block(bool)
{
- throw logic_error("ZlibCompressed::set_block");
+ throw unsupported("ZlibCompressed::set_block");
}
void ZlibCompressed::set_inherit(bool)
{
- throw logic_error("ZlibCompressed::set_inherit");
+ throw unsupported("ZlibCompressed::set_inherit");
}
void ZlibCompressed::flush()
const Handle &ZlibCompressed::get_handle(Mode)
{
- throw logic_error("ZlibCompressed::get_handle");
+ throw unsupported("ZlibCompressed::get_handle");
}
} // namespace IO