[Windows] Fix driver version detection of AMD RDNA+ GPU on Windows 10
[xbmc.git] / xbmc / settings / dialogs / GUIDialogSettingsManagerBase.cpp
blobe01edfb07954a9ac339c7c4453663f2350c52663
1 /*
2 * Copyright (C) 2014-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 #include "GUIDialogSettingsManagerBase.h"
11 #include "settings/lib/SettingsManager.h"
13 #include <cassert>
15 CGUIDialogSettingsManagerBase::CGUIDialogSettingsManagerBase(int windowId, const std::string &xmlFile)
16 : CGUIDialogSettingsBase(windowId, xmlFile)
17 { }
19 CGUIDialogSettingsManagerBase::~CGUIDialogSettingsManagerBase() = default;
21 std::shared_ptr<CSetting> CGUIDialogSettingsManagerBase::GetSetting(const std::string &settingId)
23 assert(GetSettingsManager() != nullptr);
25 return GetSettingsManager()->GetSetting(settingId);
28 bool CGUIDialogSettingsManagerBase::OnOkay()
30 if (Save())
32 CGUIDialogSettingsBase::OnOkay();
33 return true;
36 return false;
39 std::set<std::string> CGUIDialogSettingsManagerBase::CreateSettings()
41 assert(GetSettingsManager() != nullptr);
43 std::set<std::string> settings = CGUIDialogSettingsBase::CreateSettings();
45 if (!settings.empty())
46 GetSettingsManager()->RegisterCallback(this, settings);
48 return settings;
51 void CGUIDialogSettingsManagerBase::FreeSettingsControls()
53 CGUIDialogSettingsBase::FreeSettingsControls();
55 if (GetSettingsManager() != nullptr)
56 GetSettingsManager()->UnregisterCallback(this);
59 std::shared_ptr<ISettingControl> CGUIDialogSettingsManagerBase::CreateControl(const std::string &controlType) const
61 assert(GetSettingsManager() != nullptr);
63 return GetSettingsManager()->CreateControl(controlType);