settings_common.cpp 1.4 KB

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