kDB: Knowledge DataBase
Loading...
Searching...
No Matches
Manager.h
1#include <QObject>
2
3#include "Forward.h"
4#include <knowCore/Global.h>
5
6namespace kDBBaseKnowledge
7{
8 class Manager : public QObject
9 {
10 public:
12 ~Manager();
16 cres_qresult<void> addDirectory(const QString& _directory);
20 cres_qresult<void> addFile(const QString& _file);
25 static void addDirectoryToAll(const QString& _directory);
30 static void addFileToAll(const QString& _file);
31 static void registerFileLoader(Interfaces::FileLoader* _fileLoader);
32 static void ignoreMimeType(const QString& _mime);
33 template<typename... _TArgs_>
34 static void ignoreMimeTypes(const QString& _mime, const _TArgs_&... _args);
35 private:
36 static void ignoreMimeTypes();
37 struct Private;
38 Private* const d;
39 };
40
41 template<typename... _TArgs_>
42 inline void Manager::ignoreMimeTypes(const QString& _mime, const _TArgs_&... _args)
43 {
44 ignoreMimeType(_mime);
45 ignoreMimeTypes(_args...);
46 }
47 inline void Manager::ignoreMimeTypes() {}
48
49} // namespace kDBBaseKnowledge
50
51#define __KDB_REGISTER_BASE_KNOWLEDGE_FILE_LOADER(_NAME_, _KLASS_) \
52 namespace \
53 { \
54 class _NAME_ \
55 { \
56 _NAME_() { kDBBaseKnowledge::Manager::registerFileLoader(new _KLASS_); } \
57 static _NAME_ instance; \
58 }; \
59 _NAME_ _NAME_::instance; \
60 }
61
62#define KDB_REGISTER_BASE_KNOWLEDGE_FILE_LOADER(_KLASS_) \
63 __KDB_REGISTER_BASE_KNOWLEDGE_FILE_LOADER(__KNOWCORE_UNIQUE_STATIC_NAME(FileLoaderRegister), \
64 _KLASS_)
65
66#define __KDB_REGISTER_BASE_KNOWLEDGE_IGNORE_MIME_TYPE(_NAME_, ...) \
67 namespace \
68 { \
69 class _NAME_ \
70 { \
71 _NAME_() { kDBBaseKnowledge::Manager::ignoreMimeTypes(__VA_ARGS__); } \
72 static _NAME_ instance; \
73 }; \
74 _NAME_ _NAME_::instance; \
75 }
76
77#define KDB_REGISTER_BASE_KNOWLEDGE_IGNORE_MIME_TYPE(...) \
78 __KDB_REGISTER_BASE_KNOWLEDGE_IGNORE_MIME_TYPE( \
79 __KNOWCORE_UNIQUE_STATIC_NAME(IgnoreMimetypeRegster), __VA_ARGS__)
Definition Manager.h:9
static void addFileToAll(const QString &_file)
cres_qresult< void > addFile(const QString &_file)
static void addDirectoryToAll(const QString &_directory)
cres_qresult< void > addDirectory(const QString &_directory)
Definition WeakReference.h:18