forked from qt-creator/qt-creator
ProjectInfoGenerator: Use QPromise for async calls
Change-Id: Ibf95090bee773cabcaed82a79687508e1f017059 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -10,30 +10,24 @@
|
||||
#include <projectexplorer/projectexplorerconstants.h>
|
||||
#include <projectexplorer/taskhub.h>
|
||||
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QPromise>
|
||||
#include <QTimer>
|
||||
|
||||
#include <set>
|
||||
|
||||
using namespace ProjectExplorer;
|
||||
using namespace Utils;
|
||||
|
||||
namespace CppEditor::Internal {
|
||||
|
||||
ProjectInfoGenerator::ProjectInfoGenerator(
|
||||
const QFutureInterface<ProjectInfo::ConstPtr> &futureInterface,
|
||||
const ProjectUpdateInfo &projectUpdateInfo)
|
||||
: m_futureInterface(futureInterface)
|
||||
, m_projectUpdateInfo(projectUpdateInfo)
|
||||
ProjectInfoGenerator::ProjectInfoGenerator(const ProjectUpdateInfo &projectUpdateInfo)
|
||||
: m_projectUpdateInfo(projectUpdateInfo)
|
||||
{
|
||||
}
|
||||
|
||||
ProjectInfo::ConstPtr ProjectInfoGenerator::generate()
|
||||
ProjectInfo::ConstPtr ProjectInfoGenerator::generate(const QPromise<ProjectInfo::ConstPtr> &promise)
|
||||
{
|
||||
QVector<ProjectPart::ConstPtr> projectParts;
|
||||
for (const RawProjectPart &rpp : m_projectUpdateInfo.rawProjectParts) {
|
||||
if (m_futureInterface.isCanceled())
|
||||
if (promise.isCanceled())
|
||||
return {};
|
||||
for (const ProjectPart::ConstPtr &part : createProjectParts(
|
||||
rpp, m_projectUpdateInfo.projectFilePath)) {
|
||||
|
||||
Reference in New Issue
Block a user