File indexing completed on 2024-04-28 15:17:40

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 namespace Baloo {
0016 
0017 class ResultList;
0018 class ResultIteratorPrivate;
0019 
0020 /**
0021  * @class ResultIterator resultiterator.h <Baloo/ResultIterator>
0022  */
0023 class BALOO_CORE_EXPORT ResultIterator
0024 {
0025 public:
0026     ResultIterator(ResultIterator &&rhs);
0027     ~ResultIterator();
0028 
0029 #if BALOO_CORE_BUILD_DEPRECATED_SINCE(5, 55)
0030     /**
0031      * @deprecated Since 5.55. Do not use this function, ResultIterator is not copyable, move it if needed
0032      */
0033     BALOO_CORE_DEPRECATED_VERSION(5, 55, "Do not use. ResultIterator is not copyable, move it if needed.")
0034     ResultIterator(const ResultIterator& rhs);
0035 #else
0036     ResultIterator(const ResultIterator& rhs) = delete;
0037 #endif
0038     ResultIterator &operator=(const ResultIterator& rhs) = delete;
0039 
0040     bool next();
0041     QString filePath() const;
0042     QByteArray documentId() const;
0043 
0044 private:
0045     BALOO_CORE_NO_EXPORT explicit ResultIterator(ResultList&& res);
0046     ResultIteratorPrivate* d;
0047 
0048     friend class Query;
0049 };
0050 
0051 }
0052 #endif // BALOO_CORE_RESULT_ITERATOR_H