aboutsummaryrefslogtreecommitdiff
path: root/src/mimeparser.hpp
blob: c39299fc94358410a642e17af6f7f7114e306d67 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef MIMEPARSER_HPP
#define MIMEPARSER_HPP

#include <QMap>
#include <QString>

struct MimeType
{
    QString type;
    QString subtype;
    QMap<QString, QString> parameters;

    bool is(QString const & type) const;
    bool is(QString const & type, QString const & sub_type) const;

    QString parameter(QString const & param_name, QString const & default_value = QString { }) const;

    bool isValid() const {
        return not type.isEmpty();
    }

    QString toString(bool full = true) const;
};

struct MimeParser
{
    MimeParser() = delete;



    static MimeType parse(QString const & mime_text);
};

#endif // MIMEPARSER_HPP