Warning, file /pim/akonadi-search/xapian/xapiantermgenerator.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002  * SPDX-FileCopyrightText: 2014 Vishesh Handa <me@vhanda.in>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-or-later
0005  *
0006  */
0007 
0008 #pragma once
0009 
0010 #include <xapian.h>
0011 
0012 #include "search_xapian_export.h"
0013 #include <QString>
0014 
0015 namespace Akonadi
0016 {
0017 namespace Search
0018 {
0019 /** Xapian term generator. */
0020 class AKONADI_SEARCH_XAPIAN_EXPORT XapianTermGenerator
0021 {
0022 public:
0023     explicit XapianTermGenerator(Xapian::Document *doc);
0024 
0025     void indexText(const QString &text);
0026     void indexText(const QString &text, const QString &prefix, int wdfInc = 1);
0027 
0028     void setPosition(int position);
0029     [[nodiscard]] int position() const;
0030 
0031     void setDocument(Xapian::Document *doc);
0032 
0033     static QStringList termList(const QString &text);
0034 
0035 private:
0036     Xapian::Document *m_doc = nullptr;
0037     Xapian::TermGenerator m_termGen;
0038 
0039     int m_position = 1;
0040 };
0041 }
0042 }