Merge pull request #24470 from fuzzard/release_20.3
[xbmc.git] / xbmc / addons / AddonProvider.h
blob2a1e7af3fb79e8196147679ceee6748ce62ee8f6
1 /*
2 * Copyright (C) 2017-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "addons/kodi-dev-kit/include/kodi/AddonBase.h"
13 #include <memory>
16 * CAddonProvider
17 * IUnknown implementation to retrieve sub-addons from already active addons
18 * See Inputstream.cpp/h for an explaric use case
21 namespace ADDON
23 class CAddonInfo;
24 typedef std::shared_ptr<CAddonInfo> AddonInfoPtr;
26 class IAddonProvider
28 public:
29 virtual ~IAddonProvider() = default;
30 enum INSTANCE_TYPE
32 INSTANCE_INPUTSTREAM,
33 INSTANCE_VIDEOCODEC
35 virtual void GetAddonInstance(INSTANCE_TYPE instance_type,
36 ADDON::AddonInfoPtr& addonInfo,
37 KODI_HANDLE& parentInstance) = 0;
40 } // namespace ADDON