5#ifndef QMIMETYPEPARSER_P_H
6#define QMIMETYPEPARSER_P_H
19#include <QtCore/qtconfigmacros.h>
21QT_REQUIRE_CONFIG(mimetype);
52 bool parse(QIODevice *dev,
const QString &fileName, QString *errorMessage);
54 static bool parseNumber(QStringView n,
int *target, QString *errorMessage);
59 virtual void processParent(
const QString &child,
const QString &parent) = 0;
60 virtual void processAlias(
const QString &alias,
const QString &name) = 0;
77 ParseOtherMimeTypeSubTag,
81 static ParseState nextState(ParseState currentState, QStringView startElement);
98 inline void processParent(
const QString &child,
const QString &parent)
override
99 { m_provider.addParent(child, parent); }
101 inline void processAlias(
const QString &alias,
const QString &name)
override
102 { m_provider.addAlias(alias, name); }
108 QMimeXMLProvider &m_provider;
The QMimeGlobPattern class contains the glob pattern for file names for MIME type matching.
virtual void processMagicMatcher(const QMimeMagicRuleMatcher &matcher)=0
static bool parseNumber(QStringView n, int *target, QString *errorMessage)
bool parse(QIODevice *dev, const QString &fileName, QString *errorMessage)
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
bool process(const QMimeTypeXMLData &t, QString *) override
~QMimeTypeParser() override
void processAlias(const QString &alias, const QString &name) override
QMimeTypeParser(QMimeXMLProvider &provider)
void processParent(const QString &child, const QString &parent) override
bool process(const QMimeGlobPattern &glob, QString *) override
void processMagicMatcher(const QMimeMagicRuleMatcher &matcher) override
QMimeTypePrivate::LocaleHash localeComments
void addGlobPattern(const QString &pattern)
void addGlobPattern(const QMimeGlobPattern &glob)
void addMimeType(const QMimeTypeXMLData &mt)
void addMagicMatcher(const QMimeMagicRuleMatcher &matcher)
QT_REQUIRE_CONFIG(mimetype)
static QByteArray makePattern(const QByteArray &value)
static constexpr auto magicRuleTypes