kodi
IAddonSupportList.h
1 /*
2  * Copyright (C) 2005-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 <string>
12 #include <vector>
13 
14 namespace KODI
15 {
16 namespace ADDONS
17 {
18 
22 enum class AddonSupportType
23 {
24  /* To set if type relates to a file extension */
25  Extension,
26 
27  /* Used if relates to a Internet Media Type (MIME-Type) */
28  Mimetype
29 };
30 
36 {
37  /* Type what this is about */
38  AddonSupportType m_type;
39 
40  /* The name used for processing */
41  std::string m_name;
42 
43  /* User-friendly description of the name type stored here. */
44  std::string m_description;
45 
46  /* Path to use own icon about. */
47  std::string m_icon;
48 };
49 
62 {
63 public:
64  IAddonSupportList() = default;
65  virtual ~IAddonSupportList() = default;
66 
73  virtual std::vector<AddonSupportEntry> GetSupportedExtsAndMimeTypes(
74  const std::string& addonId) = 0;
75 };
76 
77 } /* namespace ADDONS */
78 } /* namespace KODI */
Definition: AudioDecoder.h:18
Information structure with which a supported format of an addon can be stored.
Definition: IAddonSupportList.h:35
Parent class to manage all available mimetypes and file extensions of the respective add-on and its t...
Definition: IAddonSupportList.h:61