diff options
Diffstat (limited to 'src/plugins/clangpchmanager/pchmanagerclient.cpp')
-rw-r--r-- | src/plugins/clangpchmanager/pchmanagerclient.cpp | 63 |
1 files changed, 5 insertions, 58 deletions
diff --git a/src/plugins/clangpchmanager/pchmanagerclient.cpp b/src/plugins/clangpchmanager/pchmanagerclient.cpp index c26b871f50..04d1d4a0bf 100644 --- a/src/plugins/clangpchmanager/pchmanagerclient.cpp +++ b/src/plugins/clangpchmanager/pchmanagerclient.cpp @@ -43,11 +43,8 @@ void PchManagerClient::alive() void PchManagerClient::precompiledHeadersUpdated(ClangBackEnd::PrecompiledHeadersUpdatedMessage &&message) { - for (ClangBackEnd::ProjectPartPch &projectPartPch : message.takeProjectPartPchs()) { - const QString pchPath{projectPartPch.pchPath}; - addProjectPartPch(std::move(projectPartPch)); - precompiledHeaderUpdated(projectPartPch.projectPartId, pchPath, projectPartPch.lastModified); - } + for (ClangBackEnd::ProjectPartId &projectPartId : message.takeProjectPartIds()) + precompiledHeaderUpdated(projectPartId); } void PchManagerClient::progress(ClangBackEnd::ProgressMessage &&message) @@ -66,10 +63,8 @@ void PchManagerClient::progress(ClangBackEnd::ProgressMessage &&message) void PchManagerClient::precompiledHeaderRemoved(ClangBackEnd::ProjectPartId projectPartId) { - for (auto notifier : m_notifiers) { - removeProjectPartPch(projectPartId); + for (auto notifier : m_notifiers) notifier->precompiledHeaderRemoved(projectPartId); - } } void PchManagerClient::setConnectionClient(PchManagerConnectionClient *connectionClient) @@ -77,22 +72,6 @@ void PchManagerClient::setConnectionClient(PchManagerConnectionClient *connectio m_connectionClient = connectionClient; } -Utils::optional<ClangBackEnd::ProjectPartPch> PchManagerClient::projectPartPch( - ClangBackEnd::ProjectPartId projectPartId) const -{ - auto found = std::lower_bound(m_projectPartPchs.cbegin(), - m_projectPartPchs.cend(), - projectPartId, - [] (const auto &projectPartPch, auto projectPartId) { - return projectPartId < projectPartPch.projectPartId; - }); - - if (found != m_projectPartPchs.end() && found->projectPartId == projectPartId) - return *found; - - return Utils::nullopt; -} - void PchManagerClient::attach(PchManagerNotifierInterface *notifier) { m_notifiers.push_back(notifier); @@ -109,47 +88,15 @@ void PchManagerClient::detach(PchManagerNotifierInterface *notifierToBeDeleted) m_notifiers.erase(newEnd, m_notifiers.end()); } -void PchManagerClient::removeProjectPartPch(ClangBackEnd::ProjectPartId projectPartId) -{ - auto found = std::lower_bound(m_projectPartPchs.begin(), - m_projectPartPchs.end(), - projectPartId, - [] (const auto &projectPartPch, auto projectPartId) { - return projectPartId < projectPartPch.projectPartId; - }); - - if (found != m_projectPartPchs.end() && found->projectPartId == projectPartId) { - *found = std::move(m_projectPartPchs.back()); - m_projectPartPchs.pop_back(); - } -} - -void PchManagerClient::addProjectPartPch(ClangBackEnd::ProjectPartPch &&projectPartPch) -{ - auto found = std::lower_bound(m_projectPartPchs.begin(), - m_projectPartPchs.end(), - projectPartPch.projectPartId, - [] (const auto &projectPartPch, auto projectPartId) { - return projectPartId < projectPartPch.projectPartId; - }); - - if (found != m_projectPartPchs.end() && found->projectPartId == projectPartPch.projectPartId) - *found = std::move(projectPartPch); - else - m_projectPartPchs.insert(found, std::move(projectPartPch)); -} - const std::vector<PchManagerNotifierInterface *> &PchManagerClient::notifiers() const { return m_notifiers; } -void PchManagerClient::precompiledHeaderUpdated(ClangBackEnd::ProjectPartId projectPartId, - const QString &pchFilePath, - long long lastModified) +void PchManagerClient::precompiledHeaderUpdated(ClangBackEnd::ProjectPartId projectPartId) { for (auto notifier : m_notifiers) - notifier->precompiledHeaderUpdated(projectPartId, pchFilePath, lastModified); + notifier->precompiledHeaderUpdated(projectPartId); } } // namespace ClangPchManager |