diff options
Diffstat (limited to 'src/plugins/cpptools/cppprojectupdater.h')
-rw-r--r-- | src/plugins/cpptools/cppprojectupdater.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppprojectupdater.h b/src/plugins/cpptools/cppprojectupdater.h index 6b994871ef..c356ab63d1 100644 --- a/src/plugins/cpptools/cppprojectupdater.h +++ b/src/plugins/cpptools/cppprojectupdater.h @@ -29,6 +29,7 @@ #include "cpptools_global.h" #include "projectinfo.h" +#include <projectexplorer/extracompiler.h> #include <utils/futuresynchronizer.h> #include <QFutureWatcher> @@ -54,18 +55,26 @@ class CPPTOOLS_EXPORT CppProjectUpdater final : public QObject, public CppProjec public: CppProjectUpdater(); + ~CppProjectUpdater() override; void update(const ProjectExplorer::ProjectUpdateInfo &projectUpdateInfo) override; + void update(const ProjectExplorer::ProjectUpdateInfo &projectUpdateInfo, + const QList<ProjectExplorer::ExtraCompiler *> &extraCompilers); void cancel() override; private: void onToolChainRemoved(ProjectExplorer::ToolChain *); void onProjectInfoGenerated(); + void checkForExtraCompilersFinished(); private: ProjectExplorer::ProjectUpdateInfo m_projectUpdateInfo; + QList<QPointer<ProjectExplorer::ExtraCompiler>> m_extraCompilers; QFutureWatcher<ProjectInfo> m_generateFutureWatcher; + bool m_isProjectInfoGenerated = false; + QSet<QFutureWatcher<void> *> m_extraCompilersFutureWatchers; + std::unique_ptr<QFutureInterface<void>> m_projectUpdateFutureInterface; Utils::FutureSynchronizer m_futureSynchronizer; }; |