Copyright 2010 Comarch S.A.
*******************************************************************************/
-
-//Created by Mateusz Półrola
+/*!
+ \file CompressedReader.cpp
+ \author Mateusz Półrola
+*/
#ifndef COMPRESSEDREADER_H
#define COMPRESSEDREADER_H
#include <QObject>
#include <zconf.h>
-#include <zlibdefs.h>
+//#include <zlibdefs.h>
#include <zlib.h>
#include "StarDictReader.h"
/*!
- Class implementing StarDictReader interface and handling rading from compressed
+ Class implementing StarDictReader interface and handling rading from compressed
files like .gz or .dz, using zlib
- */
+*/
class CompressedReader : public StarDictReader
{
Q_OBJECT
public:
CompressedReader(QObject *parent = 0);
- /*!
- Creates new compressed reader and open file with passed filename
- */
+
+ //! Creates new compressed reader and open file with passed filename
CompressedReader(QString filename, QObject *parent = 0);
- /*!
- Destructs object and closing file
- */
- ~CompressedReader();
- /*!
- Reads translations text from compressed dict file.
- \param offset 32-bit offset of translation in uncompressed file, readed
- from idx file
- \param len length of uncompressed translation, readed from idx file too
- */
- QString readString(qint32 offset, qint32 len);
+ //! Destructs object and closing file
+ ~CompressedReader();
/*!
- Reads translations text from compressed dict file.
- \param offset 64-bit offset of translation in uncompressed file, readed
+ Reads translations text from compressed dict file.
+ \param offset 64-bit offset of translation in uncompressed file, readed
from idx file
- \param len length of uncompressed translation, readed from idx file too
- */
- QString readString(qint64 offset, qint32 len);
+ \param len length of uncompressed translation, readed from idx file too
+ */
+ QByteArray readString(qint64 offset, qint32 len);
/*!
- Reads 32-bits integer value from compressed file and convert it from
- BigEndian to Little Endian
- */
+ Reads 32-bits integer value from compressed file and convert it from
+ BigEndian to Little Endian
+ */
qint32 readInt32BigEndian();
/*!
- Reads 64-bits integer value from compressed file and convert it from
- BigEndian to Little Endian
- */
+ Reads 64-bits integer value from compressed file and convert it from
+ BigEndian to Little Endian
+ */
qint64 readInt64BigEndian();
/*!
- Reads single string from compressed file, end of string is marked as '\0'
- in file.
- */
+ Reads single string from compressed file, end of string is marked as '\0'
+ in file.
+ */
QString readKeyword();
- /*!
- Closing file;
- */
+ //! Closing file;
void close();
protected:
/*!
- Opens file
- \returns true if file is opened or false otherwise
- */
+ Opens file
+ \returns true if file is opened or false otherwise
+ */
bool open(QString file);
- /*!
- Reads single char from compressed.
- */
+ //! Reads single char from compressed.
QChar readChar();
private: