xbmc
GUIDialogSettingsManagerBase.h
1 /*
2  * Copyright (C) 2014-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 "settings/dialogs/GUIDialogSettingsBase.h"
12 
13 class CSettingsManager;
14 
16 {
17 public:
18  CGUIDialogSettingsManagerBase(int windowId, const std::string &xmlFile);
20 
21 protected:
22  virtual bool Save() = 0;
23  virtual CSettingsManager* GetSettingsManager() const = 0;
24 
25  // implementation of CGUIDialogSettingsBase
26  std::shared_ptr<CSetting> GetSetting(const std::string &settingId) override;
27  bool OnOkay() override;
28 
29  std::set<std::string> CreateSettings() override;
30  void FreeSettingsControls() override;
31 
32  // implementation of ISettingControlCreator
33  std::shared_ptr<ISettingControl> CreateControl(const std::string &controlType) const override;
34 };
std::shared_ptr< ISettingControl > CreateControl(const std::string &controlType) const override
Creates a new setting control of the given custom setting control type.
Definition: GUIDialogSettingsManagerBase.cpp:59
Definition: GUIDialogSettingsManagerBase.h:15
Definition: GUIDialogSettingsBase.h:56
Settings manager responsible for initializing, loading and handling all settings. ...
Definition: SettingsManager.h:41