xbmc
SettingAddon.h
1 /*
2  * Copyright (C) 2013-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 "addons/IAddon.h"
12 #include "settings/lib/Setting.h"
13 
14 namespace ADDON
15 {
16 enum class AddonType;
17 }
18 
20 {
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;
26 
27  SettingPtr Clone(const std::string &id) const override;
28 
29  bool Deserialize(const TiXmlNode *node, bool update = false) override;
30 
31  ADDON::AddonType GetAddonType() const { return m_addonType; }
32  void SetAddonType(ADDON::AddonType addonType) { m_addonType = addonType; }
33 
34 private:
35  void copyaddontype(const CSettingAddon &setting);
36 
37  ADDON::AddonType m_addonType{};
38 };
String setting implementation.
Definition: Setting.h:423
Definition: SettingAddon.h:19
Settings manager responsible for initializing, loading and handling all settings. ...
Definition: SettingsManager.h:41
Definition: Addon.cpp:39