1/*
2 This file is part of the KDE Baloo project.
3 SPDX-FileCopyrightText: 2015 Vishesh Handa <vhanda@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.1-or-later
6*/
7
8#ifndef BALOO_POSITIONDB_H
9#define BALOO_POSITIONDB_H
10
11#include "engine_export.h"
12
13#include <QByteArray>
14#include <QMap>
15#include <QVector>
16#include <lmdb.h>
17
18namespace Baloo {
19
20class PositionInfo;
21class VectorPositionInfoIterator;
22
23class BALOO_ENGINE_EXPORT PositionDB
24{
25public:
26 explicit PositionDB(MDB_dbi dbi, MDB_txn* txn);
27 ~PositionDB();
28
29 static MDB_dbi create(MDB_txn* txn);
30 static MDB_dbi open(MDB_txn* txn);
31
32 void put(const QByteArray& term, const QVector<PositionInfo>& list);
33 QVector<PositionInfo> get(const QByteArray& term);
34 void del(const QByteArray& term);
35
36 VectorPositionInfoIterator* iter(const QByteArray& term);
37
38 QMap<QByteArray, QVector<PositionInfo>> toTestMap() const;
39private:
40 MDB_txn* m_txn;
41 MDB_dbi m_dbi;
42};
43
44}
45
46#endif // BALOO_POSITIONDB_H
47

source code of baloo/src/engine/positiondb.h