summaryrefslogtreecommitdiff
path: root/lib/qt-tar-xz/QXzDecodeThread.cpp
blob: 5e7f755990512449f7e689ae6a9b8253df1c0238 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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();
}