File indexing completed on 2024-04-21 03:51:39

0001 /*
0002     SPDX-FileCopyrightText: 2015 Vishesh Handa <vhanda@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #ifndef BALOO_DOCUMENTDATADB_H
0008 #define BALOO_DOCUMENTDATADB_H
0009 
0010 #include "engine_export.h"
0011 #include <lmdb.h>
0012 #include <QByteArray>
0013 #include <QMap>
0014 
0015 namespace Baloo {
0016 
0017 class BALOO_ENGINE_EXPORT DocumentDataDB
0018 {
0019 public:
0020     explicit DocumentDataDB(MDB_dbi dbi, MDB_txn* txn);
0021     ~DocumentDataDB();
0022 
0023     static MDB_dbi create(MDB_txn* txn);
0024     static MDB_dbi open(MDB_txn* txn);
0025 
0026     void put(quint64 docId, const QByteArray& data);
0027     QByteArray get(quint64 docId);
0028 
0029     void del(quint64 docId);
0030     bool contains(quint64 docId);
0031 
0032     QMap<quint64, QByteArray> toTestMap() const;
0033 private:
0034     MDB_txn* m_txn;
0035     MDB_dbi m_dbi;
0036 };
0037 
0038 }
0039 
0040 #endif // BALOO_DOCUMENTDATADB_H