Baloo

idfilenamedb.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_IDFILENAMEDB_H
9 #define BALOO_IDFILENAMEDB_H
10 
11 #include "engine_export.h"
12 #include <lmdb.h>
13 #include <QByteArray>
14 #include <QMap>
15 
16 namespace Baloo {
17 
18 class BALOO_ENGINE_EXPORT IdFilenameDB
19 {
20 public:
21  IdFilenameDB(MDB_dbi dbi, MDB_txn* txn);
22  ~IdFilenameDB();
23 
24  static MDB_dbi create(MDB_txn* txn);
25  static MDB_dbi open(MDB_txn* txn);
26 
27  struct FilePath {
28  quint64 parentId = 0;
30 
31  bool operator == (const FilePath& fp) const {
32  return parentId == fp.parentId && name == fp.name;
33  }
34  };
35  void put(quint64 docId, const FilePath& path);
36  FilePath get(quint64 docId);
37  bool get(quint64 docId, FilePath& path);
38  bool contains(quint64 docId);
39  void del(quint64 docId);
40 
41  QMap<quint64, FilePath> toTestMap() const;
42 private:
43  MDB_txn* m_txn;
44  MDB_dbi m_dbi;
45 };
46 
47 }
48 
49 #endif // BALOO_IDFILENAMEDB_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()
const char * name(StandardAction id)
virtual bool put(ScriptableExtension *callerPrincipal, quint64 objId, const QString &propName, const QVariant &value)
virtual QVariant get(ScriptableExtension *callerPrincipal, quint64 objId, const QString &propName)
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.