File indexing completed on 2024-05-12 05:29:05
0001 /* 0002 * SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez <aleixpol@blue-systems.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #include "StoredResultsStream.h" 0008 0009 StoredResultsStream::StoredResultsStream(const QSet<ResultsStream *> &streams) 0010 : AggregatedResultsStream(streams) 0011 { 0012 connect(this, &ResultsStream::resourcesFound, this, [this](const QVector<StreamResult> &resources) { 0013 for (auto r : resources) 0014 connect(r.resource, &QObject::destroyed, this, [this, r]() { 0015 for (auto it = m_results.begin(); it != m_results.end(); ++it) { 0016 if (r.resource == it->resource) 0017 it = m_results.erase(it); 0018 else 0019 ++it; 0020 } 0021 }); 0022 m_results += resources; 0023 }); 0024 0025 connect(this, &AggregatedResultsStream::finished, this, [this]() { 0026 Q_EMIT finishedResources(m_results); 0027 }); 0028 } 0029 0030 QVector<StreamResult> StoredResultsStream::resources() const 0031 { 0032 return m_results; 0033 }