]> git.cworth.org Git - apitrace/blob - gui/traceprocess.h
Merge branch 'master' into d2d
[apitrace] / gui / traceprocess.h
1 #ifndef TRACEPROCESS_H
2 #define TRACEPROCESS_H
3
4 #include <QObject>
5 #include <QProcess>
6
7 class TraceProcess : public QObject
8 {
9     Q_OBJECT
10 public:
11     TraceProcess(QObject *parent=0);
12     ~TraceProcess();
13
14     bool canTrace() const;
15
16     void setExecutablePath(const QString &str);
17     QString executablePath() const;
18
19     void setArguments(const QStringList &args);
20     QStringList arguments() const;
21
22 public slots:
23     void start();
24
25 signals:
26     void tracedFile(const QString &tracePath);
27     void error(const QString &msg);
28
29 private slots:
30     void traceFinished();
31     void traceError(QProcess::ProcessError err);
32
33 private:
34     QString m_execPath;
35     QStringList m_args;
36     QString m_tracePath;
37     QProcess *m_process;
38
39     bool m_canTrace;
40 };
41
42 #endif