X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fretracer.h;h=915b97fe0252cf86d01d74ee7a02df775eba2a16;hb=7257dfcc57b3a1af576a8a2ca69992ae8d77dea4;hp=37502e45b79e5d580396c2eb34db1bb4df592ac5;hpb=3acde366b677d3d68e85116f795c7a569ee3d18a;p=apitrace diff --git a/gui/retracer.h b/gui/retracer.h index 37502e4..915b97f 100644 --- a/gui/retracer.h +++ b/gui/retracer.h @@ -1,10 +1,17 @@ #ifndef RETRACER_H #define RETRACER_H -#include +#include "trace_api.hpp" +#include "apitracecall.h" + +#include #include -class Retracer : public QObject +class ApiTraceState; + +namespace trace { struct Profile; } + +class Retracer : public QThread { Q_OBJECT public: @@ -13,37 +20,55 @@ public: QString fileName() const; void setFileName(const QString &name); + QString remoteTarget() const; + void setRemoteTarget(const QString &host); + + void setAPI(trace::API api); + bool isBenchmarking() const; void setBenchmarking(bool bench); bool isDoubleBuffered() const; void setDoubleBuffered(bool db); + bool isProfilingGpu() const; + bool isProfilingCpu() const; + bool isProfilingPixels() const; + bool isProfiling() const; + void setProfiling(bool gpu, bool cpu, bool pixels); + void setCaptureAtCallNumber(qlonglong num); qlonglong captureAtCallNumber() const; bool captureState() const; void setCaptureState(bool enable); -public slots: - void start(); - void terminate(); + bool captureThumbnails() const; + void setCaptureThumbnails(bool enable); signals: - void finished(const QByteArray &output); + void finished(const QString &output); + void foundState(ApiTraceState *state); + void foundProfile(trace::Profile *profile); + void foundThumbnails(const QList &thumbnails); void error(const QString &msg); + void retraceErrors(const QList &errors); + +protected: + virtual void run(); -private slots: - void replayFinished(); - void replayError(QProcess::ProcessError err); private: QString m_fileName; + QString m_remoteTarget; + trace::API m_api; bool m_benchmarking; bool m_doubleBuffered; bool m_captureState; + bool m_captureThumbnails; qlonglong m_captureCall; - - QProcess *m_process; + bool m_profileGpu; + bool m_profileCpu; + bool m_profilePixels; }; #endif