Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-10 09:21:08

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // Copyright (C) 2015 Klaralvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author David Faure <david.faure@kdab.com>
0003 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0004 // Qt-Security score:significant reason:default
0005 
0006 #ifndef QMIMEDATABASE_H
0007 #define QMIMEDATABASE_H
0008 
0009 #include <QtCore/qmimetype.h>
0010 
0011 QT_REQUIRE_CONFIG(mimetype);
0012 
0013 #include <QtCore/qstringlist.h>
0014 
0015 QT_BEGIN_NAMESPACE
0016 
0017 class QByteArray;
0018 class QFileInfo;
0019 class QIODevice;
0020 class QUrl;
0021 
0022 class QMimeDatabasePrivate;
0023 class Q_CORE_EXPORT QMimeDatabase
0024 {
0025     Q_DISABLE_COPY(QMimeDatabase)
0026 
0027 public:
0028     QMimeDatabase();
0029     ~QMimeDatabase();
0030 
0031     QMimeType mimeTypeForName(const QString &nameOrAlias) const;
0032 
0033     enum MatchMode {
0034         MatchDefault = 0x0,
0035         MatchExtension = 0x1,
0036         MatchContent = 0x2
0037     };
0038 
0039     QMimeType mimeTypeForFile(const QString &fileName, MatchMode mode = MatchDefault) const;
0040     QMimeType mimeTypeForFile(const QFileInfo &fileInfo, MatchMode mode = MatchDefault) const;
0041     QList<QMimeType> mimeTypesForFileName(const QString &fileName) const;
0042 
0043     QMimeType mimeTypeForData(const QByteArray &data) const;
0044     QMimeType mimeTypeForData(QIODevice *device) const;
0045 
0046     QMimeType mimeTypeForUrl(const QUrl &url) const;
0047     QMimeType mimeTypeForFileNameAndData(const QString &fileName, QIODevice *device) const;
0048     QMimeType mimeTypeForFileNameAndData(const QString &fileName, const QByteArray &data) const;
0049 
0050     QString suffixForFileName(const QString &fileName) const;
0051 
0052     QList<QMimeType> allMimeTypes() const;
0053 
0054 private:
0055     QMimeDatabasePrivate *d;
0056 };
0057 
0058 QT_END_NAMESPACE
0059 
0060 #endif // QMIMEDATABASE_H