File indexing completed on 2024-04-21 03:51:48

0001 /*
0002     This file is part of the KDE Baloo Project
0003     SPDX-FileCopyrightText: 2013 Vishesh Handa <me@vhanda.in>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006 */
0007 
0008 #ifndef BALOO_CORE_RESULT_ITERATOR_H
0009 #define BALOO_CORE_RESULT_ITERATOR_H
0010 
0011 #include "core_export.h"
0012 
0013 #include <QString>
0014 
0015 #include <memory>
0016 
0017 namespace Baloo {
0018 
0019 class ResultList;
0020 class ResultIteratorPrivate;
0021 
0022 /**
0023  * @class ResultIterator resultiterator.h <Baloo/ResultIterator>
0024  */
0025 class BALOO_CORE_EXPORT ResultIterator
0026 {
0027 public:
0028     ResultIterator(ResultIterator &&rhs);
0029     ~ResultIterator();
0030 
0031     ResultIterator(const ResultIterator& rhs) = delete;
0032     ResultIterator &operator=(const ResultIterator& rhs) = delete;
0033 
0034     bool next();
0035     QString filePath() const;
0036     QByteArray documentId() const;
0037 
0038 private:
0039     BALOO_CORE_NO_EXPORT explicit ResultIterator(ResultList&& res);
0040     std::unique_ptr<ResultIteratorPrivate> d;
0041 
0042     friend class Query;
0043 };
0044 
0045 }
0046 #endif // BALOO_CORE_RESULT_ITERATOR_H