diff options
Diffstat (limited to 'lib/qt-tar-xz/QXzDecodeThread.cpp')
-rw-r--r-- | lib/qt-tar-xz/QXzDecodeThread.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/lib/qt-tar-xz/QXzDecodeThread.cpp b/lib/qt-tar-xz/QXzDecodeThread.cpp new file mode 100644 index 0000000..5e7f755 --- /dev/null +++ b/lib/qt-tar-xz/QXzDecodeThread.cpp @@ -0,0 +1,48 @@ +/** \file QXzDecodeThread.cpp +\brief To have thread to decode the data +\author alpha_one_x86 +\licence GPL3, see the file COPYING */ + +#include "QXzDecodeThread.h" + +QXzDecodeThread::QXzDecodeThread() +{ + moveToThread(this); + DataToDecode=NULL; + error=false; +} + +QXzDecodeThread::~QXzDecodeThread() +{ + if(DataToDecode!=NULL) + delete DataToDecode; +} + +void QXzDecodeThread::setData(QByteArray data,quint64 maxSize) +{ + if(DataToDecode!=NULL) + delete DataToDecode; + DataToDecode=new QXzDecode(data,maxSize); +} + +bool QXzDecodeThread::errorFound() +{ + return error; +} + +QString QXzDecodeThread::errorString() +{ + return DataToDecode->errorString(); +} + +QByteArray QXzDecodeThread::decodedData() +{ + return DataToDecode->decodedData(); +} + +void QXzDecodeThread::run() +{ + error=!DataToDecode->decode(); + emit decodedIsFinish(); +} + |