]> git.cworth.org Git - apitrace/blob - gui/retracer.h
8a42be15ce0b108fde18c98b9e2a1b08a43e611f
[apitrace] / gui / retracer.h
1 #ifndef RETRACER_H
2 #define RETRACER_H
3
4 #include "trace_api.hpp"
5 #include "apitracecall.h"
6
7 #include <QThread>
8
9 class ApiTraceState;
10
11 class Retracer : public QThread
12 {
13     Q_OBJECT
14 public:
15     Retracer(QObject *parent=0);
16
17     QString fileName() const;
18     void setFileName(const QString &name);
19
20     void setAPI(trace::API api);
21
22     bool isBenchmarking() const;
23     void setBenchmarking(bool bench);
24
25     bool isDoubleBuffered() const;
26     void setDoubleBuffered(bool db);
27
28     void setCaptureAtCallNumber(qlonglong num);
29     qlonglong captureAtCallNumber() const;
30
31     bool captureState() const;
32     void setCaptureState(bool enable);
33
34     bool captureThumbnails() const;
35     void setCaptureThumbnails(bool enable);
36
37 signals:
38     void finished(const QString &output);
39     void foundState(ApiTraceState *state);
40     void foundThumbnails(const QList<QImage> &thumbnails);
41     void error(const QString &msg);
42     void retraceErrors(const QList<ApiTraceError> &errors);
43
44 protected:
45     virtual void run();
46
47 private:
48     QString m_fileName;
49     trace::API m_api;
50     bool m_benchmarking;
51     bool m_doubleBuffered;
52     bool m_captureState;
53     bool m_captureThumbnails;
54     qlonglong m_captureCall;
55
56     QProcessEnvironment m_processEnvironment;
57 };
58
59 #endif