diff options
Diffstat (limited to 'src/tools/clangpchmanagerbackend/source/projectpartsmanager.h')
-rw-r--r-- | src/tools/clangpchmanagerbackend/source/projectpartsmanager.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/tools/clangpchmanagerbackend/source/projectpartsmanager.h b/src/tools/clangpchmanagerbackend/source/projectpartsmanager.h index 2b3c43ebc8..6583db25c6 100644 --- a/src/tools/clangpchmanagerbackend/source/projectpartsmanager.h +++ b/src/tools/clangpchmanagerbackend/source/projectpartsmanager.h @@ -28,6 +28,7 @@ #include "clangpchmanagerbackend_global.h" #include <projectpartsmanagerinterface.h> +#include <projectpartsstorageinterface.h> #include <utils/smallstringvector.h> @@ -37,18 +38,24 @@ inline namespace Pch { class ProjectPartsManager final : public ProjectPartsManagerInterface { public: + ProjectPartsManager(ProjectPartsStorageInterface &projectPartsStorage) + : m_projectPartsStorage(projectPartsStorage) + {} + ProjectPartContainers update(ProjectPartContainers &&projectsParts) override; - void remove(const Utils::SmallStringVector &projectPartIds) override; - ProjectPartContainers projects(const Utils::SmallStringVector &projectPartIds) const override; + void remove(const ProjectPartIds &projectPartIds) override; + ProjectPartContainers projects(const ProjectPartIds &projectPartIds) const override; void updateDeferred(const ProjectPartContainers &projectsParts) override; ProjectPartContainers deferredUpdates() override; - ProjectPartContainers newProjectParts(ProjectPartContainers &&projectsParts) const; + static ProjectPartContainers filterNewProjectParts(ProjectPartContainers &&newProjectsParts, + const ProjectPartContainers &oldProjectParts); void mergeProjectParts(const ProjectPartContainers &projectsParts); const ProjectPartContainers &projectParts() const; private: ProjectPartContainers m_projectParts; + ProjectPartsStorageInterface &m_projectPartsStorage; }; } // namespace Pch |