Jose Fonseca | 9653f95 | 2015-05-19 16:32:43 +0100 | [diff] [blame] | 1 | #pragma once |
Zack Rusin | ca16411 | 2011-04-11 02:23:09 -0400 | [diff] [blame] | 2 | |
| 3 | #include <QObject> |
| 4 | #include <QProcess> |
| 5 | |
| 6 | class TraceProcess : public QObject |
| 7 | { |
| 8 | Q_OBJECT |
| 9 | public: |
| 10 | TraceProcess(QObject *parent=0); |
| 11 | ~TraceProcess(); |
| 12 | |
| 13 | bool canTrace() const; |
| 14 | |
José Fonseca | 2cdc940 | 2012-02-28 17:12:24 +0000 | [diff] [blame] | 15 | void setApi(const QString &str); |
Piotr Podsiadły | e8ca180 | 2016-09-13 09:04:01 +0200 | [diff] [blame] | 16 | void setExecutablePathAndWorkingDir(const QString &execPath, const QString &workingDir); |
Zack Rusin | ca16411 | 2011-04-11 02:23:09 -0400 | [diff] [blame] | 17 | QString executablePath() const; |
Piotr Podsiadły | e8ca180 | 2016-09-13 09:04:01 +0200 | [diff] [blame] | 18 | QString workingDirectory() const; |
Zack Rusin | ca16411 | 2011-04-11 02:23:09 -0400 | [diff] [blame] | 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: |
José Fonseca | 2cdc940 | 2012-02-28 17:12:24 +0000 | [diff] [blame] | 35 | QString m_api; |
Zack Rusin | ca16411 | 2011-04-11 02:23:09 -0400 | [diff] [blame] | 36 | QString m_execPath; |
Piotr Podsiadły | e8ca180 | 2016-09-13 09:04:01 +0200 | [diff] [blame] | 37 | QString m_workingDir; |
Zack Rusin | ca16411 | 2011-04-11 02:23:09 -0400 | [diff] [blame] | 38 | QStringList m_args; |
| 39 | QString m_tracePath; |
| 40 | QProcess *m_process; |
| 41 | |
| 42 | bool m_canTrace; |
| 43 | }; |