From 7f328ba6990044b0a9d510060a2dcd468cf0fd9f Mon Sep 17 00:00:00 2001 From: Francois Andriot Date: Wed, 8 May 2013 21:43:09 +0200 Subject: Add XZ tdeioslave Based on KDE GIT commit bbe9e8f5 --- tdeioslave/xz/kxzfilter.h | 60 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 tdeioslave/xz/kxzfilter.h (limited to 'tdeioslave/xz/kxzfilter.h') diff --git a/tdeioslave/xz/kxzfilter.h b/tdeioslave/xz/kxzfilter.h new file mode 100644 index 000000000..b2ef164ae --- /dev/null +++ b/tdeioslave/xz/kxzfilter.h @@ -0,0 +1,60 @@ +/* This file is part of the KDE libraries + Copyright (C) 2007-2008 Per Øyvind Karlsen + + Based on kbzip2filter: + Copyright (C) 2000 David Faure + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef KXZFILTER_H +#define KXZFILTER_H + +#include +#if HAVE_XZ_SUPPORT + +#include "kfilterbase.h" + +/** + * Internal class used by KFilterDev + * @internal + */ +class KXzFilter : public KFilterBase +{ +public: + KXzFilter(); + virtual ~KXzFilter(); + + virtual void init( int ); + virtual int mode() const; + virtual void terminate(); + virtual void reset(); + virtual bool readHeader() { return true; } // lzma handles it by itself ! Cool ! + virtual bool writeHeader( const TQCString & ) { return true; } + virtual void setOutBuffer( char * data, uint maxlen ); + virtual void setInBuffer( const char * data, uint size ); + virtual int inBufferAvailable() const; + virtual int outBufferAvailable() const; + virtual Result uncompress(); + virtual Result compress( bool finish ); +private: + class Private; + Private* const d; +}; + +#endif + +#endif // KXZFILTER_H -- cgit v1.2.1