File indexing completed on 2024-05-12 05:11:15

0001 /*
0002  * SPDX-FileCopyrightText: 2014 Christian Mollekopf <mollekopf@kolabsys.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  *
0006  */
0007 
0008 #pragma once
0009 
0010 #include <Akonadi/Collection>
0011 
0012 #include <QObject>
0013 #include <QString>
0014 
0015 namespace Xapian
0016 {
0017 class WritableDatabase;
0018 }
0019 
0020 class CollectionIndexer : public QObject
0021 {
0022     Q_OBJECT
0023 public:
0024     explicit CollectionIndexer(const QString &path);
0025     ~CollectionIndexer() override;
0026 
0027     void index(const Akonadi::Collection &collection);
0028     void change(const Akonadi::Collection &collection);
0029     void remove(const Akonadi::Collection &col);
0030     void move(const Akonadi::Collection &collection, const Akonadi::Collection &from, const Akonadi::Collection &to);
0031     void commit();
0032 
0033 private:
0034     Xapian::WritableDatabase *m_db;
0035 };