summaryrefslogtreecommitdiffstats
path: root/unpacker.h
blob: f53cca4e183058971f83dd8b05ffad2852f3ce80 (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
/*
  This program is free software; you can redistribute it and/or
  modify it under the terms of the GNU General Public License
  as published by the Free Software Foundation; either version
  2 of the License, or (at your option) any later version.
*/

#ifndef UNPACKER_H
#define UNPACKER_H

#include <QThread>
#include <QStringList>
#include <QMutex>

class QProcess;

class Unpacker : public QThread {
        Q_OBJECT
    public:
        explicit Unpacker(QObject *parent = 0);
        void setCommands(const QList<QStringList> &cmds);

    signals:
        void unpackStarted(const QString &msg);
        void outputRead(const QByteArray &output);
        void unpackDone();

    protected:
        virtual void run();

    private:
        void doUnpack();
        QList<QStringList> mCommandQueue;
        QString mProgram;
        QMutex mCmdMx;
};

#endif // UNPACKER_H