aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangrefactoring/refactoringprojectupdater.h
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2018-09-06 11:57:36 +0200
committerMarco Bubke <marco.bubke@qt.io>2018-09-12 14:32:34 +0000
commite0b7a283332095fea03a5bed310b632e72f7d486 (patch)
tree39298c1fb984c0492da6118bb428385a88e18f75 /src/plugins/clangrefactoring/refactoringprojectupdater.h
parent415fc654cce0228d8e3800ddc1ebe3517c3ff119 (diff)
Clang: Add refactoring project updater
The project parts are now first used by the pch manager and then notified by the pch manager to the refactoring plugin. Change-Id: I88074d8891cd0de9721497bbafee0deffc0b6339 Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/plugins/clangrefactoring/refactoringprojectupdater.h')
-rw-r--r--src/plugins/clangrefactoring/refactoringprojectupdater.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/plugins/clangrefactoring/refactoringprojectupdater.h b/src/plugins/clangrefactoring/refactoringprojectupdater.h
index f8b771187e..8e2652cf23 100644
--- a/src/plugins/clangrefactoring/refactoringprojectupdater.h
+++ b/src/plugins/clangrefactoring/refactoringprojectupdater.h
@@ -26,17 +26,34 @@
#pragma once
#include <clangpchmanager/projectupdater.h>
+#include <clangpchmanager/pchmanagernotifierinterface.h>
-namespace ClangRefactoring {
+#include <cpptools/cppmodelmanagerinterface.h>
-class RefactoringClient;
+namespace ClangRefactoring {
-class RefactoringProjectUpdater : public ClangPchManager::ProjectUpdater
+class RefactoringProjectUpdater : public ClangPchManager::ProjectUpdater,
+ public ClangPchManager::PchManagerNotifierInterface
{
public:
RefactoringProjectUpdater(ClangBackEnd::ProjectManagementServerInterface &server,
- RefactoringClient &client,
- ClangBackEnd::FilePathCachingInterface &filePathCache);
+ ClangPchManager::PchManagerClient &pchManagerClient,
+ CppTools::CppModelManagerInterface &cppModelManager,
+ ClangBackEnd::FilePathCachingInterface &filePathCache)
+ : ClangPchManager::ProjectUpdater(server, filePathCache),
+ ClangPchManager::PchManagerNotifierInterface(pchManagerClient),
+ m_cppModelManager(cppModelManager)
+ {
+
+ }
+
+ void precompiledHeaderUpdated(const QString &projectPartId,
+ const QString &pchFilePath,
+ long long lastModified) override;
+ void precompiledHeaderRemoved(const QString &projectPartId) override;
+
+private:
+ CppTools::CppModelManagerInterface &m_cppModelManager;
};
} // namespace ClangRefactoring