aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Sommerfeld <kai.sommerfeld@gmx.com>2022-10-14 22:49:03 +0200
committerKai Sommerfeld <kai.sommerfeld@gmx.com>2022-10-17 23:20:27 +0200
commit9b3eb2b44305c7c310d06151288091f13aa6f68c (patch)
treeab1e4082f19e7d8c3ff1bd92544ac1e82de2e5b9
parentb64861a6e609d8189d83b575b353bb189c63d493 (diff)
[addons] Avoid to include addons/addoninfo/AddonType.h in headers.
-rw-r--r--xbmc/ContextMenuItem.cpp1
-rw-r--r--xbmc/ContextMenuManager.cpp2
-rw-r--r--xbmc/LangInfo.cpp2
-rw-r--r--xbmc/NfoFile.cpp1
-rw-r--r--xbmc/NfoFile.h7
-rw-r--r--xbmc/Util.cpp1
-rw-r--r--xbmc/addons/Addon.cpp5
-rw-r--r--xbmc/addons/Addon.h3
-rw-r--r--xbmc/addons/AddonBuilder.cpp1
-rw-r--r--xbmc/addons/AddonBuilder.h3
-rw-r--r--xbmc/addons/AddonDatabase.cpp1
-rw-r--r--xbmc/addons/AddonDatabase.h3
-rw-r--r--xbmc/addons/AddonEvents.h2
-rw-r--r--xbmc/addons/AddonInstaller.cpp3
-rw-r--r--xbmc/addons/AddonManager.cpp10
-rw-r--r--xbmc/addons/AddonManager.h10
-rw-r--r--xbmc/addons/AddonRepos.cpp13
-rw-r--r--xbmc/addons/AddonRepos.h2
-rw-r--r--xbmc/addons/AddonStatusHandler.cpp1
-rw-r--r--xbmc/addons/AddonStatusHandler.h2
-rw-r--r--xbmc/addons/AddonSystemSettings.cpp4
-rw-r--r--xbmc/addons/AddonSystemSettings.h3
-rw-r--r--xbmc/addons/AudioDecoder.cpp1
-rw-r--r--xbmc/addons/BinaryAddonCache.cpp5
-rw-r--r--xbmc/addons/BinaryAddonCache.h3
-rw-r--r--xbmc/addons/ContextMenuAddon.cpp1
-rw-r--r--xbmc/addons/ContextMenuAddon.h3
-rw-r--r--xbmc/addons/ContextMenus.cpp7
-rw-r--r--xbmc/addons/ExtsMimeSupportList.cpp3
-rw-r--r--xbmc/addons/ExtsMimeSupportList.h4
-rw-r--r--xbmc/addons/FontResource.cpp8
-rw-r--r--xbmc/addons/FontResource.h5
-rw-r--r--xbmc/addons/GameResource.cpp2
-rw-r--r--xbmc/addons/IAddon.h3
-rw-r--r--xbmc/addons/ImageResource.cpp1
-rw-r--r--xbmc/addons/LanguageResource.cpp3
-rw-r--r--xbmc/addons/PluginSource.cpp1
-rw-r--r--xbmc/addons/PluginSource.h4
-rw-r--r--xbmc/addons/Repository.cpp4
-rw-r--r--xbmc/addons/Repository.h94
-rw-r--r--xbmc/addons/RepositoryUpdater.cpp3
-rw-r--r--xbmc/addons/Scraper.cpp3
-rw-r--r--xbmc/addons/Service.cpp7
-rw-r--r--xbmc/addons/Service.h8
-rw-r--r--xbmc/addons/Skin.cpp2
-rw-r--r--xbmc/addons/UISoundsResource.cpp6
-rw-r--r--xbmc/addons/UISoundsResource.h6
-rw-r--r--xbmc/addons/VFSEntry.cpp1
-rw-r--r--xbmc/addons/Webinterface.cpp1
-rw-r--r--xbmc/addons/Webinterface.h2
-rw-r--r--xbmc/addons/addoninfo/AddonInfo.cpp5
-rw-r--r--xbmc/addons/addoninfo/AddonInfo.h8
-rw-r--r--xbmc/addons/addoninfo/AddonInfoBuilder.h2
-rw-r--r--xbmc/addons/binary-addons/BinaryAddonManager.cpp2
-rw-r--r--xbmc/addons/gui/GUIDialogAddonInfo.cpp1
-rw-r--r--xbmc/addons/gui/GUIWindowAddonBrowser.cpp2
-rw-r--r--xbmc/addons/gui/GUIWindowAddonBrowser.h2
-rw-r--r--xbmc/addons/interfaces/AddonBase.cpp2
-rw-r--r--xbmc/addons/interfaces/General.cpp2
-rw-r--r--xbmc/addons/interfaces/gui/Window.cpp1
-rw-r--r--xbmc/addons/settings/AddonSettings.cpp1
-rw-r--r--xbmc/application/Application.cpp3
-rw-r--r--xbmc/application/ApplicationPowerHandling.cpp2
-rw-r--r--xbmc/application/ApplicationSettingsHandling.cpp1
-rw-r--r--xbmc/application/ApplicationSkinHandling.cpp3
-rw-r--r--xbmc/cdrip/CDDARipJob.cpp1
-rw-r--r--xbmc/cdrip/CDDARipper.cpp1
-rw-r--r--xbmc/cdrip/EncoderFFmpeg.cpp3
-rw-r--r--xbmc/cores/RetroPlayer/RetroPlayer.cpp1
-rw-r--r--xbmc/cores/VideoPlayer/DVDInputStreams/DVDFactoryInputStream.cpp1
-rw-r--r--xbmc/cores/VideoPlayer/DVDInputStreams/InputStreamAddon.cpp1
-rw-r--r--xbmc/cores/paplayer/CodecFactory.cpp1
-rw-r--r--xbmc/filesystem/AddonsDirectory.cpp1
-rw-r--r--xbmc/filesystem/PluginDirectory.cpp1
-rw-r--r--xbmc/filesystem/ResourceFile.cpp1
-rw-r--r--xbmc/games/GameUtils.cpp1
-rw-r--r--xbmc/games/addons/GameClient.cpp1
-rw-r--r--xbmc/games/addons/GameClientProperties.cpp2
-rw-r--r--xbmc/games/controllers/Controller.cpp1
-rw-r--r--xbmc/games/controllers/ControllerManager.cpp1
-rw-r--r--xbmc/games/controllers/dialogs/ControllerInstaller.cpp1
-rw-r--r--xbmc/games/controllers/windows/GUIControllerWindow.cpp1
-rw-r--r--xbmc/games/dialogs/osd/DialogGameAdvancedSettings.cpp1
-rw-r--r--xbmc/games/ports/windows/GUIPortWindow.cpp1
-rw-r--r--xbmc/guilib/GUIAudioManager.cpp1
-rw-r--r--xbmc/guilib/GUIFontManager.cpp1
-rw-r--r--xbmc/guilib/GUIVisualisationControl.cpp1
-rw-r--r--xbmc/guilib/guiinfo/AddonsGUIInfo.cpp1
-rw-r--r--xbmc/guilib/guiinfo/SystemGUIInfo.cpp1
-rw-r--r--xbmc/guilib/guiinfo/VisualisationGUIInfo.cpp2
-rw-r--r--xbmc/guilib/imagefactory.cpp1
-rw-r--r--xbmc/interfaces/builtins/AddonBuiltins.cpp1
-rw-r--r--xbmc/interfaces/builtins/SkinBuiltins.cpp1
-rw-r--r--xbmc/interfaces/json-rpc/AddonsOperations.cpp1
-rw-r--r--xbmc/interfaces/json-rpc/GUIOperations.cpp2
-rw-r--r--xbmc/interfaces/json-rpc/JSONRPC.cpp1
-rw-r--r--xbmc/interfaces/legacy/Addon.cpp1
-rw-r--r--xbmc/interfaces/legacy/WindowXML.cpp1
-rw-r--r--xbmc/interfaces/python/PythonInvoker.cpp1
-rw-r--r--xbmc/music/MusicDatabase.cpp1
-rw-r--r--xbmc/music/dialogs/GUIDialogInfoProviderSettings.cpp1
-rw-r--r--xbmc/music/dialogs/GUIDialogMusicOSD.cpp1
-rw-r--r--xbmc/music/infoscanner/MusicInfoScanner.cpp1
-rw-r--r--xbmc/music/tags/MusicInfoTagLoaderFactory.cpp1
-rw-r--r--xbmc/network/httprequesthandler/HTTPPythonHandler.cpp1
-rw-r--r--xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp1
-rw-r--r--xbmc/network/httprequesthandler/HTTPWebinterfaceHandler.cpp1
-rw-r--r--xbmc/network/httprequesthandler/python/HTTPPythonWsgiInvoker.cpp1
-rw-r--r--xbmc/peripherals/Peripherals.cpp1
-rw-r--r--xbmc/peripherals/addons/PeripheralAddon.cpp1
-rw-r--r--xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp1
-rw-r--r--xbmc/pictures/PictureInfoTag.cpp1
-rw-r--r--xbmc/pvr/addons/PVRClients.cpp4
-rw-r--r--xbmc/pvr/windows/GUIWindowPVRBase.cpp1
-rw-r--r--xbmc/settings/SettingAddon.cpp1
-rw-r--r--xbmc/settings/SettingAddon.h7
-rw-r--r--xbmc/settings/SettingConditions.cpp1
-rw-r--r--xbmc/settings/dialogs/GUIDialogContentSettings.cpp1
-rw-r--r--xbmc/settings/windows/GUIControlSettings.cpp1
-rw-r--r--xbmc/utils/FileExtensionProvider.cpp1
-rw-r--r--xbmc/utils/FileExtensionProvider.h7
-rw-r--r--xbmc/utils/RssManager.cpp1
-rw-r--r--xbmc/video/VideoDatabase.cpp3
-rw-r--r--xbmc/video/dialogs/GUIDialogSubtitles.cpp1
-rw-r--r--xbmc/view/GUIViewState.cpp1
-rw-r--r--xbmc/weather/WeatherJob.cpp2
-rw-r--r--xbmc/weather/WeatherManager.cpp1
-rw-r--r--xbmc/windows/GUIMediaWindow.cpp1
-rw-r--r--xbmc/windows/GUIWindowScreensaver.cpp1
-rw-r--r--xbmc/windows/GUIWindowScreensaverDim.cpp2
130 files changed, 276 insertions, 121 deletions
diff --git a/xbmc/ContextMenuItem.cpp b/xbmc/ContextMenuItem.cpp
index 52d235b409..03e9be32b7 100644
--- a/xbmc/ContextMenuItem.cpp
+++ b/xbmc/ContextMenuItem.cpp
@@ -12,6 +12,7 @@
#include "GUIInfoManager.h"
#include "addons/AddonManager.h"
#include "addons/IAddon.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/GUIComponent.h"
#include "guilib/LocalizeStrings.h"
#ifdef HAS_PYTHON
diff --git a/xbmc/ContextMenuManager.cpp b/xbmc/ContextMenuManager.cpp
index 95e4cfb538..50bc9b6eb7 100644
--- a/xbmc/ContextMenuManager.cpp
+++ b/xbmc/ContextMenuManager.cpp
@@ -18,11 +18,13 @@
#include "addons/ContextMenuAddon.h"
#include "addons/ContextMenus.h"
#include "addons/IAddon.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogContextMenu.h"
#include "favourites/ContextMenus.h"
#include "messaging/ApplicationMessenger.h"
#include "music/ContextMenus.h"
#include "pvr/PVRContextMenus.h"
+#include "utils/StringUtils.h"
#include "utils/log.h"
#include "video/ContextMenus.h"
diff --git a/xbmc/LangInfo.cpp b/xbmc/LangInfo.cpp
index 462d20e3d0..ee268af1d4 100644
--- a/xbmc/LangInfo.cpp
+++ b/xbmc/LangInfo.cpp
@@ -9,10 +9,12 @@
#include "LangInfo.h"
#include "ServiceBroker.h"
+#include "XBDateTime.h"
#include "addons/AddonInstaller.h"
#include "addons/AddonManager.h"
#include "addons/LanguageResource.h"
#include "addons/RepositoryUpdater.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/LocalizeStrings.h"
#include "messaging/ApplicationMessenger.h"
#include "pvr/PVRManager.h"
diff --git a/xbmc/NfoFile.cpp b/xbmc/NfoFile.cpp
index f9c4a5f58b..f713bdf3f0 100644
--- a/xbmc/NfoFile.cpp
+++ b/xbmc/NfoFile.cpp
@@ -15,6 +15,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/AddonSystemSettings.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/File.h"
#include "music/Album.h"
#include "music/Artist.h"
diff --git a/xbmc/NfoFile.h b/xbmc/NfoFile.h
index ab311b76a7..9b97f2a3ab 100644
--- a/xbmc/NfoFile.h
+++ b/xbmc/NfoFile.h
@@ -20,6 +20,11 @@
#include <utility>
#include <vector>
+namespace ADDON
+{
+enum class AddonType;
+}
+
class CNfoFile
{
public:
@@ -57,7 +62,7 @@ private:
std::string m_doc;
size_t m_headPos = 0;
ADDON::ScraperPtr m_info;
- ADDON::AddonType m_type{ADDON::AddonType::ADDON_UNKNOWN};
+ ADDON::AddonType m_type{};
CScraperUrl m_scurl;
int Load(const std::string&);
diff --git a/xbmc/Util.cpp b/xbmc/Util.cpp
index 7f7f834e6f..f2ea431ebb 100644
--- a/xbmc/Util.cpp
+++ b/xbmc/Util.cpp
@@ -33,6 +33,7 @@
#include "Util.h"
#include "addons/AddonManager.h"
#include "addons/VFSEntry.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/Directory.h"
#include "filesystem/MultiPathDirectory.h"
#include "filesystem/PVRDirectory.h"
diff --git a/xbmc/addons/Addon.cpp b/xbmc/addons/Addon.cpp
index eee6640549..ac247921d9 100644
--- a/xbmc/addons/Addon.cpp
+++ b/xbmc/addons/Addon.cpp
@@ -8,10 +8,11 @@
#include "Addon.h"
-#include "AddonManager.h"
-#include "RepositoryUpdater.h"
#include "ServiceBroker.h"
+#include "addons/AddonManager.h"
+#include "addons/RepositoryUpdater.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/settings/AddonSettings.h"
#include "filesystem/Directory.h"
#include "filesystem/File.h"
diff --git a/xbmc/addons/Addon.h b/xbmc/addons/Addon.h
index f4136e43f5..25771a4f6f 100644
--- a/xbmc/addons/Addon.h
+++ b/xbmc/addons/Addon.h
@@ -20,6 +20,9 @@ class CXBMCTinyXML;
namespace ADDON
{
+enum class AddonType;
+class CAddonType;
+
typedef std::vector<AddonPtr> VECADDONS;
typedef std::vector<AddonPtr>::iterator IVECADDONS;
diff --git a/xbmc/addons/AddonBuilder.cpp b/xbmc/addons/AddonBuilder.cpp
index 3fc20bf4e3..c7497abf8d 100644
--- a/xbmc/addons/AddonBuilder.cpp
+++ b/xbmc/addons/AddonBuilder.cpp
@@ -22,6 +22,7 @@
#include "addons/UISoundsResource.h"
#include "addons/Webinterface.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "games/addons/GameClient.h"
#include "games/controllers/Controller.h"
#include "pvr/addons/PVRClient.h"
diff --git a/xbmc/addons/AddonBuilder.h b/xbmc/addons/AddonBuilder.h
index 187b54b063..dfc486548d 100644
--- a/xbmc/addons/AddonBuilder.h
+++ b/xbmc/addons/AddonBuilder.h
@@ -8,12 +8,11 @@
#pragma once
-#include "addons/addoninfo/AddonType.h"
-
#include <memory>
namespace ADDON
{
+enum class AddonType;
class IAddon;
using AddonPtr = std::shared_ptr<IAddon>;
diff --git a/xbmc/addons/AddonDatabase.cpp b/xbmc/addons/AddonDatabase.cpp
index 16e3f80c5d..26216ec2dc 100644
--- a/xbmc/addons/AddonDatabase.cpp
+++ b/xbmc/addons/AddonDatabase.cpp
@@ -12,6 +12,7 @@
#include "addons/AddonBuilder.h"
#include "addons/addoninfo/AddonInfo.h"
#include "addons/addoninfo/AddonInfoBuilder.h"
+#include "addons/addoninfo/AddonType.h"
#include "dbwrappers/dataset.h"
#include "filesystem/SpecialProtocol.h"
#include "utils/JSONVariantParser.h"
diff --git a/xbmc/addons/AddonDatabase.h b/xbmc/addons/AddonDatabase.h
index 76750440dd..bf45761fd6 100644
--- a/xbmc/addons/AddonDatabase.h
+++ b/xbmc/addons/AddonDatabase.h
@@ -13,6 +13,7 @@
#include "addons/addoninfo/AddonInfoBuilder.h"
#include "dbwrappers/Database.h"
+#include <set>
#include <string>
#include <vector>
@@ -24,6 +25,8 @@ namespace ADDON
enum class AddonDisabledReason;
enum class AddonUpdateRule;
+class CAddonExtensions;
+
/*!
* @brief Addon content serializer/deserializer.
*
diff --git a/xbmc/addons/AddonEvents.h b/xbmc/addons/AddonEvents.h
index 0d9d4ce7ee..8db032c78c 100644
--- a/xbmc/addons/AddonEvents.h
+++ b/xbmc/addons/AddonEvents.h
@@ -8,7 +8,7 @@
#pragma once
-#include "IAddon.h"
+#include "addons/IAddon.h"
#include <string>
diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp
index 04ec0b4ffd..9c6f5c9d9e 100644
--- a/xbmc/addons/AddonInstaller.cpp
+++ b/xbmc/addons/AddonInstaller.cpp
@@ -12,14 +12,15 @@
#include "FilesystemInstaller.h"
#include "GUIPassword.h"
#include "GUIUserMessages.h" // for callback
-#include "RepositoryUpdater.h"
#include "ServiceBroker.h"
#include "URL.h"
#include "Util.h"
#include "addons/AddonManager.h"
#include "addons/AddonRepos.h"
#include "addons/Repository.h"
+#include "addons/RepositoryUpdater.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogExtendedProgressBar.h"
#include "events/AddonManagementEvent.h"
#include "events/EventLog.h"
diff --git a/xbmc/addons/AddonManager.cpp b/xbmc/addons/AddonManager.cpp
index f32289ceea..a66d9368a8 100644
--- a/xbmc/addons/AddonManager.cpp
+++ b/xbmc/addons/AddonManager.cpp
@@ -20,6 +20,7 @@
#include "addons/AddonSystemSettings.h"
#include "addons/addoninfo/AddonInfo.h"
#include "addons/addoninfo/AddonInfoBuilder.h"
+#include "addons/addoninfo/AddonType.h"
#include "events/AddonManagementEvent.h"
#include "events/EventLog.h"
#include "events/NotificationEvent.h"
@@ -807,7 +808,7 @@ void CAddonMgr::UpdateLastUsed(const std::string& id)
{
std::unique_lock<CCriticalSection> lock(m_critSection);
m_database.SetLastUsed(id, time);
- auto addonInfo = GetAddonInfo(id);
+ auto addonInfo = GetAddonInfo(id, AddonType::ADDON_UNKNOWN);
if (addonInfo)
addonInfo->SetLastUsed(time);
}
@@ -1131,7 +1132,7 @@ bool CAddonMgr::IsCompatible(const AddonInfoPtr& addonInfo) const
if (StringUtils::StartsWith(dependency.id, "xbmc.") ||
StringUtils::StartsWith(dependency.id, "kodi."))
{
- AddonInfoPtr addonInfo = GetAddonInfo(dependency.id);
+ AddonInfoPtr addonInfo = GetAddonInfo(dependency.id, AddonType::ADDON_UNKNOWN);
if (!addonInfo || !addonInfo->MeetsVersion(dependency.versionMin, dependency.version))
return false;
}
@@ -1261,8 +1262,7 @@ bool CAddonMgr::GetDisabledAddonInfos(std::vector<AddonInfoPtr>& addonInfos,
return !addonInfos.empty();
}
-const AddonInfoPtr CAddonMgr::GetAddonInfo(const std::string& id,
- AddonType type /*= AddonType::ADDON_UNKNOWN*/) const
+const AddonInfoPtr CAddonMgr::GetAddonInfo(const std::string& id, AddonType type) const
{
std::unique_lock<CCriticalSection> lock(m_critSection);
@@ -1339,7 +1339,7 @@ bool CAddonMgr::SetAddonOrigin(const std::string& addonId, const std::string& re
m_database.SetLastUpdated(addonId, CDateTime::GetCurrentDateTime());
// If available in manager update
- const AddonInfoPtr info = GetAddonInfo(addonId);
+ const AddonInfoPtr info = GetAddonInfo(addonId, AddonType::ADDON_UNKNOWN);
if (info)
m_database.GetInstallData(info);
return true;
diff --git a/xbmc/addons/AddonManager.h b/xbmc/addons/AddonManager.h
index 5033356598..95a0927857 100644
--- a/xbmc/addons/AddonManager.h
+++ b/xbmc/addons/AddonManager.h
@@ -8,12 +8,11 @@
#pragma once
-#include "AddonDatabase.h"
-#include "AddonUpdateRules.h"
#include "addons/Addon.h"
+#include "addons/AddonDatabase.h"
+#include "addons/AddonUpdateRules.h"
#include "addons/IAddonManagerCallback.h"
#include "addons/Repository.h"
-#include "addons/addoninfo/AddonType.h"
#include "threads/CriticalSection.h"
#include "utils/EventStream.h"
@@ -26,6 +25,8 @@
namespace ADDON
{
+enum class AddonType;
+
typedef std::map<AddonType, VECADDONS> MAPADDONS;
typedef std::map<AddonType, VECADDONS>::iterator IMAPADDONS;
typedef std::map<std::string, AddonInfoPtr> ADDON_INFO_LIST;
@@ -497,8 +498,7 @@ public:
AddonType type,
AddonDisabledReason disabledReason) const;
- const AddonInfoPtr GetAddonInfo(const std::string& id,
- AddonType type = AddonType::ADDON_UNKNOWN) const;
+ const AddonInfoPtr GetAddonInfo(const std::string& id, AddonType type) const;
/*!
* @brief Get the path where temporary add-on files are stored
diff --git a/xbmc/addons/AddonRepos.cpp b/xbmc/addons/AddonRepos.cpp
index 04e4a5e2f0..118301a6db 100644
--- a/xbmc/addons/AddonRepos.cpp
+++ b/xbmc/addons/AddonRepos.cpp
@@ -8,15 +8,16 @@
#include "AddonRepos.h"
-#include "Addon.h"
-#include "AddonManager.h"
-#include "AddonRepoInfo.h"
-#include "AddonSystemSettings.h"
#include "CompileInfo.h"
-#include "Repository.h"
-#include "RepositoryUpdater.h"
#include "ServiceBroker.h"
+#include "addons/Addon.h"
+#include "addons/AddonManager.h"
+#include "addons/AddonRepoInfo.h"
+#include "addons/AddonSystemSettings.h"
+#include "addons/Repository.h"
+#include "addons/RepositoryUpdater.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "messaging/helpers/DialogOKHelper.h"
#include "utils/StringUtils.h"
#include "utils/log.h"
diff --git a/xbmc/addons/AddonRepos.h b/xbmc/addons/AddonRepos.h
index 70aa04c3a3..d2b8c6b620 100644
--- a/xbmc/addons/AddonRepos.h
+++ b/xbmc/addons/AddonRepos.h
@@ -8,7 +8,7 @@
#pragma once
-#include "AddonDatabase.h"
+#include "addons/AddonDatabase.h"
#include <map>
#include <memory>
diff --git a/xbmc/addons/AddonStatusHandler.cpp b/xbmc/addons/AddonStatusHandler.cpp
index cee21d8192..321b5d5a5f 100644
--- a/xbmc/addons/AddonStatusHandler.cpp
+++ b/xbmc/addons/AddonStatusHandler.cpp
@@ -10,6 +10,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "dialogs/GUIDialogKaiToast.h"
#include "dialogs/GUIDialogYesNo.h"
diff --git a/xbmc/addons/AddonStatusHandler.h b/xbmc/addons/AddonStatusHandler.h
index 5931b52d58..3254ea080e 100644
--- a/xbmc/addons/AddonStatusHandler.h
+++ b/xbmc/addons/AddonStatusHandler.h
@@ -8,7 +8,7 @@
#pragma once
-#include "IAddon.h"
+#include "addons/IAddon.h"
#include "addons/kodi-dev-kit/include/kodi/c-api/addon_base.h"
#include "threads/CriticalSection.h"
#include "threads/Thread.h"
diff --git a/xbmc/addons/AddonSystemSettings.cpp b/xbmc/addons/AddonSystemSettings.cpp
index e18eaee598..5e384e24b7 100644
--- a/xbmc/addons/AddonSystemSettings.cpp
+++ b/xbmc/addons/AddonSystemSettings.cpp
@@ -11,7 +11,9 @@
#include "ServiceBroker.h"
#include "addons/AddonInstaller.h"
#include "addons/AddonManager.h"
+#include "addons/IAddon.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/GUIComponent.h"
#include "guilib/GUIWindowManager.h"
#include "guilib/LocalizeStrings.h"
@@ -20,9 +22,9 @@
#include "settings/Settings.h"
#include "settings/SettingsComponent.h"
#include "settings/lib/Setting.h"
+#include "utils/StringUtils.h"
#include "utils/log.h"
-
namespace ADDON
{
diff --git a/xbmc/addons/AddonSystemSettings.h b/xbmc/addons/AddonSystemSettings.h
index 07142766d0..bf5ca3858d 100644
--- a/xbmc/addons/AddonSystemSettings.h
+++ b/xbmc/addons/AddonSystemSettings.h
@@ -8,7 +8,6 @@
#pragma once
-#include "addons/addoninfo/AddonType.h"
#include "settings/lib/ISettingCallback.h"
#include <map>
@@ -28,6 +27,8 @@ enum class AddonRepoUpdateMode
ANY_REPOSITORY = 1
};
+enum class AddonType;
+
class CAddonInfo;
using AddonInfoPtr = std::shared_ptr<CAddonInfo>;
diff --git a/xbmc/addons/AudioDecoder.cpp b/xbmc/addons/AudioDecoder.cpp
index 10b87bc392..e0c123c371 100644
--- a/xbmc/addons/AudioDecoder.cpp
+++ b/xbmc/addons/AudioDecoder.cpp
@@ -9,6 +9,7 @@
#include "FileItem.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/interfaces/AudioEngine.h"
#include "cores/AudioEngine/Utils/AEUtil.h"
#include "filesystem/File.h"
diff --git a/xbmc/addons/BinaryAddonCache.cpp b/xbmc/addons/BinaryAddonCache.cpp
index a11dc820c4..ec9f907801 100644
--- a/xbmc/addons/BinaryAddonCache.cpp
+++ b/xbmc/addons/BinaryAddonCache.cpp
@@ -8,9 +8,10 @@
#include "BinaryAddonCache.h"
-#include "AddonEvents.h"
-#include "AddonManager.h"
#include "ServiceBroker.h"
+#include "addons/AddonEvents.h"
+#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include <mutex>
diff --git a/xbmc/addons/BinaryAddonCache.h b/xbmc/addons/BinaryAddonCache.h
index 7f8a341c85..5536c9ff00 100644
--- a/xbmc/addons/BinaryAddonCache.h
+++ b/xbmc/addons/BinaryAddonCache.h
@@ -8,7 +8,6 @@
#pragma once
-#include "addons/addoninfo/AddonType.h"
#include "threads/CriticalSection.h"
#include <map>
@@ -18,6 +17,8 @@
namespace ADDON
{
+enum class AddonType;
+
class IAddon;
using AddonPtr = std::shared_ptr<IAddon>;
using VECADDONS = std::vector<AddonPtr>;
diff --git a/xbmc/addons/ContextMenuAddon.cpp b/xbmc/addons/ContextMenuAddon.cpp
index f2a05a894c..e14d361918 100644
--- a/xbmc/addons/ContextMenuAddon.cpp
+++ b/xbmc/addons/ContextMenuAddon.cpp
@@ -10,6 +10,7 @@
#include "ContextMenuItem.h"
#include "ContextMenuManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/LocalizeStrings.h"
#include "utils/StringUtils.h"
#include "utils/URIUtils.h"
diff --git a/xbmc/addons/ContextMenuAddon.h b/xbmc/addons/ContextMenuAddon.h
index a3f3e34c2f..74221fdcb1 100644
--- a/xbmc/addons/ContextMenuAddon.h
+++ b/xbmc/addons/ContextMenuAddon.h
@@ -8,7 +8,7 @@
#pragma once
-#include "Addon.h"
+#include "addons/Addon.h"
#include <memory>
#include <vector>
@@ -17,6 +17,7 @@ class CContextMenuItem;
namespace ADDON
{
+class CAddonExtensions;
class CAddonInfo;
using AddonInfoPtr = std::shared_ptr<CAddonInfo>;
diff --git a/xbmc/addons/ContextMenus.cpp b/xbmc/addons/ContextMenus.cpp
index fc745c5d3d..45c9987866 100644
--- a/xbmc/addons/ContextMenus.cpp
+++ b/xbmc/addons/ContextMenus.cpp
@@ -8,11 +8,12 @@
#include "ContextMenus.h"
-#include "AddonManager.h"
#include "FileItem.h"
-#include "Repository.h"
-#include "RepositoryUpdater.h"
#include "ServiceBroker.h"
+#include "addons/AddonManager.h"
+#include "addons/Repository.h"
+#include "addons/RepositoryUpdater.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonInfo.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "addons/gui/GUIHelpers.h"
diff --git a/xbmc/addons/ExtsMimeSupportList.cpp b/xbmc/addons/ExtsMimeSupportList.cpp
index 809352de70..ebdcd97fb4 100644
--- a/xbmc/addons/ExtsMimeSupportList.cpp
+++ b/xbmc/addons/ExtsMimeSupportList.cpp
@@ -11,6 +11,7 @@
#include "addons/AddonEvents.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/kodi-dev-kit/include/kodi/addon-instance/AudioDecoder.h"
#include "guilib/LocalizeStrings.h"
#include "utils/URIUtils.h"
@@ -71,7 +72,7 @@ void CExtsMimeSupportList::Update(const std::string& id)
}
// Create and init the new addon instance
- std::shared_ptr<CAddonInfo> addonInfo = m_addonMgr.GetAddonInfo(id);
+ std::shared_ptr<CAddonInfo> addonInfo = m_addonMgr.GetAddonInfo(id, AddonType::ADDON_UNKNOWN);
if (addonInfo && !m_addonMgr.IsAddonDisabled(id))
{
if (addonInfo->HasType(AddonType::ADDON_AUDIODECODER) ||
diff --git a/xbmc/addons/ExtsMimeSupportList.h b/xbmc/addons/ExtsMimeSupportList.h
index 9c1b550446..f7e8d475eb 100644
--- a/xbmc/addons/ExtsMimeSupportList.h
+++ b/xbmc/addons/ExtsMimeSupportList.h
@@ -9,7 +9,6 @@
#pragma once
#include "addons/IAddonSupportList.h"
-#include "addons/addoninfo/AddonType.h"
#include "threads/CriticalSection.h"
#include <map>
@@ -20,6 +19,7 @@
namespace ADDON
{
+enum class AddonType;
class CAddonMgr;
class CAddonInfo;
@@ -83,7 +83,7 @@ public:
struct SupportValues
{
// Type of stored addon to check on scan
- ADDON::AddonType m_addonType{ADDON::AddonType::ADDON_UNKNOWN};
+ ADDON::AddonType m_addonType{};
// Related addon info class
std::shared_ptr<ADDON::CAddonInfo> m_addonInfo;
diff --git a/xbmc/addons/FontResource.cpp b/xbmc/addons/FontResource.cpp
index 8f5023eccb..3c66b58c87 100644
--- a/xbmc/addons/FontResource.cpp
+++ b/xbmc/addons/FontResource.cpp
@@ -7,9 +7,10 @@
*/
#include "FontResource.h"
-#include "AddonManager.h"
#include "ServiceBroker.h"
+#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/SpecialProtocol.h"
#include "messaging/ApplicationMessenger.h"
#include "settings/Settings.h"
@@ -19,6 +20,11 @@
namespace ADDON
{
+CFontResource::CFontResource(const AddonInfoPtr& addonInfo)
+ : CResource(addonInfo, AddonType::ADDON_RESOURCE_FONT)
+{
+}
+
void CFontResource::OnPostInstall(bool update, bool modal)
{
std::string skin = CServiceBroker::GetSettingsComponent()->GetSettings()->GetString(CSettings::SETTING_LOOKANDFEEL_SKIN);
diff --git a/xbmc/addons/FontResource.h b/xbmc/addons/FontResource.h
index 67d868865e..350090d48a 100644
--- a/xbmc/addons/FontResource.h
+++ b/xbmc/addons/FontResource.h
@@ -17,10 +17,7 @@ namespace ADDON
class CFontResource : public CResource
{
public:
- explicit CFontResource(const AddonInfoPtr& addonInfo)
- : CResource(addonInfo, AddonType::ADDON_RESOURCE_FONT)
- {
- }
+ explicit CFontResource(const AddonInfoPtr& addonInfo);
//! \brief Check whether file is allowed or not (no filters here).
bool IsAllowed(const std::string& file) const override { return true; }
diff --git a/xbmc/addons/GameResource.cpp b/xbmc/addons/GameResource.cpp
index 8e3c7bc386..b7bd7dc812 100644
--- a/xbmc/addons/GameResource.cpp
+++ b/xbmc/addons/GameResource.cpp
@@ -8,6 +8,8 @@
#include "GameResource.h"
+#include "addons/addoninfo/AddonType.h"
+
#include <utility>
using namespace ADDON;
diff --git a/xbmc/addons/IAddon.h b/xbmc/addons/IAddon.h
index 11fbde4052..550367b587 100644
--- a/xbmc/addons/IAddon.h
+++ b/xbmc/addons/IAddon.h
@@ -8,8 +8,6 @@
#pragma once
-#include "addons/addoninfo/AddonType.h"
-
#include <map>
#include <memory>
#include <string>
@@ -66,6 +64,7 @@ typedef std::shared_ptr<CPluginSource> PluginPtr;
enum class AddonInstanceSupport;
enum class AddonLifecycleState;
+enum class AddonType;
class CAddonMgr;
class CAddonSettings;
diff --git a/xbmc/addons/ImageResource.cpp b/xbmc/addons/ImageResource.cpp
index c0c5fbd26e..b0597ecd03 100644
--- a/xbmc/addons/ImageResource.cpp
+++ b/xbmc/addons/ImageResource.cpp
@@ -8,6 +8,7 @@
#include "ImageResource.h"
#include "URL.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/XbtManager.h"
#include "utils/FileUtils.h"
#include "utils/StringUtils.h"
diff --git a/xbmc/addons/LanguageResource.cpp b/xbmc/addons/LanguageResource.cpp
index 736b7e3fe8..5ecdb29feb 100644
--- a/xbmc/addons/LanguageResource.cpp
+++ b/xbmc/addons/LanguageResource.cpp
@@ -9,8 +9,9 @@
#include "LangInfo.h"
#include "ServiceBroker.h"
-#include "Skin.h"
#include "addons/AddonManager.h"
+#include "addons/Skin.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/GUIWindowManager.h"
#include "messaging/helpers/DialogHelper.h"
#include "settings/Settings.h"
diff --git a/xbmc/addons/PluginSource.cpp b/xbmc/addons/PluginSource.cpp
index 4674d2d798..71a45a22db 100644
--- a/xbmc/addons/PluginSource.cpp
+++ b/xbmc/addons/PluginSource.cpp
@@ -10,6 +10,7 @@
#include "URL.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "utils/StringUtils.h"
#include <utility>
diff --git a/xbmc/addons/PluginSource.h b/xbmc/addons/PluginSource.h
index f061af7372..722df8bb67 100644
--- a/xbmc/addons/PluginSource.h
+++ b/xbmc/addons/PluginSource.h
@@ -8,7 +8,9 @@
#pragma once
-#include "Addon.h"
+#include "addons/Addon.h"
+
+#include <set>
namespace ADDON
{
diff --git a/xbmc/addons/Repository.cpp b/xbmc/addons/Repository.cpp
index 9e64247afc..4361acfe3e 100644
--- a/xbmc/addons/Repository.cpp
+++ b/xbmc/addons/Repository.cpp
@@ -17,6 +17,7 @@
#include "addons/AddonManager.h"
#include "addons/RepositoryUpdater.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/CurlFile.h"
#include "filesystem/File.h"
#include "filesystem/ZipFile.h"
@@ -105,7 +106,8 @@ CRepository::CRepository(const AddonInfoPtr& addonInfo)
{
DirList dirs;
AddonVersion version;
- AddonInfoPtr addonver = CServiceBroker::GetAddonMgr().GetAddonInfo("xbmc.addon");
+ AddonInfoPtr addonver =
+ CServiceBroker::GetAddonMgr().GetAddonInfo("xbmc.addon", AddonType::ADDON_UNKNOWN);
if (addonver)
version = addonver->Version();
diff --git a/xbmc/addons/Repository.h b/xbmc/addons/Repository.h
index 8644a4a653..be9fdb8b89 100644
--- a/xbmc/addons/Repository.h
+++ b/xbmc/addons/Repository.h
@@ -8,7 +8,7 @@
#pragma once
-#include "Addon.h"
+#include "addons/Addon.h"
#include "addons/AddonVersion.h"
#include "utils/Digest.h"
#include "utils/ProgressJob.h"
@@ -19,57 +19,59 @@
namespace ADDON
{
- class CRepository : public CAddon
+class CAddonExtensions;
+
+class CRepository : public CAddon
+{
+public:
+ struct DirInfo
{
- public:
- struct DirInfo
- {
- AddonVersion minversion{""};
- AddonVersion maxversion{""};
- std::string info;
- std::string checksum;
- KODI::UTILITY::CDigest::Type checksumType{KODI::UTILITY::CDigest::Type::INVALID};
- std::string datadir;
- std::string artdir;
- KODI::UTILITY::CDigest::Type hashType{KODI::UTILITY::CDigest::Type::INVALID};
- };
-
- typedef std::vector<DirInfo> DirList;
-
- explicit CRepository(const AddonInfoPtr& addonInfo);
-
- enum FetchStatus
- {
- STATUS_OK,
- STATUS_NOT_MODIFIED,
- STATUS_ERROR
- };
-
- FetchStatus FetchIfChanged(const std::string& oldChecksum,
- std::string& checksum,
- std::vector<AddonInfoPtr>& addons,
- int& recheckAfter) const;
-
- struct ResolveResult
- {
- std::string location;
- KODI::UTILITY::TypedDigest digest;
- };
- ResolveResult ResolvePathAndHash(AddonPtr const& addon) const;
+ AddonVersion minversion{""};
+ AddonVersion maxversion{""};
+ std::string info;
+ std::string checksum;
+ KODI::UTILITY::CDigest::Type checksumType{KODI::UTILITY::CDigest::Type::INVALID};
+ std::string datadir;
+ std::string artdir;
+ KODI::UTILITY::CDigest::Type hashType{KODI::UTILITY::CDigest::Type::INVALID};
+ };
- private:
- static bool FetchChecksum(const std::string& url,
- std::string& checksum,
- int& recheckAfter) noexcept;
- static bool FetchIndex(const DirInfo& repo,
- std::string const& digest,
- std::vector<AddonInfoPtr>& addons) noexcept;
+ typedef std::vector<DirInfo> DirList;
- static DirInfo ParseDirConfiguration(const CAddonExtensions& configuration);
+ explicit CRepository(const AddonInfoPtr& addonInfo);
- DirList m_dirs;
+ enum FetchStatus
+ {
+ STATUS_OK,
+ STATUS_NOT_MODIFIED,
+ STATUS_ERROR
};
+ FetchStatus FetchIfChanged(const std::string& oldChecksum,
+ std::string& checksum,
+ std::vector<AddonInfoPtr>& addons,
+ int& recheckAfter) const;
+
+ struct ResolveResult
+ {
+ std::string location;
+ KODI::UTILITY::TypedDigest digest;
+ };
+ ResolveResult ResolvePathAndHash(AddonPtr const& addon) const;
+
+private:
+ static bool FetchChecksum(const std::string& url,
+ std::string& checksum,
+ int& recheckAfter) noexcept;
+ static bool FetchIndex(const DirInfo& repo,
+ std::string const& digest,
+ std::vector<AddonInfoPtr>& addons) noexcept;
+
+ static DirInfo ParseDirConfiguration(const CAddonExtensions& configuration);
+
+ DirList m_dirs;
+};
+
typedef std::shared_ptr<CRepository> RepositoryPtr;
diff --git a/xbmc/addons/RepositoryUpdater.cpp b/xbmc/addons/RepositoryUpdater.cpp
index aa5b6dd691..d3acfe6ed4 100644
--- a/xbmc/addons/RepositoryUpdater.cpp
+++ b/xbmc/addons/RepositoryUpdater.cpp
@@ -9,10 +9,13 @@
#include "RepositoryUpdater.h"
#include "ServiceBroker.h"
+#include "addons/AddonDatabase.h"
#include "addons/AddonEvents.h"
#include "addons/AddonInstaller.h"
#include "addons/AddonManager.h"
#include "addons/AddonSystemSettings.h"
+#include "addons/Repository.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogExtendedProgressBar.h"
#include "dialogs/GUIDialogKaiToast.h"
#include "events/AddonManagementEvent.h"
diff --git a/xbmc/addons/Scraper.cpp b/xbmc/addons/Scraper.cpp
index 8072c74591..e56aee50bc 100644
--- a/xbmc/addons/Scraper.cpp
+++ b/xbmc/addons/Scraper.cpp
@@ -8,12 +8,13 @@
#include "Scraper.h"
-#include "AddonManager.h"
#include "FileItem.h"
#include "ServiceBroker.h"
#include "URL.h"
#include "Util.h"
+#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/settings/AddonSettings.h"
#include "filesystem/CurlFile.h"
#include "filesystem/Directory.h"
diff --git a/xbmc/addons/Service.cpp b/xbmc/addons/Service.cpp
index 8269e42025..2a487e891c 100644
--- a/xbmc/addons/Service.cpp
+++ b/xbmc/addons/Service.cpp
@@ -7,7 +7,8 @@
*/
#include "Service.h"
-#include "AddonManager.h"
+#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "interfaces/generic/ScriptInvocationManager.h"
#include "utils/StringUtils.h"
#include "utils/log.h"
@@ -18,6 +19,10 @@
namespace ADDON
{
+CService::CService(const AddonInfoPtr& addonInfo) : CAddon(addonInfo, AddonType::ADDON_SERVICE)
+{
+}
+
CServiceAddonManager::CServiceAddonManager(CAddonMgr& addonMgr) :
m_addonMgr(addonMgr)
{
diff --git a/xbmc/addons/Service.h b/xbmc/addons/Service.h
index 9fc7588e2d..38f1d1edd2 100644
--- a/xbmc/addons/Service.h
+++ b/xbmc/addons/Service.h
@@ -8,8 +8,8 @@
#pragma once
-#include "Addon.h"
-#include "AddonEvents.h"
+#include "addons/Addon.h"
+#include "addons/AddonEvents.h"
#include "threads/CriticalSection.h"
namespace ADDON
@@ -17,9 +17,7 @@ namespace ADDON
class CService: public CAddon
{
public:
- explicit CService(const AddonInfoPtr& addonInfo) : CAddon(addonInfo, AddonType::ADDON_SERVICE)
- {
- }
+ explicit CService(const AddonInfoPtr& addonInfo);
};
class CServiceAddonManager
diff --git a/xbmc/addons/Skin.cpp b/xbmc/addons/Skin.cpp
index 681894d0ac..e5b0a6e577 100644
--- a/xbmc/addons/Skin.cpp
+++ b/xbmc/addons/Skin.cpp
@@ -11,8 +11,8 @@
#include "FileItem.h"
#include "ServiceBroker.h"
#include "Util.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogKaiToast.h"
-// fallback for new skin resolution code
#include "filesystem/Directory.h"
#include "filesystem/SpecialProtocol.h"
#include "guilib/GUIComponent.h"
diff --git a/xbmc/addons/UISoundsResource.cpp b/xbmc/addons/UISoundsResource.cpp
index 503e68a688..ba45f364c4 100644
--- a/xbmc/addons/UISoundsResource.cpp
+++ b/xbmc/addons/UISoundsResource.cpp
@@ -8,6 +8,7 @@
#include "UISoundsResource.h"
#include "ServiceBroker.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/GUIAudioManager.h"
#include "settings/Settings.h"
#include "settings/SettingsComponent.h"
@@ -18,6 +19,11 @@
namespace ADDON
{
+CUISoundsResource::CUISoundsResource(const AddonInfoPtr& addonInfo)
+ : CResource(addonInfo, AddonType::ADDON_RESOURCE_UISOUNDS)
+{
+}
+
bool CUISoundsResource::IsAllowed(const std::string& file) const
{
return StringUtils::EqualsNoCase(file, "sounds.xml")
diff --git a/xbmc/addons/UISoundsResource.h b/xbmc/addons/UISoundsResource.h
index f1118eeef1..0a07f11e5c 100644
--- a/xbmc/addons/UISoundsResource.h
+++ b/xbmc/addons/UISoundsResource.h
@@ -16,10 +16,8 @@ namespace ADDON
class CUISoundsResource : public CResource
{
public:
- explicit CUISoundsResource(const AddonInfoPtr& addonInfo)
- : CResource(addonInfo, AddonType::ADDON_RESOURCE_UISOUNDS)
- {
- }
+ explicit CUISoundsResource(const AddonInfoPtr& addonInfo);
+
bool IsAllowed(const std::string &file) const override;
bool IsInUse() const override;
void OnPostInstall(bool update, bool modal) override;
diff --git a/xbmc/addons/VFSEntry.cpp b/xbmc/addons/VFSEntry.cpp
index 1bb8f41582..b03d7aac84 100644
--- a/xbmc/addons/VFSEntry.cpp
+++ b/xbmc/addons/VFSEntry.cpp
@@ -12,6 +12,7 @@
#include "addons/AddonEvents.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/interfaces/Filesystem.h"
#include "network/ZeroconfBrowser.h"
#include "utils/StringUtils.h"
diff --git a/xbmc/addons/Webinterface.cpp b/xbmc/addons/Webinterface.cpp
index 0cd345cf64..8ce5a45151 100644
--- a/xbmc/addons/Webinterface.cpp
+++ b/xbmc/addons/Webinterface.cpp
@@ -8,6 +8,7 @@
#include "Webinterface.h"
+#include "addons/addoninfo/AddonType.h"
#include "utils/StringUtils.h"
#include "utils/URIUtils.h"
#include "utils/log.h"
diff --git a/xbmc/addons/Webinterface.h b/xbmc/addons/Webinterface.h
index 7186f4cc29..7a0ea7c87e 100644
--- a/xbmc/addons/Webinterface.h
+++ b/xbmc/addons/Webinterface.h
@@ -8,7 +8,7 @@
#pragma once
-#include "Addon.h"
+#include "addons/Addon.h"
#define WEBINTERFACE_DEFAULT_ENTRY_POINT "index.html"
diff --git a/xbmc/addons/addoninfo/AddonInfo.cpp b/xbmc/addons/addoninfo/AddonInfo.cpp
index fb27bd5d98..6ea8f83c53 100644
--- a/xbmc/addons/addoninfo/AddonInfo.cpp
+++ b/xbmc/addons/addoninfo/AddonInfo.cpp
@@ -13,8 +13,10 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/IAddon.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/Directory.h"
#include "guilib/LocalizeStrings.h"
+#include "utils/StringUtils.h"
#include "utils/URIUtils.h"
#include <algorithm>
@@ -191,8 +193,7 @@ bool CAddonInfo::HasType(AddonType type, bool mainOnly /*= false*/) const
ProvidesSubContent(type, mainOnly ? m_mainType : AddonType::ADDON_UNKNOWN));
}
-bool CAddonInfo::ProvidesSubContent(AddonType content,
- AddonType mainType /*= AddonType::ADDON_UNKNOWN*/) const
+bool CAddonInfo::ProvidesSubContent(AddonType content, AddonType mainType) const
{
if (content == AddonType::ADDON_UNKNOWN)
return false;
diff --git a/xbmc/addons/addoninfo/AddonInfo.h b/xbmc/addons/addoninfo/AddonInfo.h
index 5b15d34701..5874443ef6 100644
--- a/xbmc/addons/addoninfo/AddonInfo.h
+++ b/xbmc/addons/addoninfo/AddonInfo.h
@@ -10,7 +10,6 @@
#include "XBDateTime.h"
#include "addons/AddonVersion.h"
-#include "addons/addoninfo/AddonType.h"
#include <map>
#include <memory>
@@ -22,8 +21,11 @@
namespace ADDON
{
+enum class AddonType;
+
class CAddonBuilder;
class CAddonInfo;
+class CAddonType;
typedef std::shared_ptr<CAddonInfo> AddonInfoPtr;
typedef std::vector<AddonInfoPtr> AddonInfos;
@@ -198,7 +200,7 @@ public:
*/
const CAddonType* Type(AddonType type) const;
- bool ProvidesSubContent(AddonType content, AddonType mainType = AddonType::ADDON_UNKNOWN) const;
+ bool ProvidesSubContent(AddonType content, AddonType mainType) const;
bool ProvidesSeveralSubContents() const;
const AddonVersion& Version() const { return m_version; }
@@ -262,7 +264,7 @@ private:
friend class CAddonInfoBuilder;
std::string m_id;
- AddonType m_mainType{AddonType::ADDON_UNKNOWN};
+ AddonType m_mainType{};
std::vector<CAddonType> m_types;
AddonVersion m_version;
diff --git a/xbmc/addons/addoninfo/AddonInfoBuilder.h b/xbmc/addons/addoninfo/AddonInfoBuilder.h
index 57a05d0c10..22a91bb1e0 100644
--- a/xbmc/addons/addoninfo/AddonInfoBuilder.h
+++ b/xbmc/addons/addoninfo/AddonInfoBuilder.h
@@ -20,6 +20,8 @@ class TiXmlElement;
namespace ADDON
{
+class CAddonExtensions;
+
class CAddonInfoBuilder
{
public:
diff --git a/xbmc/addons/binary-addons/BinaryAddonManager.cpp b/xbmc/addons/binary-addons/BinaryAddonManager.cpp
index 2e6dbc04a6..699fc09a1a 100644
--- a/xbmc/addons/binary-addons/BinaryAddonManager.cpp
+++ b/xbmc/addons/binary-addons/BinaryAddonManager.cpp
@@ -8,9 +8,9 @@
#include "BinaryAddonManager.h"
-#include "BinaryAddonBase.h"
#include "addons/addoninfo/AddonInfo.h"
#include "addons/binary-addons/AddonDll.h"
+#include "addons/binary-addons/BinaryAddonBase.h"
#include "utils/log.h"
#include <mutex>
diff --git a/xbmc/addons/gui/GUIDialogAddonInfo.cpp b/xbmc/addons/gui/GUIDialogAddonInfo.cpp
index 801b092f6f..34247a3eb6 100644
--- a/xbmc/addons/gui/GUIDialogAddonInfo.cpp
+++ b/xbmc/addons/gui/GUIDialogAddonInfo.cpp
@@ -21,6 +21,7 @@
#include "addons/ExtsMimeSupportList.h"
#include "addons/IAddon.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "addons/gui/GUIHelpers.h"
#include "dialogs/GUIDialogSelect.h"
diff --git a/xbmc/addons/gui/GUIWindowAddonBrowser.cpp b/xbmc/addons/gui/GUIWindowAddonBrowser.cpp
index 9b92003f56..3b30bde7fd 100644
--- a/xbmc/addons/gui/GUIWindowAddonBrowser.cpp
+++ b/xbmc/addons/gui/GUIWindowAddonBrowser.cpp
@@ -18,7 +18,9 @@
#include "addons/AddonInstaller.h"
#include "addons/AddonManager.h"
#include "addons/AddonSystemSettings.h"
+#include "addons/IAddon.h"
#include "addons/RepositoryUpdater.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogBusy.h"
#include "dialogs/GUIDialogFileBrowser.h"
#include "dialogs/GUIDialogSelect.h"
diff --git a/xbmc/addons/gui/GUIWindowAddonBrowser.h b/xbmc/addons/gui/GUIWindowAddonBrowser.h
index 72928032c9..7f605eefe3 100644
--- a/xbmc/addons/gui/GUIWindowAddonBrowser.h
+++ b/xbmc/addons/gui/GUIWindowAddonBrowser.h
@@ -10,7 +10,6 @@
#include "ThumbLoader.h"
#include "addons/RepositoryUpdater.h"
-#include "addons/addoninfo/AddonType.h"
#include "windows/GUIMediaWindow.h"
#include <string>
@@ -20,6 +19,7 @@ class CFileItemList;
namespace ADDON
{
+enum class AddonType;
struct AddonEvent;
}
diff --git a/xbmc/addons/interfaces/AddonBase.cpp b/xbmc/addons/interfaces/AddonBase.cpp
index 986ff821e0..eb97510653 100644
--- a/xbmc/addons/interfaces/AddonBase.cpp
+++ b/xbmc/addons/interfaces/AddonBase.cpp
@@ -11,6 +11,7 @@
#include "GUIUserMessages.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/binary-addons/AddonDll.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "addons/settings/AddonSettings.h"
@@ -21,6 +22,7 @@
#include "guilib/GUIWindowManager.h"
#include "guilib/LocalizeStrings.h"
#include "settings/lib/Setting.h"
+#include "utils/StringUtils.h"
#include "utils/URIUtils.h"
#include "utils/log.h"
diff --git a/xbmc/addons/interfaces/General.cpp b/xbmc/addons/interfaces/General.cpp
index ae62dbec48..8ea8af792c 100644
--- a/xbmc/addons/interfaces/General.cpp
+++ b/xbmc/addons/interfaces/General.cpp
@@ -12,6 +12,8 @@
#include "LangInfo.h"
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
+#include "addons/AddonVersion.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/binary-addons/AddonDll.h"
#include "addons/kodi-dev-kit/include/kodi/General.h"
#include "application/ApplicationComponents.h"
diff --git a/xbmc/addons/interfaces/gui/Window.cpp b/xbmc/addons/interfaces/gui/Window.cpp
index 1300f8aafe..d680b79eba 100644
--- a/xbmc/addons/interfaces/gui/Window.cpp
+++ b/xbmc/addons/interfaces/gui/Window.cpp
@@ -15,6 +15,7 @@
#include "Window.h"
#include "addons/Skin.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/binary-addons/AddonDll.h"
#include "application/Application.h"
#include "controls/Rendering.h"
diff --git a/xbmc/addons/settings/AddonSettings.cpp b/xbmc/addons/settings/AddonSettings.cpp
index 70811833a3..2e23fa02f2 100644
--- a/xbmc/addons/settings/AddonSettings.cpp
+++ b/xbmc/addons/settings/AddonSettings.cpp
@@ -13,6 +13,7 @@
#include "LangInfo.h"
#include "ServiceBroker.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/binary-addons/AddonInstanceHandler.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "addons/settings/SettingUrlEncodedString.h"
diff --git a/xbmc/application/Application.cpp b/xbmc/application/Application.cpp
index e74d2f5519..e1c229bc32 100644
--- a/xbmc/application/Application.cpp
+++ b/xbmc/application/Application.cpp
@@ -23,6 +23,7 @@
#include "addons/Skin.h"
#include "addons/VFSEntry.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "application/AppInboundProtocol.h"
#include "application/AppParams.h"
#include "application/ApplicationActionListeners.h"
@@ -3012,7 +3013,7 @@ void CApplication::ConfigureAndEnableAddons()
{
if (addonMgr.IsAddonDisabledWithReason(addon->ID(), ADDON::AddonDisabledReason::INCOMPATIBLE))
{
- auto addonInfo = addonMgr.GetAddonInfo(addon->ID());
+ auto addonInfo = addonMgr.GetAddonInfo(addon->ID(), AddonType::ADDON_UNKNOWN);
if (addonInfo && addonMgr.IsCompatible(addonInfo))
{
CLog::Log(LOGDEBUG, "CApplication::{}: enabling the compatible version of [{}].",
diff --git a/xbmc/application/ApplicationPowerHandling.cpp b/xbmc/application/ApplicationPowerHandling.cpp
index d5c02c7dd4..d8e5f0798e 100644
--- a/xbmc/application/ApplicationPowerHandling.cpp
+++ b/xbmc/application/ApplicationPowerHandling.cpp
@@ -10,7 +10,9 @@
#include "GUIUserMessages.h"
#include "ServiceBroker.h"
+#include "addons/Addon.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "application/ApplicationComponents.h"
#include "application/ApplicationPlayer.h"
diff --git a/xbmc/application/ApplicationSettingsHandling.cpp b/xbmc/application/ApplicationSettingsHandling.cpp
index f4dc2d87d9..dadfd2f113 100644
--- a/xbmc/application/ApplicationSettingsHandling.cpp
+++ b/xbmc/application/ApplicationSettingsHandling.cpp
@@ -10,6 +10,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "application/ApplicationComponents.h"
#include "application/ApplicationPlayer.h"
diff --git a/xbmc/application/ApplicationSkinHandling.cpp b/xbmc/application/ApplicationSkinHandling.cpp
index b891d194ce..acfd53e5e6 100644
--- a/xbmc/application/ApplicationSkinHandling.cpp
+++ b/xbmc/application/ApplicationSkinHandling.cpp
@@ -16,7 +16,9 @@
#include "ServiceBroker.h"
#include "TextureCache.h"
#include "addons/AddonManager.h"
+#include "addons/AddonVersion.h"
#include "addons/Skin.h"
+#include "addons/addoninfo/AddonType.h"
#include "application/ApplicationComponents.h"
#include "application/ApplicationPlayer.h"
#include "dialogs/GUIDialogButtonMenu.h"
@@ -37,6 +39,7 @@
#include "settings/SettingsComponent.h"
#include "settings/SkinSettings.h"
#include "settings/lib/Setting.h"
+#include "utils/StringUtils.h"
#include "utils/URIUtils.h"
#include "utils/XBMCTinyXML.h"
#include "utils/log.h"
diff --git a/xbmc/cdrip/CDDARipJob.cpp b/xbmc/cdrip/CDDARipJob.cpp
index a6627bc0ab..8476d8e771 100644
--- a/xbmc/cdrip/CDDARipJob.cpp
+++ b/xbmc/cdrip/CDDARipJob.cpp
@@ -15,6 +15,7 @@
#include "ServiceBroker.h"
#include "Util.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogExtendedProgressBar.h"
#include "filesystem/File.h"
#include "filesystem/SpecialProtocol.h"
diff --git a/xbmc/cdrip/CDDARipper.cpp b/xbmc/cdrip/CDDARipper.cpp
index f5904abde1..9e4d13e92c 100644
--- a/xbmc/cdrip/CDDARipper.cpp
+++ b/xbmc/cdrip/CDDARipper.cpp
@@ -14,6 +14,7 @@
#include "Util.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/CDDADirectory.h"
#include "guilib/GUIWindowManager.h"
#include "guilib/LocalizeStrings.h"
diff --git a/xbmc/cdrip/EncoderFFmpeg.cpp b/xbmc/cdrip/EncoderFFmpeg.cpp
index 22b9911476..ebaa35b237 100644
--- a/xbmc/cdrip/EncoderFFmpeg.cpp
+++ b/xbmc/cdrip/EncoderFFmpeg.cpp
@@ -9,9 +9,12 @@
#include "EncoderFFmpeg.h"
#include "ServiceBroker.h"
+#include "addons/Addon.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "settings/Settings.h"
#include "settings/SettingsComponent.h"
+#include "utils/StringUtils.h"
#include "utils/SystemInfo.h"
#include "utils/URIUtils.h"
#include "utils/log.h"
diff --git a/xbmc/cores/RetroPlayer/RetroPlayer.cpp b/xbmc/cores/RetroPlayer/RetroPlayer.cpp
index cdc3509fba..ff49efc3e1 100644
--- a/xbmc/cores/RetroPlayer/RetroPlayer.cpp
+++ b/xbmc/cores/RetroPlayer/RetroPlayer.cpp
@@ -14,6 +14,7 @@
#include "ServiceBroker.h"
#include "URL.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "cores/DataCacheCore.h"
#include "cores/IPlayerCallback.h"
#include "cores/RetroPlayer/cheevos/Cheevos.h"
diff --git a/xbmc/cores/VideoPlayer/DVDInputStreams/DVDFactoryInputStream.cpp b/xbmc/cores/VideoPlayer/DVDInputStreams/DVDFactoryInputStream.cpp
index 2344ad1d21..be237372c1 100644
--- a/xbmc/cores/VideoPlayer/DVDInputStreams/DVDFactoryInputStream.cpp
+++ b/xbmc/cores/VideoPlayer/DVDInputStreams/DVDFactoryInputStream.cpp
@@ -25,6 +25,7 @@
#include "URL.h"
#include "Util.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "cores/VideoPlayer/Interface/InputStreamConstants.h"
#include "filesystem/CurlFile.h"
#include "filesystem/IFileTypes.h"
diff --git a/xbmc/cores/VideoPlayer/DVDInputStreams/InputStreamAddon.cpp b/xbmc/cores/VideoPlayer/DVDInputStreams/InputStreamAddon.cpp
index a4a1d3a250..8184ac0741 100644
--- a/xbmc/cores/VideoPlayer/DVDInputStreams/InputStreamAddon.cpp
+++ b/xbmc/cores/VideoPlayer/DVDInputStreams/InputStreamAddon.cpp
@@ -9,6 +9,7 @@
#include "InputStreamAddon.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/binary-addons/AddonDll.h"
#include "addons/kodi-dev-kit/include/kodi/addon-instance/VideoCodec.h"
#include "cores/VideoPlayer/DVDDemuxers/DVDDemux.h"
diff --git a/xbmc/cores/paplayer/CodecFactory.cpp b/xbmc/cores/paplayer/CodecFactory.cpp
index 267177f8d9..5ae61ecbcf 100644
--- a/xbmc/cores/paplayer/CodecFactory.cpp
+++ b/xbmc/cores/paplayer/CodecFactory.cpp
@@ -13,6 +13,7 @@
#include "VideoPlayerCodec.h"
#include "addons/AudioDecoder.h"
#include "addons/ExtsMimeSupportList.h"
+#include "addons/addoninfo/AddonType.h"
#include "utils/StringUtils.h"
using namespace KODI::ADDONS;
diff --git a/xbmc/filesystem/AddonsDirectory.cpp b/xbmc/filesystem/AddonsDirectory.cpp
index 414943373d..e8d40a88d1 100644
--- a/xbmc/filesystem/AddonsDirectory.cpp
+++ b/xbmc/filesystem/AddonsDirectory.cpp
@@ -19,6 +19,7 @@
#include "addons/PluginSource.h"
#include "addons/RepositoryUpdater.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "games/GameUtils.h"
#include "games/addons/GameClient.h"
#include "guilib/LocalizeStrings.h"
diff --git a/xbmc/filesystem/PluginDirectory.cpp b/xbmc/filesystem/PluginDirectory.cpp
index 7d8efb3d46..b531a33266 100644
--- a/xbmc/filesystem/PluginDirectory.cpp
+++ b/xbmc/filesystem/PluginDirectory.cpp
@@ -15,6 +15,7 @@
#include "addons/AddonManager.h"
#include "addons/IAddon.h"
#include "addons/PluginSource.h"
+#include "addons/addoninfo/AddonType.h"
#include "interfaces/generic/RunningScriptObserver.h"
#include "messaging/ApplicationMessenger.h"
#include "settings/Settings.h"
diff --git a/xbmc/filesystem/ResourceFile.cpp b/xbmc/filesystem/ResourceFile.cpp
index 1556302e17..644d8150b3 100644
--- a/xbmc/filesystem/ResourceFile.cpp
+++ b/xbmc/filesystem/ResourceFile.cpp
@@ -13,6 +13,7 @@
#include "Util.h"
#include "addons/AddonManager.h"
#include "addons/Resource.h"
+#include "addons/addoninfo/AddonType.h"
using namespace ADDON;
using namespace XFILE;
diff --git a/xbmc/games/GameUtils.cpp b/xbmc/games/GameUtils.cpp
index 1584fcd795..0b87c7db50 100644
--- a/xbmc/games/GameUtils.cpp
+++ b/xbmc/games/GameUtils.cpp
@@ -15,6 +15,7 @@
#include "addons/AddonInstaller.h"
#include "addons/AddonManager.h"
#include "addons/BinaryAddonCache.h"
+#include "addons/addoninfo/AddonType.h"
#include "cores/RetroPlayer/savestates/ISavestate.h"
#include "cores/RetroPlayer/savestates/SavestateDatabase.h"
#include "filesystem/SpecialProtocol.h"
diff --git a/xbmc/games/addons/GameClient.cpp b/xbmc/games/addons/GameClient.cpp
index 3ad9266831..b9d5fbb874 100644
--- a/xbmc/games/addons/GameClient.cpp
+++ b/xbmc/games/addons/GameClient.cpp
@@ -18,6 +18,7 @@
#include "addons/AddonManager.h"
#include "addons/BinaryAddonCache.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/Directory.h"
#include "filesystem/SpecialProtocol.h"
#include "games/GameServices.h"
diff --git a/xbmc/games/addons/GameClientProperties.cpp b/xbmc/games/addons/GameClientProperties.cpp
index d10eedd11c..fcf7ff8535 100644
--- a/xbmc/games/addons/GameClientProperties.cpp
+++ b/xbmc/games/addons/GameClientProperties.cpp
@@ -15,11 +15,13 @@
#include "addons/GameResource.h"
#include "addons/IAddon.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogYesNo.h"
#include "filesystem/Directory.h"
#include "filesystem/SpecialProtocol.h"
#include "guilib/LocalizeStrings.h"
#include "messaging/helpers/DialogOKHelper.h"
+#include "utils/StringUtils.h"
#include "utils/Variant.h"
#include "utils/log.h"
diff --git a/xbmc/games/controllers/Controller.cpp b/xbmc/games/controllers/Controller.cpp
index fd9c4c309f..de57f962a7 100644
--- a/xbmc/games/controllers/Controller.cpp
+++ b/xbmc/games/controllers/Controller.cpp
@@ -11,6 +11,7 @@
#include "ControllerDefinitions.h"
#include "ControllerLayout.h"
#include "URL.h"
+#include "addons/addoninfo/AddonType.h"
#include "games/controllers/input/PhysicalTopology.h"
#include "utils/XBMCTinyXML.h"
#include "utils/XMLUtils.h"
diff --git a/xbmc/games/controllers/ControllerManager.cpp b/xbmc/games/controllers/ControllerManager.cpp
index 1c7f42a810..b28bcd455e 100644
--- a/xbmc/games/controllers/ControllerManager.cpp
+++ b/xbmc/games/controllers/ControllerManager.cpp
@@ -12,6 +12,7 @@
#include "ControllerIDs.h"
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
using namespace KODI;
using namespace GAME;
diff --git a/xbmc/games/controllers/dialogs/ControllerInstaller.cpp b/xbmc/games/controllers/dialogs/ControllerInstaller.cpp
index 2717acfff5..da2f206e7b 100644
--- a/xbmc/games/controllers/dialogs/ControllerInstaller.cpp
+++ b/xbmc/games/controllers/dialogs/ControllerInstaller.cpp
@@ -13,6 +13,7 @@
#include "addons/Addon.h"
#include "addons/AddonInstaller.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogProgress.h"
#include "dialogs/GUIDialogSelect.h"
#include "guilib/GUIComponent.h"
diff --git a/xbmc/games/controllers/windows/GUIControllerWindow.cpp b/xbmc/games/controllers/windows/GUIControllerWindow.cpp
index 956170f503..969a2bd6b5 100644
--- a/xbmc/games/controllers/windows/GUIControllerWindow.cpp
+++ b/xbmc/games/controllers/windows/GUIControllerWindow.cpp
@@ -14,6 +14,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/IAddon.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIWindowAddonBrowser.h"
#include "cores/RetroPlayer/guibridge/GUIGameRenderManager.h"
#include "cores/RetroPlayer/guibridge/GUIGameSettingsHandle.h"
diff --git a/xbmc/games/dialogs/osd/DialogGameAdvancedSettings.cpp b/xbmc/games/dialogs/osd/DialogGameAdvancedSettings.cpp
index 7d290eb9a6..bf026ef0a7 100644
--- a/xbmc/games/dialogs/osd/DialogGameAdvancedSettings.cpp
+++ b/xbmc/games/dialogs/osd/DialogGameAdvancedSettings.cpp
@@ -10,6 +10,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "cores/RetroPlayer/guibridge/GUIGameRenderManager.h"
#include "cores/RetroPlayer/guibridge/GUIGameSettingsHandle.h"
diff --git a/xbmc/games/ports/windows/GUIPortWindow.cpp b/xbmc/games/ports/windows/GUIPortWindow.cpp
index c74e933d65..af1a87596e 100644
--- a/xbmc/games/ports/windows/GUIPortWindow.cpp
+++ b/xbmc/games/ports/windows/GUIPortWindow.cpp
@@ -13,6 +13,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/IAddon.h"
+#include "addons/addoninfo/AddonType.h"
#include "cores/RetroPlayer/guibridge/GUIGameRenderManager.h"
#include "cores/RetroPlayer/guibridge/GUIGameSettingsHandle.h"
#include "games/addons/GameClient.h"
diff --git a/xbmc/guilib/GUIAudioManager.cpp b/xbmc/guilib/GUIAudioManager.cpp
index 319ebc33b6..a226adedc4 100644
--- a/xbmc/guilib/GUIAudioManager.cpp
+++ b/xbmc/guilib/GUIAudioManager.cpp
@@ -11,6 +11,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/Skin.h"
+#include "addons/addoninfo/AddonType.h"
#include "cores/AudioEngine/Interfaces/AE.h"
#include "filesystem/Directory.h"
#include "input/Key.h"
diff --git a/xbmc/guilib/GUIFontManager.cpp b/xbmc/guilib/GUIFontManager.cpp
index 0b66483378..7e9233e966 100644
--- a/xbmc/guilib/GUIFontManager.cpp
+++ b/xbmc/guilib/GUIFontManager.cpp
@@ -14,6 +14,7 @@
#include "addons/AddonManager.h"
#include "addons/FontResource.h"
#include "addons/Skin.h"
+#include "addons/addoninfo/AddonType.h"
#include "windowing/GraphicContext.h"
#include <mutex>
diff --git a/xbmc/guilib/GUIVisualisationControl.cpp b/xbmc/guilib/GUIVisualisationControl.cpp
index e11d24fe03..79f047d3da 100644
--- a/xbmc/guilib/GUIVisualisationControl.cpp
+++ b/xbmc/guilib/GUIVisualisationControl.cpp
@@ -15,6 +15,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/Visualization.h"
+#include "addons/addoninfo/AddonType.h"
#include "application/Application.h"
#include "application/ApplicationComponents.h"
#include "application/ApplicationPlayer.h"
diff --git a/xbmc/guilib/guiinfo/AddonsGUIInfo.cpp b/xbmc/guilib/guiinfo/AddonsGUIInfo.cpp
index 6aafbf3f7e..7e172d80f8 100644
--- a/xbmc/guilib/guiinfo/AddonsGUIInfo.cpp
+++ b/xbmc/guilib/guiinfo/AddonsGUIInfo.cpp
@@ -13,6 +13,7 @@
#include "addons/Addon.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/LocalizeStrings.h"
#include "guilib/guiinfo/GUIInfo.h"
#include "guilib/guiinfo/GUIInfoLabels.h"
diff --git a/xbmc/guilib/guiinfo/SystemGUIInfo.cpp b/xbmc/guilib/guiinfo/SystemGUIInfo.cpp
index d954663ebf..af89bdd719 100644
--- a/xbmc/guilib/guiinfo/SystemGUIInfo.cpp
+++ b/xbmc/guilib/guiinfo/SystemGUIInfo.cpp
@@ -13,6 +13,7 @@
#include "LangInfo.h"
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "application/AppParams.h"
#include "application/ApplicationComponents.h"
#include "application/ApplicationPowerHandling.h"
diff --git a/xbmc/guilib/guiinfo/VisualisationGUIInfo.cpp b/xbmc/guilib/guiinfo/VisualisationGUIInfo.cpp
index 75a7aa520a..fa05a6c1a7 100644
--- a/xbmc/guilib/guiinfo/VisualisationGUIInfo.cpp
+++ b/xbmc/guilib/guiinfo/VisualisationGUIInfo.cpp
@@ -10,7 +10,9 @@
#include "GUIUserMessages.h"
#include "ServiceBroker.h"
+#include "addons/Addon.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/GUIComponent.h"
#include "guilib/GUIVisualisationControl.h"
#include "guilib/GUIWindowManager.h"
diff --git a/xbmc/guilib/imagefactory.cpp b/xbmc/guilib/imagefactory.cpp
index 99567e3386..4b2257d163 100644
--- a/xbmc/guilib/imagefactory.cpp
+++ b/xbmc/guilib/imagefactory.cpp
@@ -11,6 +11,7 @@
#include "ServiceBroker.h"
#include "addons/ExtsMimeSupportList.h"
#include "addons/ImageDecoder.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/FFmpegImage.h"
#include "utils/Mime.h"
diff --git a/xbmc/interfaces/builtins/AddonBuiltins.cpp b/xbmc/interfaces/builtins/AddonBuiltins.cpp
index 9a41e68721..209cf76f90 100644
--- a/xbmc/interfaces/builtins/AddonBuiltins.cpp
+++ b/xbmc/interfaces/builtins/AddonBuiltins.cpp
@@ -18,6 +18,7 @@
#include "addons/PluginSource.h"
#include "addons/RepositoryUpdater.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "addons/gui/GUIWindowAddonBrowser.h"
#include "application/Application.h"
diff --git a/xbmc/interfaces/builtins/SkinBuiltins.cpp b/xbmc/interfaces/builtins/SkinBuiltins.cpp
index 4129e7acba..f751b85a39 100644
--- a/xbmc/interfaces/builtins/SkinBuiltins.cpp
+++ b/xbmc/interfaces/builtins/SkinBuiltins.cpp
@@ -13,6 +13,7 @@
#include "URL.h"
#include "Util.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIWindowAddonBrowser.h"
#include "application/ApplicationComponents.h"
#include "application/ApplicationSkinHandling.h"
diff --git a/xbmc/interfaces/json-rpc/AddonsOperations.cpp b/xbmc/interfaces/json-rpc/AddonsOperations.cpp
index 612ace83d2..0a2e7a6c05 100644
--- a/xbmc/interfaces/json-rpc/AddonsOperations.cpp
+++ b/xbmc/interfaces/json-rpc/AddonsOperations.cpp
@@ -15,6 +15,7 @@
#include "addons/AddonManager.h"
#include "addons/PluginSource.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "messaging/ApplicationMessenger.h"
#include "utils/FileUtils.h"
#include "utils/StringUtils.h"
diff --git a/xbmc/interfaces/json-rpc/GUIOperations.cpp b/xbmc/interfaces/json-rpc/GUIOperations.cpp
index 1a18d84b4e..6a2966f2a2 100644
--- a/xbmc/interfaces/json-rpc/GUIOperations.cpp
+++ b/xbmc/interfaces/json-rpc/GUIOperations.cpp
@@ -11,6 +11,8 @@
#include "GUIInfoManager.h"
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
+#include "addons/IAddon.h"
+#include "addons/addoninfo/AddonType.h"
#include "application/Application.h"
#include "dialogs/GUIDialogKaiToast.h"
#include "guilib/GUIComponent.h"
diff --git a/xbmc/interfaces/json-rpc/JSONRPC.cpp b/xbmc/interfaces/json-rpc/JSONRPC.cpp
index aa822ac878..278f986d01 100644
--- a/xbmc/interfaces/json-rpc/JSONRPC.cpp
+++ b/xbmc/interfaces/json-rpc/JSONRPC.cpp
@@ -16,6 +16,7 @@
#include "addons/Addon.h"
#include "addons/IAddon.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "dbwrappers/DatabaseQuery.h"
#include "guilib/GUIComponent.h"
#include "guilib/GUIMessage.h"
diff --git a/xbmc/interfaces/legacy/Addon.cpp b/xbmc/interfaces/legacy/Addon.cpp
index 9144a86c08..15a09ffa83 100644
--- a/xbmc/interfaces/legacy/Addon.cpp
+++ b/xbmc/interfaces/legacy/Addon.cpp
@@ -13,6 +13,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "addons/settings/AddonSettings.h"
#include "guilib/GUIComponent.h"
diff --git a/xbmc/interfaces/legacy/WindowXML.cpp b/xbmc/interfaces/legacy/WindowXML.cpp
index 7154bf5c83..2f18a6b328 100644
--- a/xbmc/interfaces/legacy/WindowXML.cpp
+++ b/xbmc/interfaces/legacy/WindowXML.cpp
@@ -14,6 +14,7 @@
#include "addons/Addon.h"
#include "addons/Skin.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/GUIComponent.h"
#include "guilib/GUIWindowManager.h"
#include "guilib/TextureManager.h"
diff --git a/xbmc/interfaces/python/PythonInvoker.cpp b/xbmc/interfaces/python/PythonInvoker.cpp
index 7cbd4a4ed9..328549003b 100644
--- a/xbmc/interfaces/python/PythonInvoker.cpp
+++ b/xbmc/interfaces/python/PythonInvoker.cpp
@@ -17,6 +17,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogKaiToast.h"
#include "filesystem/SpecialProtocol.h"
#include "guilib/GUIComponent.h"
diff --git a/xbmc/music/MusicDatabase.cpp b/xbmc/music/MusicDatabase.cpp
index d250fd684f..fad32de7c2 100644
--- a/xbmc/music/MusicDatabase.cpp
+++ b/xbmc/music/MusicDatabase.cpp
@@ -22,6 +22,7 @@
#include "addons/AddonManager.h"
#include "addons/AddonSystemSettings.h"
#include "addons/Scraper.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/kodi-dev-kit/include/kodi/c-api/addon-instance/audiodecoder.h"
#include "dbwrappers/dataset.h"
#include "dialogs/GUIDialogKaiToast.h"
diff --git a/xbmc/music/dialogs/GUIDialogInfoProviderSettings.cpp b/xbmc/music/dialogs/GUIDialogInfoProviderSettings.cpp
index 38d90fa888..93ccecf74f 100644
--- a/xbmc/music/dialogs/GUIDialogInfoProviderSettings.cpp
+++ b/xbmc/music/dialogs/GUIDialogInfoProviderSettings.cpp
@@ -12,6 +12,7 @@
#include "Util.h"
#include "addons/AddonManager.h"
#include "addons/AddonSystemSettings.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "addons/gui/GUIWindowAddonBrowser.h"
#include "dialogs/GUIDialogFileBrowser.h"
diff --git a/xbmc/music/dialogs/GUIDialogMusicOSD.cpp b/xbmc/music/dialogs/GUIDialogMusicOSD.cpp
index 2ffb325ca6..2a058b5286 100644
--- a/xbmc/music/dialogs/GUIDialogMusicOSD.cpp
+++ b/xbmc/music/dialogs/GUIDialogMusicOSD.cpp
@@ -10,6 +10,7 @@
#include "GUIUserMessages.h"
#include "ServiceBroker.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIWindowAddonBrowser.h"
#include "guilib/GUIComponent.h"
#include "guilib/GUIWindowManager.h"
diff --git a/xbmc/music/infoscanner/MusicInfoScanner.cpp b/xbmc/music/infoscanner/MusicInfoScanner.cpp
index bfb639eed6..76019c7117 100644
--- a/xbmc/music/infoscanner/MusicInfoScanner.cpp
+++ b/xbmc/music/infoscanner/MusicInfoScanner.cpp
@@ -20,6 +20,7 @@
#include "Util.h"
#include "addons/AddonSystemSettings.h"
#include "addons/Scraper.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogExtendedProgressBar.h"
#include "dialogs/GUIDialogProgress.h"
#include "dialogs/GUIDialogSelect.h"
diff --git a/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp b/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp
index 5b0915b584..a4c5715642 100644
--- a/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp
+++ b/xbmc/music/tags/MusicInfoTagLoaderFactory.cpp
@@ -17,6 +17,7 @@
#include "TagLoaderTagLib.h"
#include "addons/AudioDecoder.h"
#include "addons/ExtsMimeSupportList.h"
+#include "addons/addoninfo/AddonType.h"
#include "utils/StringUtils.h"
#include "utils/URIUtils.h"
diff --git a/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp b/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp
index 2effe8763a..57758d2d42 100644
--- a/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp
+++ b/xbmc/network/httprequesthandler/HTTPPythonHandler.cpp
@@ -11,6 +11,7 @@
#include "ServiceBroker.h"
#include "URL.h"
#include "addons/Webinterface.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/File.h"
#include "interfaces/generic/ScriptInvocationManager.h"
#include "interfaces/python/XBPython.h"
diff --git a/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp b/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp
index 957c4d8c76..e6ebf609f2 100644
--- a/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp
+++ b/xbmc/network/httprequesthandler/HTTPWebinterfaceAddonsHandler.cpp
@@ -10,6 +10,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "network/WebServer.h"
#define ADDON_HEADER "<html><head><title>Add-on List</title></head><body>\n<h1>Available web interfaces:</h1>\n<ul>\n"
diff --git a/xbmc/network/httprequesthandler/HTTPWebinterfaceHandler.cpp b/xbmc/network/httprequesthandler/HTTPWebinterfaceHandler.cpp
index 4c49ed01ba..af7d615371 100644
--- a/xbmc/network/httprequesthandler/HTTPWebinterfaceHandler.cpp
+++ b/xbmc/network/httprequesthandler/HTTPWebinterfaceHandler.cpp
@@ -12,6 +12,7 @@
#include "addons/AddonManager.h"
#include "addons/AddonSystemSettings.h"
#include "addons/Webinterface.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/Directory.h"
#include "utils/FileUtils.h"
#include "utils/StringUtils.h"
diff --git a/xbmc/network/httprequesthandler/python/HTTPPythonWsgiInvoker.cpp b/xbmc/network/httprequesthandler/python/HTTPPythonWsgiInvoker.cpp
index a892b40823..95cab84645 100644
--- a/xbmc/network/httprequesthandler/python/HTTPPythonWsgiInvoker.cpp
+++ b/xbmc/network/httprequesthandler/python/HTTPPythonWsgiInvoker.cpp
@@ -11,6 +11,7 @@
#include "ServiceBroker.h"
#include "URL.h"
#include "addons/Webinterface.h"
+#include "addons/addoninfo/AddonType.h"
#include "interfaces/legacy/wsgi/WsgiErrorStream.h"
#include "interfaces/legacy/wsgi/WsgiInputStream.h"
#include "interfaces/legacy/wsgi/WsgiResponse.h"
diff --git a/xbmc/peripherals/Peripherals.cpp b/xbmc/peripherals/Peripherals.cpp
index 47da03c903..f40ede29d1 100644
--- a/xbmc/peripherals/Peripherals.cpp
+++ b/xbmc/peripherals/Peripherals.cpp
@@ -12,6 +12,7 @@
#include "EventScanner.h"
#include "addons/AddonButtonMap.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "addons/gui/GUIWindowAddonBrowser.h"
#include "bus/PeripheralBus.h"
diff --git a/xbmc/peripherals/addons/PeripheralAddon.cpp b/xbmc/peripherals/addons/PeripheralAddon.cpp
index 52bac4f47a..8f408313b1 100644
--- a/xbmc/peripherals/addons/PeripheralAddon.cpp
+++ b/xbmc/peripherals/addons/PeripheralAddon.cpp
@@ -11,6 +11,7 @@
#include "FileItem.h"
#include "PeripheralAddonTranslator.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "filesystem/Directory.h"
#include "filesystem/SpecialProtocol.h"
#include "games/controllers/Controller.h"
diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp
index f1da9c93f3..7fa77bbe6d 100644
--- a/xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp
+++ b/xbmc/peripherals/bus/virtual/PeripheralBusAddon.cpp
@@ -12,6 +12,7 @@
#include "addons/AddonEvents.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "messaging/helpers/DialogHelper.h"
#include "peripherals/Peripherals.h"
#include "peripherals/addons/PeripheralAddon.h"
diff --git a/xbmc/pictures/PictureInfoTag.cpp b/xbmc/pictures/PictureInfoTag.cpp
index 7873eb432c..dbe76b2a16 100644
--- a/xbmc/pictures/PictureInfoTag.cpp
+++ b/xbmc/pictures/PictureInfoTag.cpp
@@ -11,6 +11,7 @@
#include "ServiceBroker.h"
#include "addons/ExtsMimeSupportList.h"
#include "addons/ImageDecoder.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/guiinfo/GUIInfoLabels.h"
#include "utils/Archive.h"
#include "utils/CharsetConverter.h"
diff --git a/xbmc/pvr/addons/PVRClients.cpp b/xbmc/pvr/addons/PVRClients.cpp
index bd45a2c85f..1a8d595e8c 100644
--- a/xbmc/pvr/addons/PVRClients.cpp
+++ b/xbmc/pvr/addons/PVRClients.cpp
@@ -12,6 +12,7 @@
#include "addons/AddonEvents.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/LocalizeStrings.h"
#include "messaging/ApplicationMessenger.h"
#include "pvr/PVREventLogJob.h"
@@ -447,7 +448,8 @@ std::vector<CVariant> CPVRClients::GetEnabledClientInfos() const
for (const auto& client : clientMap)
{
- const auto& addonInfo = CServiceBroker::GetAddonMgr().GetAddonInfo(client.second->ID());
+ const auto& addonInfo =
+ CServiceBroker::GetAddonMgr().GetAddonInfo(client.second->ID(), AddonType::ADDON_PVRDLL);
if (addonInfo)
{
diff --git a/xbmc/pvr/windows/GUIWindowPVRBase.cpp b/xbmc/pvr/windows/GUIWindowPVRBase.cpp
index b1969bcff5..a096ac112c 100644
--- a/xbmc/pvr/windows/GUIWindowPVRBase.cpp
+++ b/xbmc/pvr/windows/GUIWindowPVRBase.cpp
@@ -12,6 +12,7 @@
#include "GUIUserMessages.h"
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "dialogs/GUIDialogExtendedProgressBar.h"
#include "dialogs/GUIDialogSelect.h"
#include "guilib/GUIComponent.h"
diff --git a/xbmc/settings/SettingAddon.cpp b/xbmc/settings/SettingAddon.cpp
index 85898d71a9..96c94d44ff 100644
--- a/xbmc/settings/SettingAddon.cpp
+++ b/xbmc/settings/SettingAddon.cpp
@@ -10,6 +10,7 @@
#include "addons/Addon.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "settings/lib/SettingsManager.h"
#include "utils/XBMCTinyXML.h"
#include "utils/XMLUtils.h"
diff --git a/xbmc/settings/SettingAddon.h b/xbmc/settings/SettingAddon.h
index f8e2993506..d4aefc8025 100644
--- a/xbmc/settings/SettingAddon.h
+++ b/xbmc/settings/SettingAddon.h
@@ -11,6 +11,11 @@
#include "addons/IAddon.h"
#include "settings/lib/Setting.h"
+namespace ADDON
+{
+enum class AddonType;
+}
+
class CSettingAddon : public CSettingString
{
public:
@@ -29,5 +34,5 @@ public:
private:
void copyaddontype(const CSettingAddon &setting);
- ADDON::AddonType m_addonType{ADDON::AddonType::ADDON_UNKNOWN};
+ ADDON::AddonType m_addonType{};
};
diff --git a/xbmc/settings/SettingConditions.cpp b/xbmc/settings/SettingConditions.cpp
index 2ec2c78471..340eb25b70 100644
--- a/xbmc/settings/SettingConditions.cpp
+++ b/xbmc/settings/SettingConditions.cpp
@@ -11,6 +11,7 @@
#include "LockType.h"
#include "addons/AddonManager.h"
#include "addons/Skin.h"
+#include "addons/addoninfo/AddonType.h"
#include "application/AppParams.h"
#if defined(TARGET_ANDROID)
#include "platform/android/activity/AndroidFeatures.h"
diff --git a/xbmc/settings/dialogs/GUIDialogContentSettings.cpp b/xbmc/settings/dialogs/GUIDialogContentSettings.cpp
index 9d0ef10716..37c187105c 100644
--- a/xbmc/settings/dialogs/GUIDialogContentSettings.cpp
+++ b/xbmc/settings/dialogs/GUIDialogContentSettings.cpp
@@ -11,6 +11,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/AddonSystemSettings.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "addons/gui/GUIWindowAddonBrowser.h"
#include "dialogs/GUIDialogKaiToast.h"
diff --git a/xbmc/settings/windows/GUIControlSettings.cpp b/xbmc/settings/windows/GUIControlSettings.cpp
index 250b68a2c2..e93b898568 100644
--- a/xbmc/settings/windows/GUIControlSettings.cpp
+++ b/xbmc/settings/windows/GUIControlSettings.cpp
@@ -12,6 +12,7 @@
#include "ServiceBroker.h"
#include "Util.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIWindowAddonBrowser.h"
#include "addons/settings/SettingUrlEncodedString.h"
#include "dialogs/GUIDialogColorPicker.h"
diff --git a/xbmc/utils/FileExtensionProvider.cpp b/xbmc/utils/FileExtensionProvider.cpp
index 62154b3d69..dc868302ea 100644
--- a/xbmc/utils/FileExtensionProvider.cpp
+++ b/xbmc/utils/FileExtensionProvider.cpp
@@ -15,6 +15,7 @@
#include "addons/ExtsMimeSupportList.h"
#include "addons/ImageDecoder.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "settings/AdvancedSettings.h"
#include "settings/SettingsComponent.h"
#include "utils/URIUtils.h"
diff --git a/xbmc/utils/FileExtensionProvider.h b/xbmc/utils/FileExtensionProvider.h
index e48b1d9e38..586f155d3c 100644
--- a/xbmc/utils/FileExtensionProvider.h
+++ b/xbmc/utils/FileExtensionProvider.h
@@ -8,8 +8,6 @@
#pragma once
-#include "addons/addoninfo/AddonType.h"
-
#include <map>
#include <memory>
#include <string>
@@ -17,8 +15,9 @@
namespace ADDON
{
- class CAddonMgr;
- struct AddonEvent;
+enum class AddonType;
+class CAddonMgr;
+struct AddonEvent;
}
class CAdvancedSettings;
diff --git a/xbmc/utils/RssManager.cpp b/xbmc/utils/RssManager.cpp
index a3717cd460..24c0d467ae 100644
--- a/xbmc/utils/RssManager.cpp
+++ b/xbmc/utils/RssManager.cpp
@@ -11,6 +11,7 @@
#include "ServiceBroker.h"
#include "addons/AddonInstaller.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "interfaces/builtins/Builtins.h"
#include "profiles/ProfileManager.h"
#include "settings/Settings.h"
diff --git a/xbmc/video/VideoDatabase.cpp b/xbmc/video/VideoDatabase.cpp
index 4bf94b70d4..34f155fd9d 100644
--- a/xbmc/video/VideoDatabase.cpp
+++ b/xbmc/video/VideoDatabase.cpp
@@ -18,6 +18,7 @@
#include "VideoInfoScanner.h"
#include "XBDateTime.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "dbwrappers/dataset.h"
#include "dialogs/GUIDialogExtendedProgressBar.h"
#include "dialogs/GUIDialogKaiToast.h"
@@ -60,8 +61,8 @@
#include <map>
#include <memory>
#include <string>
-#include <vector>
#include <unordered_set>
+#include <vector>
using namespace dbiplus;
using namespace XFILE;
diff --git a/xbmc/video/dialogs/GUIDialogSubtitles.cpp b/xbmc/video/dialogs/GUIDialogSubtitles.cpp
index 278f0932c7..ec92336257 100644
--- a/xbmc/video/dialogs/GUIDialogSubtitles.cpp
+++ b/xbmc/video/dialogs/GUIDialogSubtitles.cpp
@@ -15,6 +15,7 @@
#include "Util.h"
#include "addons/AddonManager.h"
#include "addons/addoninfo/AddonInfo.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "application/Application.h"
#include "application/ApplicationComponents.h"
diff --git a/xbmc/view/GUIViewState.cpp b/xbmc/view/GUIViewState.cpp
index 7a97ab0a08..d68c0c8ece 100644
--- a/xbmc/view/GUIViewState.cpp
+++ b/xbmc/view/GUIViewState.cpp
@@ -18,6 +18,7 @@
#include "addons/Addon.h"
#include "addons/AddonManager.h"
#include "addons/PluginSource.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIViewStateAddonBrowser.h"
#include "dialogs/GUIDialogSelect.h"
#include "events/windows/GUIViewStateEventLog.h"
diff --git a/xbmc/weather/WeatherJob.cpp b/xbmc/weather/WeatherJob.cpp
index 947138d83f..8543d249b2 100644
--- a/xbmc/weather/WeatherJob.cpp
+++ b/xbmc/weather/WeatherJob.cpp
@@ -11,7 +11,9 @@
#include "GUIUserMessages.h"
#include "LangInfo.h"
#include "ServiceBroker.h"
+#include "XBDateTime.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "guilib/GUIComponent.h"
#include "guilib/GUIWindowManager.h"
#include "guilib/LocalizeStrings.h"
diff --git a/xbmc/weather/WeatherManager.cpp b/xbmc/weather/WeatherManager.cpp
index b71e9a6270..b7fd24645e 100644
--- a/xbmc/weather/WeatherManager.cpp
+++ b/xbmc/weather/WeatherManager.cpp
@@ -12,6 +12,7 @@
#include "ServiceBroker.h"
#include "WeatherJob.h"
#include "addons/AddonManager.h"
+#include "addons/addoninfo/AddonType.h"
#include "addons/gui/GUIDialogAddonSettings.h"
#include "guilib/GUIComponent.h"
#include "guilib/GUIWindowManager.h"
diff --git a/xbmc/windows/GUIMediaWindow.cpp b/xbmc/windows/GUIMediaWindow.cpp
index eae9d7d742..434de0e021 100644
--- a/xbmc/windows/GUIMediaWindow.cpp
+++ b/xbmc/windows/GUIMediaWindow.cpp
@@ -20,6 +20,7 @@
#include "Util.h"
#include "addons/AddonManager.h"
#include "addons/PluginSource.h"
+#include "addons/addoninfo/AddonType.h"
#include "application/Application.h"
#include "messaging/ApplicationMessenger.h"
#if defined(TARGET_ANDROID)
diff --git a/xbmc/windows/GUIWindowScreensaver.cpp b/xbmc/windows/GUIWindowScreensaver.cpp
index 3f6535216c..58a17fc7b1 100644
--- a/xbmc/windows/GUIWindowScreensaver.cpp
+++ b/xbmc/windows/GUIWindowScreensaver.cpp
@@ -13,6 +13,7 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
#include "addons/ScreenSaver.h"
+#include "addons/addoninfo/AddonType.h"
#include "application/ApplicationComponents.h"
#include "application/ApplicationPowerHandling.h"
#include "guilib/GUIComponent.h"
diff --git a/xbmc/windows/GUIWindowScreensaverDim.cpp b/xbmc/windows/GUIWindowScreensaverDim.cpp
index 227d51e3f6..adbec68c55 100644
--- a/xbmc/windows/GUIWindowScreensaverDim.cpp
+++ b/xbmc/windows/GUIWindowScreensaverDim.cpp
@@ -10,6 +10,8 @@
#include "ServiceBroker.h"
#include "addons/AddonManager.h"
+#include "addons/IAddon.h"
+#include "addons/addoninfo/AddonType.h"
#include "application/ApplicationComponents.h"
#include "application/ApplicationPowerHandling.h"
#include "guilib/GUITexture.h"