]> git.tdb.fi Git - libs/core.git/blobdiff - source/io/zlibcompressed.cpp
Add move semantics to Variant
[libs/core.git] / source / io / zlibcompressed.cpp
index f477bdc46f180e3446f5ee898470c9519ad0fdff..8896f147bf6b1ecb038e7739a275a4a7c5732a96 100644 (file)
@@ -1,6 +1,7 @@
 #ifdef WITH_ZLIB
 #include <zlib.h>
 #endif
+#include <msp/core/except.h>
 #include "zlibcompressed.h"
 
 using namespace std;
@@ -8,13 +9,13 @@ 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)
 { }
 
 
@@ -30,23 +31,13 @@ struct ZlibCompressed::Private
 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)
 {
@@ -54,16 +45,7 @@ ZlibCompressed::ZlibCompressed(Base &b, Mode m, unsigned level):
        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)
@@ -92,7 +74,7 @@ void ZlibCompressed::init(unsigned level)
        (void)buffer_size;
        (void)stream_end;
        (void)level;
-       throw zlib_error("unsupported", -1);
+       throw unsupported("ZlibCompressed");
 #endif
 }
 
@@ -115,12 +97,12 @@ ZlibCompressed::~ZlibCompressed()
 
 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()
@@ -280,7 +262,7 @@ size_t ZlibCompressed::do_read(char *data, size_t size)
 
 const Handle &ZlibCompressed::get_handle(Mode)
 {
-       throw logic_error("ZlibCompressed::get_handle");
+       throw unsupported("ZlibCompressed::get_handle");
 }
 
 } // namespace IO