Baloo

documentiddb.h
1 /*
2  This file is part of the KDE Baloo project.
3  SPDX-FileCopyrightText: 2015 Vishesh Handa <[email protected]>
4 
5  SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7 
8 #ifndef BALOO_DOCUMENTIDDB_H
9 #define BALOO_DOCUMENTIDDB_H
10 
11 #include "engine_export.h"
12 #include <QVector>
13 #include <lmdb.h>
14 
15 /**
16  * Implements storage for docIds without any associated data
17  * Instantiated for:
18  * - content indexing (files to be reindexed)
19  * - failed ids (files no indexable, e.g. due to crashing indexers)
20  */
21 namespace Baloo {
22 
23 class BALOO_ENGINE_EXPORT DocumentIdDB
24 {
25 public:
26  DocumentIdDB(MDB_dbi dbi, MDB_txn* txn);
27  ~DocumentIdDB();
28 
29  static MDB_dbi create(const char* name, MDB_txn* txn);
30  static MDB_dbi open(const char* name, MDB_txn* txn);
31 
32  void put(quint64 docId);
33  bool contains(quint64 docId);
34  void del(quint64 docID);
35 
36  QVector<quint64> fetchItems(int size);
37  uint size();
38 
39  QVector<quint64> toTestVector() const;
40 private:
41  MDB_txn* m_txn;
42  MDB_dbi m_dbi;
43 };
44 
45 }
46 
47 #endif // BALOO_DOCUMENTIDDB_H
QAction * open(const QObject *recvr, const char *slot, QObject *parent)
QAction * create(StandardAction id, const QObject *recvr, const char *slot, QObject *parent)
Implements storage for docIds without any associated data Instantiated for:
Definition: coding.cpp:11
KGuiItem del()
virtual bool put(ScriptableExtension *callerPrincipal, quint64 objId, const QString &propName, const QVariant &value)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Nov 29 2023 03:56:26 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.