diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2016-03-11 15:18:20 +0200 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2016-03-15 11:52:49 +0000 |
commit | ba517fcfab19cf86af576845d305c9e4865c5672 (patch) | |
tree | 5910ecad2da1a7467b1fdff980e0eccc133ebda0 /src/plugins/projectexplorer/extracompiler.h | |
parent | 1c483b95a61e1abe40ed3d7e626ccdbd21e635de (diff) |
ExtraCompiler: Remove stored targets list
Itereate over the hash keys instead.
Change-Id: Ib14bef708b74ed1938bcb985b3a5091aca704391
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Diffstat (limited to 'src/plugins/projectexplorer/extracompiler.h')
-rw-r--r-- | src/plugins/projectexplorer/extracompiler.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/plugins/projectexplorer/extracompiler.h b/src/plugins/projectexplorer/extracompiler.h index 6f2ec8bc63..024c9b8758 100644 --- a/src/plugins/projectexplorer/extracompiler.h +++ b/src/plugins/projectexplorer/extracompiler.h @@ -35,14 +35,19 @@ #include <QByteArray> #include <QFuture> +#include <QHash> #include <QList> +#include <functional> + QT_FORWARD_DECLARE_CLASS(QProcess); QT_FORWARD_DECLARE_CLASS(QThreadPool); namespace ProjectExplorer { class ExtraCompilerPrivate; +using FileNameToContentsHash = QHash<Utils::FileName, QByteArray>; + class PROJECTEXPLORER_EXPORT ExtraCompiler : public QObject { Q_OBJECT @@ -61,6 +66,7 @@ public: QByteArray content(const Utils::FileName &file) const; Utils::FileNameList targets() const; + void forEachTarget(std::function<void(const Utils::FileName &)> func); void setCompileTime(const QDateTime &time); QDateTime compileTime() const; @@ -115,19 +121,19 @@ protected: virtual void handleProcessError(QProcess *process) { Q_UNUSED(process); } virtual void handleProcessStarted(QProcess *process, const QByteArray &sourceContents) { Q_UNUSED(process); Q_UNUSED(sourceContents); } - virtual QList<QByteArray> handleProcessFinished(QProcess *process) = 0; + virtual FileNameToContentsHash handleProcessFinished(QProcess *process) = 0; virtual QList<Task> parseIssues(const QByteArray &stdErr); private: using ContentProvider = std::function<QByteArray()>; void runImpl(const ContentProvider &sourceContents); - QList<QByteArray> runInThread(const Utils::FileName &cmd, const Utils::FileName &workDir, - const QStringList &args, const ContentProvider &provider, - const Utils::Environment &env); + FileNameToContentsHash runInThread(const Utils::FileName &cmd, const Utils::FileName &workDir, + const QStringList &args, const ContentProvider &provider, + const Utils::Environment &env); void cleanUp(); - QFutureWatcher<QList<QByteArray>> *m_watcher = nullptr; + QFutureWatcher<FileNameToContentsHash> *m_watcher = nullptr; }; class PROJECTEXPLORER_EXPORT ExtraCompilerFactory : public QObject |