Warning, file /office/calligra/libs/store/KoLZF.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /* This file is part of the KDE project
0002    Copyright (C) 2005-2006 Ariya Hidayat <ariya@kde.org>
0003    Copyright (C) 2015 Friedrich W. H. Kossebau <kossebau@kde.org>
0004 
0005    This library is free software; you can redistribute it and/or
0006    modify it under the terms of the GNU Library General Public
0007    License as published by the Free Software Foundation; either
0008    version 2 of the License, or (at your option) any later version.
0009 
0010    This library is distributed in the hope that it will be useful,
0011    but WITHOUT ANY WARRANTY; without even the implied warranty of
0012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013    Library General Public License for more details.
0014 
0015    You should have received a copy of the GNU Library General Public License
0016    along with this library; see the file COPYING.LIB.  If not, write to
0017    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018    Boston, MA 02110-1301, USA.
0019 */
0020 
0021 #ifndef KO_LZF_H
0022 #define KO_LZF_H
0023 
0024 class QByteArray;
0025 
0026 namespace KoLZF
0027 {
0028 
0029 /**
0030  * @param input where to read the data to compress from
0031  * @param length length of the input
0032  * @param output where to write the compressed data to
0033  * @param maxout maximal usable length of output, needs to be at least 2 bytes
0034  * @return the length of data written to output, or, on failure, 0
0035  */
0036 int compress(const void* input, int length, void* output, int maxout);
0037 
0038 /**
0039  * @param input where to read the data to decompress from
0040  * @param length length of the input
0041  * @param output where to write the decompressed data to
0042  * @param maxout maximal usable length of output
0043  * @return the length of data written to output, or, on failure, 0
0044  */
0045 int decompress(const void* input, int length, void* output, int maxout);
0046 
0047 /**
0048  * @param data the data to compress
0049  * @return the compressed data (with KoLZF header)
0050  */
0051 QByteArray compress(const QByteArray& data);
0052 
0053 /**
0054  * @param data the data to decompress (with KoLZF header)
0055  * @param output where to write the decompressed data to
0056  *               Existing content will be lost.
0057  *               On failure will be an empty QByteArray.
0058  */
0059 void decompress(const QByteArray &data, QByteArray &output);
0060 
0061 }
0062 
0063 #endif