MythTV master
mythmimetype.h
Go to the documentation of this file.
1#ifndef MYTHMIMETYPE_H
2#define MYTHMIMETYPE_H
3
4// Qt
5#include <QMimeType>
6#include <QStringList>
7
8// Std
9#include <variant>
10#include <vector>
11
12class MythMimeType;
13using MythMimeTypes = std::vector<MythMimeType>;
14using MimeMagic = std::variant<std::monostate,QByteArray,QString>;
15
17{
18 friend class MythMimeDatabase;
20
21 public:
22 MythMimeType() = default;
23 bool operator==(const MythMimeType& Other) const;
24
25 bool IsValid() const;
26 QString Name() const;
27 QString Suffix() const;
28 QStringList Aliases() const;
29 bool Inherits(const QString& Name) const;
30 void SetAlias(const QString& Name);
31
32 protected:
33 MythMimeType(const QMimeType& MimeType);
34 MythMimeType(QString Name, QString Suffix,
35 MimeMagic Magic, uint Weight, QStringList Inherits);
36
37 bool m_valid { false };
38 QString m_name;
39 QString m_alias;
40 QString m_suffix;
41 MimeMagic m_magic { std::monostate() };
43 QStringList m_inherits;
44 bool m_qtType { false };
45 QMimeType m_mime;
46};
47
48#endif
A private, internal class that holds custom mime types.
A wrapper around QMimeDatabase that supports additional mime types.
QString Name() const
QMimeType m_mime
Definition: mythmimetype.h:45
bool operator==(const MythMimeType &Other) const
QString m_alias
Definition: mythmimetype.h:39
QString Suffix() const
Return the preferred filename suffix used by this type.
QStringList m_inherits
Definition: mythmimetype.h:43
bool IsValid() const
QStringList Aliases() const
QString m_name
Definition: mythmimetype.h:38
bool Inherits(const QString &Name) const
Does this type inherit from the given type.
MythMimeType()=default
QString m_suffix
Definition: mythmimetype.h:40
MimeMagic m_magic
Definition: mythmimetype.h:41
void SetAlias(const QString &Name)
unsigned int uint
Definition: freesurround.h:24
std::variant< std::monostate, QByteArray, QString > MimeMagic
Definition: mythmimetype.h:14
std::vector< MythMimeType > MythMimeTypes
Definition: mythmimetype.h:13