summaryrefslogtreecommitdiffstats
path: root/filecopier.h
blob: 12aa3ac2f295e7e8d3d269b9ae60d0d9a3e22098 (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
#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 message(const QString &msg);

    private:
        QHash<QString, QString> mJobs;
        QMutex mAddJobMutex;
        QMutex mCancelMutex;
        QMutex mCountMutex;
        bool mCancel;
        int mTotal;
        int mCopied;
};

#endif // FILECOPIER_H