diff options
| author | Michael M <mchtly@gmail.com> | 2017-11-04 14:08:26 -0700 |
|---|---|---|
| committer | Michael M <mchtly@gmail.com> | 2017-11-04 17:08:55 -0700 |
| commit | 1b1dd1d749f6a2b42a5b3a2b863382567bf786ea (patch) | |
| tree | 1c0067f5725189e6089fded1989a61c43f9b4ad8 /Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp | |
| parent | bb0794715c08e085162a964bd45da9449397a5a1 (diff) | |
EmulatedController: encapsulate default device behind getters/setters
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp b/Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp index e5ec3b1747..cf70fa8468 100644 --- a/Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp +++ b/Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp @@ -37,7 +37,7 @@ void EmulatedController::UpdateReferences(const ControllerInterface& devi) for (auto& ctrlGroup : groups) { for (auto& control : ctrlGroup->controls) - control->control_ref.get()->UpdateReference(devi, default_device); + control->control_ref.get()->UpdateReference(devi, GetDefaultDevice()); // extension if (ctrlGroup->type == GroupType::Extension) @@ -48,8 +48,22 @@ void EmulatedController::UpdateReferences(const ControllerInterface& devi) } } -void EmulatedController::UpdateDefaultDevice() +const ciface::Core::DeviceQualifier& EmulatedController::GetDefaultDevice() const { + return m_default_device; +} + +void EmulatedController::SetDefaultDevice(const std::string& device) +{ + ciface::Core::DeviceQualifier devq; + devq.FromString(device); + SetDefaultDevice(std::move(devq)); +} + +void EmulatedController::SetDefaultDevice(ciface::Core::DeviceQualifier devq) +{ + m_default_device = std::move(devq); + for (auto& ctrlGroup : groups) { // extension @@ -57,8 +71,7 @@ void EmulatedController::UpdateDefaultDevice() { for (auto& ai : ((Extension*)ctrlGroup.get())->attachments) { - ai->default_device = default_device; - ai->UpdateDefaultDevice(); + ai->SetDefaultDevice(m_default_device); } } } @@ -66,11 +79,11 @@ void EmulatedController::UpdateDefaultDevice() void EmulatedController::LoadConfig(IniFile::Section* sec, const std::string& base) { - std::string defdev = default_device.ToString(); + std::string defdev = GetDefaultDevice().ToString(); if (base.empty()) { sec->Get(base + "Device", &defdev, ""); - default_device.FromString(defdev); + SetDefaultDevice(defdev); } for (auto& cg : groups) @@ -79,7 +92,7 @@ void EmulatedController::LoadConfig(IniFile::Section* sec, const std::string& ba void EmulatedController::SaveConfig(IniFile::Section* sec, const std::string& base) { - const std::string defdev = default_device.ToString(); + const std::string defdev = GetDefaultDevice().ToString(); if (base.empty()) sec->Set(/*std::string(" ") +*/ base + "Device", defdev, ""); @@ -96,8 +109,7 @@ void EmulatedController::LoadDefaults(const ControllerInterface& ciface) const std::string& default_device_string = ciface.GetDefaultDeviceString(); if (!default_device_string.empty()) { - default_device.FromString(default_device_string); - UpdateDefaultDevice(); + SetDefaultDevice(default_device_string); } } } // namespace ControllerEmu |
