kodi
Mime.h
1 /*
2  * Copyright (C) 2012-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include <map>
12 #include <string>
13 
14 class CURL;
15 
16 class CFileItem;
17 
18 class CMime
19 {
20 public:
21  static std::string GetMimeType(const std::string &extension);
22  static std::string GetMimeType(const CFileItem &item);
23  static std::string GetMimeType(const CURL &url, bool lookup = true);
24 
25  enum EFileType
26  {
27  FileTypeUnknown = 0,
28  FileTypeHtml,
29  FileTypeXml,
30  FileTypePlainText,
31  FileTypeZip,
32  FileTypeGZip,
33  FileTypeRar,
34  FileTypeBmp,
35  FileTypeGif,
36  FileTypePng,
37  FileTypeJpeg,
38  };
39  static EFileType GetFileTypeFromMime(const std::string& mimeType);
40  static EFileType GetFileTypeFromContent(const std::string& fileContent);
41 
42 private:
43  static bool parseMimeType(const std::string& mimeType, std::string& type, std::string& subtype);
44 
45  static const std::map<std::string, std::string> m_mimetypes;
46 };
static EFileType GetFileTypeFromContent(const std::string &fileContent)
Definition: Mime.cpp:633
Definition: URL.h:21
Definition: Mime.h:18
Represents a file on a share.
Definition: FileItem.h:102