Merge pull request #24470 from fuzzard/release_20.3
[xbmc.git] / xbmc / settings / SettingAddon.h
blobd4aefc802569948483504c981996741f7e441268
1 /*
2 * Copyright (C) 2013-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/IAddon.h"
12 #include "settings/lib/Setting.h"
14 namespace ADDON
16 enum class AddonType;
19 class CSettingAddon : public CSettingString
21 public:
22 CSettingAddon(const std::string &id, CSettingsManager *settingsManager = nullptr);
23 CSettingAddon(const std::string &id, int label, const std::string &value, CSettingsManager *settingsManager = nullptr);
24 CSettingAddon(const std::string &id, const CSettingAddon &setting);
25 ~CSettingAddon() override = default;
27 SettingPtr Clone(const std::string &id) const override;
29 bool Deserialize(const TiXmlNode *node, bool update = false) override;
31 ADDON::AddonType GetAddonType() const { return m_addonType; }
32 void SetAddonType(ADDON::AddonType addonType) { m_addonType = addonType; }
34 private:
35 void copyaddontype(const CSettingAddon &setting);
37 ADDON::AddonType m_addonType{};