]> git.cworth.org Git - apitrace/blob - gui/traceprocess.h
Use skiplist-based FastCallSet within trace::CallSet
[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 setApi(const QString &str);
17     void setExecutablePath(const QString &str);
18     QString executablePath() const;
19
20     void setArguments(const QStringList &args);
21     QStringList arguments() const;
22
23 public slots:
24     void start();
25
26 signals:
27     void tracedFile(const QString &tracePath);
28     void error(const QString &msg);
29
30 private slots:
31     void traceFinished();
32     void traceError(QProcess::ProcessError err);
33
34 private:
35     QString m_api;
36     QString m_execPath;
37     QStringList m_args;
38     QString m_tracePath;
39     QProcess *m_process;
40
41     bool m_canTrace;
42 };
43
44 #endif