blob: 6a9e37f2b0151995aba45ae0761c0ea18def492c (
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
|
#ifndef FILECOPIER_H
#define FILECOPIER_H
#include <QThread>
#include <QMutex>
#include <QHash>
class FileCopier : public QThread {
Q_OBJECT
public:
FileCopier(QObject *parent = 0);
void addJob(const QString &source, const QString &dest);
virtual void run();
void cancel();
signals:
void newFile(const QString &source, const QString & dest, qint64 size);
void success(bool s, QString source);
void bytesRead(qint64 bytes);
void bytesReadIntval(qint64 bytes, qint64 msecs, int total, int copied);
private:
QHash<QString, QString> mJobs;
QMutex mAddJobMutex;
QMutex mCancelMutex;
QMutex mCountMutex;
bool mCancel;
int mTotal;
int mCopied;
};
#endif // FILECOPIER_H
|