Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qhelpdbreader_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:header-decls-only
4
5#ifndef QHELPDBREADER_H
6#define QHELPDBREADER_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists for the convenience
13// of the help generator tools. This header file may change from version
14// to version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtCore/qbytearray.h>
20#include <QtCore/qobject.h>
21#include <QtCore/qstringlist.h>
22
23#include <functional>
24
25QT_BEGIN_NAMESPACE
26
27class QSqlQuery;
28class QVersionNumber;
29
30class QHelpDBReader : public QObject
31{
33
34public:
44
52
59
61 {
62 public:
63 // Set when the tables were read, so that missing tables aren't mistaken for empty ones.
64 bool valid = false;
69 };
70
71 QHelpDBReader(const QString &dbName);
72 QHelpDBReader(const QString &dbName, const QString &uniqueId, QObject *parent);
74
75 bool init();
76
77 QString namespaceName() const;
78 QString virtualFolder() const;
79 QString version() const;
80 IndexTable indexTable() const;
82 // Calls the handler for each matching file, decompressing one file at a time.
83 // Stops when the handler returns false. The handler must not use this reader.
84 void filesData(const QStringList &filterAttributes, const QStringList &extensionFilters,
85 const std::function<bool(const QString &fileName,
86 const QByteArray &data)> &handler) const;
87 QByteArray fileData(const QString &virtualFolder, const QString &filePath) const;
88
90 QStringList filterAttributes(const QString &filterName = {}) const;
91
92 QVariant metaData(const QString &name) const;
93
94 static QVersionNumber versionHeuristic(const QString &namespaceName);
95
96private:
97 QString quote(const QString &string) const;
98 bool initDB();
99 QString qtVersionHeuristic() const;
100
101 bool m_initDone = false;
102 QString m_dbName;
103 QString m_uniqueId;
104 QString m_error;
105 std::unique_ptr<QSqlQuery> m_query;
106 mutable QString m_namespace;
107};
108
109QT_END_NAMESPACE
110
111#endif // QHELPDBREADER_H
QCompressedHelpInfoPrivate(const QCompressedHelpInfoPrivate &other)
QCompressedHelpInfoPrivate()=default
QList< ContentsItem > contentsItems
QList< FileItem > fileItems
QList< IndexItem > indexItems
QString namespaceName() const
IndexTable indexTable() const
QString virtualFolder() const
QByteArray fileData(const QString &virtualFolder, const QString &filePath) const
static QVersionNumber versionHeuristic(const QString &namespaceName)
QHelpDBReader(const QString &dbName, const QString &uniqueId, QObject *parent)
void filesData(const QStringList &filterAttributes, const QStringList &extensionFilters, const std::function< bool(const QString &fileName, const QByteArray &data)> &handler) const
QVariant metaData(const QString &name) const
QStringList filterAttributes(const QString &filterName={}) const
QString version() const
QList< QStringList > filterAttributeSets() const
QStringList customFilters() const
QHelpDBReader(const QString &dbName)
\inmodule QtCore
Combined button and popup list for selecting options.