diff options
Diffstat (limited to 'src/corelib/mimetypes/qmimetypeparser_p.h')
-rw-r--r-- | src/corelib/mimetypes/qmimetypeparser_p.h | 21 |
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 |