File indexing completed on 2025-02-16 13:00:37
0001 /* This file is part of the KDE libraries 0002 SPDX-FileCopyrightText: 2011 Mario Bensi <mbensi@ipsquad.net> 0003 0004 Based on kbzip2filter: 0005 SPDX-FileCopyrightText: 2000, 2009 David Faure <faure@kde.org> 0006 0007 SPDX-License-Identifier: LGPL-2.0-or-later 0008 */ 0009 0010 #ifndef __knonefilter__h 0011 #define __knonefilter__h 0012 0013 #include "kfilterbase.h" 0014 0015 /** 0016 * Internal class used by KCompressionDevice 0017 * 0018 * This header is not installed. 0019 * 0020 * @internal 0021 */ 0022 class KNoneFilter : public KFilterBase 0023 { 0024 public: 0025 KNoneFilter(); 0026 ~KNoneFilter() override; 0027 0028 bool init(int mode) override; 0029 int mode() const override; 0030 bool terminate() override; 0031 void reset() override; 0032 bool readHeader() override; // this is about the GZIP header 0033 bool writeHeader(const QByteArray &fileName) override; 0034 void setOutBuffer(char *data, uint maxlen) override; 0035 void setInBuffer(const char *data, uint size) override; 0036 int inBufferAvailable() const override; 0037 int outBufferAvailable() const override; 0038 Result uncompress() override; 0039 Result compress(bool finish) override; 0040 0041 private: 0042 Result copyData(); 0043 0044 class Private; 0045 Private *const d; 0046 }; 0047 0048 #endif