summaryrefslogtreecommitdiffstats
path: root/src/corelib/mimetypes/qmimetypeparser_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/mimetypes/qmimetypeparser_p.h')
-rw-r--r--src/corelib/mimetypes/qmimetypeparser_p.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/corelib/mimetypes/qmimetypeparser_p.h b/src/corelib/mimetypes/qmimetypeparser_p.h
index c9698e149f..d4266ffcc0 100644
--- a/src/corelib/mimetypes/qmimetypeparser_p.h
+++ b/src/corelib/mimetypes/qmimetypeparser_p.h
@@ -16,7 +16,7 @@
// We mean it.
//
-#include "qmimedatabase_p.h"
+#include <QtCore/qtconfigmacros.h>
QT_REQUIRE_CONFIG(mimetype);
@@ -24,6 +24,21 @@ QT_REQUIRE_CONFIG(mimetype);
QT_BEGIN_NAMESPACE
+class QMimeTypeXMLData
+{
+public:
+ void clear();
+
+ void addGlobPattern(const QString &pattern);
+
+ bool hasGlobDeleteAll = false; // true if the mimetype has a glob-deleteall tag
+ QString name;
+ QMimeTypePrivate::LocaleHash localeComments;
+ QString genericIconName; // TODO move to a struct that's specific to the XML provider
+ QString iconName; // TODO move to a struct that's specific to the XML provider
+ QStringList globPatterns;
+};
+
class QIODevice;
class QMimeTypeParserBase
@@ -39,7 +54,7 @@ public:
static bool parseNumber(QStringView n, int *target, QString *errorMessage);
protected:
- virtual bool process(const QMimeType &t, QString *errorMessage) = 0;
+ virtual bool process(const QMimeTypeXMLData &t, QString *errorMessage) = 0;
virtual bool process(const QMimeGlobPattern &t, QString *errorMessage) = 0;
virtual void processParent(const QString &child, const QString &parent) = 0;
virtual void processAlias(const QString &alias, const QString &name) = 0;
@@ -73,7 +88,7 @@ public:
explicit QMimeTypeParser(QMimeXMLProvider &provider) : m_provider(provider) {}
protected:
- inline bool process(const QMimeType &t, QString *) override
+ inline bool process(const QMimeTypeXMLData &t, QString *) override
{ m_provider.addMimeType(t); return true; }
inline bool process(const QMimeGlobPattern &glob, QString *) override