modernize: Use override instead of virtual
[quassel.git] / src / common / compressor.h
index b8b9e71..37d951d 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2014 by the Quassel Project                        *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -18,8 +18,9 @@
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef COMPRESSOR_H
-#define COMPRESSOR_H
+#pragma once
+
+#include <zlib.h>
 
 #include <QObject>
 
@@ -48,7 +49,8 @@ public:
         Flush
     };
 
-    Compressor(QTcpSocket *socket, CompressionLevel level, QObject *parent = 0);
+    Compressor(QTcpSocket *socket, CompressionLevel level, QObject *parent = nullptr);
+    ~Compressor() override;
 
     CompressionLevel compressionLevel() const { return _level; }
 
@@ -61,12 +63,13 @@ public:
 
 signals:
     void readyRead();
-    void error(Compressor::Error errorCode);
+    void error(Compressor::Error errorCode = StreamError);
 
 private slots:
     void readData();
 
 private:
+    bool initStreams();
     void writeData();
 
 private:
@@ -75,6 +78,10 @@ private:
 
     QByteArray _readBuffer;
     QByteArray _writeBuffer;
-};
 
-#endif
+    QByteArray _inputBuffer;
+    QByteArray _outputBuffer;
+
+    z_streamp _inflater;
+    z_streamp _deflater;
+};