settings_common.cpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include <functional>
  4. #include <string>
  5. #include <vector>
  6. #include "common/settings_common.h"
  7. namespace Settings {
  8. BasicSetting::BasicSetting(Linkage& linkage, const std::string& name, enum Category category_,
  9. bool save_, bool runtime_modifiable_, u32 specialization_,
  10. BasicSetting* other_setting_)
  11. : label{name}, category{category_}, id{linkage.count}, save{save_},
  12. runtime_modifiable{runtime_modifiable_}, specialization{specialization_},
  13. other_setting{other_setting_} {
  14. linkage.by_key.insert({name, this});
  15. linkage.by_category[category].push_back(this);
  16. linkage.count++;
  17. }
  18. BasicSetting::~BasicSetting() = default;
  19. std::string BasicSetting::ToStringGlobal() const {
  20. return this->ToString();
  21. }
  22. bool BasicSetting::UsingGlobal() const {
  23. return true;
  24. }
  25. void BasicSetting::SetGlobal(bool global) {}
  26. bool BasicSetting::Save() const {
  27. return save;
  28. }
  29. bool BasicSetting::RuntimeModfiable() const {
  30. return runtime_modifiable;
  31. }
  32. Category BasicSetting::GetCategory() const {
  33. return category;
  34. }
  35. u32 BasicSetting::Specialization() const {
  36. return specialization;
  37. }
  38. BasicSetting* BasicSetting::PairedSetting() const {
  39. return other_setting;
  40. }
  41. const std::string& BasicSetting::GetLabel() const {
  42. return label;
  43. }
  44. Linkage::Linkage(u32 initial_count) : count{initial_count} {}
  45. Linkage::~Linkage() = default;
  46. } // namespace Settings