summaryrefslogtreecommitdiffstats
path: root/src/core/hid/emulated_controller.cpp
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2022-04-07 20:52:51 +0200
committerNarr the Reg <juangerman-13@hotmail.com>2022-04-07 20:52:51 +0200
commit9c85cb354a6c00f82278e6c39d4b474c49dd4c5a (patch)
tree4dfac6429ce3019c7c7a8d4f477f6ac8ec873915 /src/core/hid/emulated_controller.cpp
parentcore: hid: Reduce the amount of dataraces (diff)
downloadyuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.tar
yuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.tar.gz
yuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.tar.bz2
yuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.tar.lz
yuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.tar.xz
yuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.tar.zst
yuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.zip
Diffstat (limited to 'src/core/hid/emulated_controller.cpp')
-rw-r--r--src/core/hid/emulated_controller.cpp52
1 files changed, 26 insertions, 26 deletions
diff --git a/src/core/hid/emulated_controller.cpp b/src/core/hid/emulated_controller.cpp
index 4f3676ec3..d3b13dbbd 100644
--- a/src/core/hid/emulated_controller.cpp
+++ b/src/core/hid/emulated_controller.cpp
@@ -353,17 +353,17 @@ void EmulatedController::DisableConfiguration() {
}
void EmulatedController::EnableSystemButtons() {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
system_buttons_enabled = true;
}
void EmulatedController::DisableSystemButtons() {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
system_buttons_enabled = false;
}
void EmulatedController::ResetSystemButtons() {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
controller.home_button_state.home.Assign(false);
controller.capture_button_state.capture.Assign(false);
}
@@ -946,7 +946,7 @@ void EmulatedController::SetSupportedNpadStyleTag(NpadStyleTag supported_styles)
}
bool EmulatedController::IsControllerFullkey(bool use_temporary_value) const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
const auto type = is_configuring && use_temporary_value ? tmp_npad_type : npad_type;
switch (type) {
case NpadStyleIndex::ProController:
@@ -962,7 +962,7 @@ bool EmulatedController::IsControllerFullkey(bool use_temporary_value) const {
}
bool EmulatedController::IsControllerSupported(bool use_temporary_value) const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
const auto type = is_configuring && use_temporary_value ? tmp_npad_type : npad_type;
switch (type) {
case NpadStyleIndex::ProController:
@@ -1035,7 +1035,7 @@ void EmulatedController::Disconnect() {
}
bool EmulatedController::IsConnected(bool get_temporary_value) const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
if (get_temporary_value && is_configuring) {
return tmp_is_connected;
}
@@ -1049,12 +1049,12 @@ bool EmulatedController::IsVibrationEnabled() const {
}
NpadIdType EmulatedController::GetNpadIdType() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
return npad_id_type;
}
NpadStyleIndex EmulatedController::GetNpadStyleIndex(bool get_temporary_value) const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
if (get_temporary_value && is_configuring) {
return tmp_npad_type;
}
@@ -1111,37 +1111,37 @@ LedPattern EmulatedController::GetLedPattern() const {
}
ButtonValues EmulatedController::GetButtonsValues() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
return controller.button_values;
}
SticksValues EmulatedController::GetSticksValues() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
return controller.stick_values;
}
TriggerValues EmulatedController::GetTriggersValues() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
return controller.trigger_values;
}
ControllerMotionValues EmulatedController::GetMotionValues() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
return controller.motion_values;
}
ColorValues EmulatedController::GetColorsValues() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
return controller.color_values;
}
BatteryValues EmulatedController::GetBatteryValues() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
return controller.battery_values;
}
HomeButtonState EmulatedController::GetHomeButtons() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
if (is_configuring) {
return {};
}
@@ -1149,7 +1149,7 @@ HomeButtonState EmulatedController::GetHomeButtons() const {
}
CaptureButtonState EmulatedController::GetCaptureButtons() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
if (is_configuring) {
return {};
}
@@ -1157,7 +1157,7 @@ CaptureButtonState EmulatedController::GetCaptureButtons() const {
}
NpadButtonState EmulatedController::GetNpadButtons() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
if (is_configuring) {
return {};
}
@@ -1165,7 +1165,7 @@ NpadButtonState EmulatedController::GetNpadButtons() const {
}
DebugPadButton EmulatedController::GetDebugPadButtons() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
if (is_configuring) {
return {};
}
@@ -1173,7 +1173,7 @@ DebugPadButton EmulatedController::GetDebugPadButtons() const {
}
AnalogSticks EmulatedController::GetSticks() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
if (is_configuring) {
return {};
}
@@ -1188,7 +1188,7 @@ AnalogSticks EmulatedController::GetSticks() const {
}
NpadGcTriggerState EmulatedController::GetTriggers() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
if (is_configuring) {
return {};
}
@@ -1196,7 +1196,7 @@ NpadGcTriggerState EmulatedController::GetTriggers() const {
}
MotionState EmulatedController::GetMotions() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
if (force_update_motion) {
for (auto& device : motion_devices) {
if (!device) {
@@ -1209,17 +1209,17 @@ MotionState EmulatedController::GetMotions() const {
}
ControllerColors EmulatedController::GetColors() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
return controller.colors_state;
}
BatteryLevelState EmulatedController::GetBattery() const {
- std::lock_guard lock{mutex};
+ std::scoped_lock lock{mutex};
return controller.battery_state;
}
void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npad_service_update) {
- std::lock_guard lock{callback_mutex};
+ std::scoped_lock lock{callback_mutex};
for (const auto& poller_pair : callback_list) {
const ControllerUpdateCallback& poller = poller_pair.second;
if (!is_npad_service_update && poller.is_npad_service) {
@@ -1232,13 +1232,13 @@ void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npa
}
int EmulatedController::SetCallback(ControllerUpdateCallback update_callback) {
- std::lock_guard lock{callback_mutex};
+ std::scoped_lock lock{callback_mutex};
callback_list.insert_or_assign(last_callback_key, std::move(update_callback));
return last_callback_key++;
}
void EmulatedController::DeleteCallback(int key) {
- std::lock_guard lock{callback_mutex};
+ std::scoped_lock lock{callback_mutex};
const auto& iterator = callback_list.find(key);
if (iterator == callback_list.end()) {
LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);