Merge pull request #25614 from garbear/show-version
[xbmc.git] / xbmc / application / ApplicationSettingsHandling.h
blobe814fc6dc735d775c25c1381ca1dff3d35b1adb0
1 /*
2 * Copyright (C) 2005-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 "settings/ISubSettings.h"
12 #include "settings/lib/ISettingCallback.h"
13 #include "settings/lib/ISettingsHandler.h"
15 class TiXmlNode;
17 /*!
18 * \brief Class handling application support for settings.
21 class CApplicationSettingsHandling : public ISettingCallback,
22 public ISettingsHandler,
23 public ISubSettings
25 protected:
26 void RegisterSettings();
27 void UnregisterSettings();
29 bool Load(const TiXmlNode* settings) override;
30 bool Save(TiXmlNode* settings) const override;
31 void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
32 void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
33 bool OnSettingUpdate(const std::shared_ptr<CSetting>& setting,
34 const char* oldSettingId,
35 const TiXmlNode* oldSettingNode) override;