2
* This file is part of the KDE Baloo Project
3
* Copyright (C) 2013 Vishesh Handa <me@vhanda.in>
5
* This library is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU Lesser General Public
7
* License as published by the Free Software Foundation; either
8
* version 2.1 of the License, or (at your option) version 3, or any
9
* later version accepted by the membership of KDE e.V. (or its
10
* successor approved by the membership of KDE e.V.), which shall
11
* act as a proxy defined in Section 6 of version 3 of the license.
13
* This library is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
23
#include "queryrunnable.h"
26
using namespace Baloo;
28
class QueryRunnable::Private {
33
bool stopRequested() const {
39
QueryRunnable::QueryRunnable(const Query& query, QObject* parent)
46
qRegisterMetaType<Baloo::Result>("Baloo::Result");
49
QueryRunnable::~QueryRunnable()
54
void QueryRunnable::stop()
56
d->m_stop.store(true);
59
void QueryRunnable::run()
61
ResultIterator it = d->m_query.exec();
62
while (!d->stopRequested() && it.next()) {
63
Q_EMIT queryResult(this, it.result());
66
Q_EMIT finished(this);