summaryrefslogtreecommitdiff
path: root/src/core/hid/emulated_controller.cpp
diff options
context:
space:
mode:
authorGravatar Narr the Reg2022-04-07 13:52:51 -0500
committerGravatar Narr the Reg2022-04-07 13:52:51 -0500
commit9c85cb354a6c00f82278e6c39d4b474c49dd4c5a (patch)
tree4dfac6429ce3019c7c7a8d4f477f6ac8ec873915 /src/core/hid/emulated_controller.cpp
parentcore: hid: Reduce the amount of dataraces (diff)
downloadyuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.tar.gz
yuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.tar.xz
yuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.zip
core: hid: Replace lock_guard with scoped_lock
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() {
353} 353}
354 354
355void EmulatedController::EnableSystemButtons() { 355void EmulatedController::EnableSystemButtons() {
356 std::lock_guard lock{mutex}; 356 std::scoped_lock lock{mutex};
357 system_buttons_enabled = true; 357 system_buttons_enabled = true;
358} 358}
359 359
360void EmulatedController::DisableSystemButtons() { 360void EmulatedController::DisableSystemButtons() {
361 std::lock_guard lock{mutex}; 361 std::scoped_lock lock{mutex};
362 system_buttons_enabled = false; 362 system_buttons_enabled = false;
363} 363}
364 364
365void EmulatedController::ResetSystemButtons() { 365void EmulatedController::ResetSystemButtons() {
366 std::lock_guard lock{mutex}; 366 std::scoped_lock lock{mutex};
367 controller.home_button_state.home.Assign(false); 367 controller.home_button_state.home.Assign(false);
368 controller.capture_button_state.capture.Assign(false); 368 controller.capture_button_state.capture.Assign(false);
369} 369}
@@ -946,7 +946,7 @@ void EmulatedController::SetSupportedNpadStyleTag(NpadStyleTag supported_styles)
946} 946}
947 947
948bool EmulatedController::IsControllerFullkey(bool use_temporary_value) const { 948bool EmulatedController::IsControllerFullkey(bool use_temporary_value) const {
949 std::lock_guard lock{mutex}; 949 std::scoped_lock lock{mutex};
950 const auto type = is_configuring && use_temporary_value ? tmp_npad_type : npad_type; 950 const auto type = is_configuring && use_temporary_value ? tmp_npad_type : npad_type;
951 switch (type) { 951 switch (type) {
952 case NpadStyleIndex::ProController: 952 case NpadStyleIndex::ProController:
@@ -962,7 +962,7 @@ bool EmulatedController::IsControllerFullkey(bool use_temporary_value) const {
962} 962}
963 963
964bool EmulatedController::IsControllerSupported(bool use_temporary_value) const { 964bool EmulatedController::IsControllerSupported(bool use_temporary_value) const {
965 std::lock_guard lock{mutex}; 965 std::scoped_lock lock{mutex};
966 const auto type = is_configuring && use_temporary_value ? tmp_npad_type : npad_type; 966 const auto type = is_configuring && use_temporary_value ? tmp_npad_type : npad_type;
967 switch (type) { 967 switch (type) {
968 case NpadStyleIndex::ProController: 968 case NpadStyleIndex::ProController:
@@ -1035,7 +1035,7 @@ void EmulatedController::Disconnect() {
1035} 1035}
1036 1036
1037bool EmulatedController::IsConnected(bool get_temporary_value) const { 1037bool EmulatedController::IsConnected(bool get_temporary_value) const {
1038 std::lock_guard lock{mutex}; 1038 std::scoped_lock lock{mutex};
1039 if (get_temporary_value && is_configuring) { 1039 if (get_temporary_value && is_configuring) {
1040 return tmp_is_connected; 1040 return tmp_is_connected;
1041 } 1041 }
@@ -1049,12 +1049,12 @@ bool EmulatedController::IsVibrationEnabled() const {
1049} 1049}
1050 1050
1051NpadIdType EmulatedController::GetNpadIdType() const { 1051NpadIdType EmulatedController::GetNpadIdType() const {
1052 std::lock_guard lock{mutex}; 1052 std::scoped_lock lock{mutex};
1053 return npad_id_type; 1053 return npad_id_type;
1054} 1054}
1055 1055
1056NpadStyleIndex EmulatedController::GetNpadStyleIndex(bool get_temporary_value) const { 1056NpadStyleIndex EmulatedController::GetNpadStyleIndex(bool get_temporary_value) const {
1057 std::lock_guard lock{mutex}; 1057 std::scoped_lock lock{mutex};
1058 if (get_temporary_value && is_configuring) { 1058 if (get_temporary_value && is_configuring) {
1059 return tmp_npad_type; 1059 return tmp_npad_type;
1060 } 1060 }
@@ -1111,37 +1111,37 @@ LedPattern EmulatedController::GetLedPattern() const {
1111} 1111}
1112 1112
1113ButtonValues EmulatedController::GetButtonsValues() const { 1113ButtonValues EmulatedController::GetButtonsValues() const {
1114 std::lock_guard lock{mutex}; 1114 std::scoped_lock lock{mutex};
1115 return controller.button_values; 1115 return controller.button_values;
1116} 1116}
1117 1117
1118SticksValues EmulatedController::GetSticksValues() const { 1118SticksValues EmulatedController::GetSticksValues() const {
1119 std::lock_guard lock{mutex}; 1119 std::scoped_lock lock{mutex};
1120 return controller.stick_values; 1120 return controller.stick_values;
1121} 1121}
1122 1122
1123TriggerValues EmulatedController::GetTriggersValues() const { 1123TriggerValues EmulatedController::GetTriggersValues() const {
1124 std::lock_guard lock{mutex}; 1124 std::scoped_lock lock{mutex};
1125 return controller.trigger_values; 1125 return controller.trigger_values;
1126} 1126}
1127 1127
1128ControllerMotionValues EmulatedController::GetMotionValues() const { 1128ControllerMotionValues EmulatedController::GetMotionValues() const {
1129 std::lock_guard lock{mutex}; 1129 std::scoped_lock lock{mutex};
1130 return controller.motion_values; 1130 return controller.motion_values;
1131} 1131}
1132 1132
1133ColorValues EmulatedController::GetColorsValues() const { 1133ColorValues EmulatedController::GetColorsValues() const {
1134 std::lock_guard lock{mutex}; 1134 std::scoped_lock lock{mutex};
1135 return controller.color_values; 1135 return controller.color_values;
1136} 1136}
1137 1137
1138BatteryValues EmulatedController::GetBatteryValues() const { 1138BatteryValues EmulatedController::GetBatteryValues() const {
1139 std::lock_guard lock{mutex}; 1139 std::scoped_lock lock{mutex};
1140 return controller.battery_values; 1140 return controller.battery_values;
1141} 1141}
1142 1142
1143HomeButtonState EmulatedController::GetHomeButtons() const { 1143HomeButtonState EmulatedController::GetHomeButtons() const {
1144 std::lock_guard lock{mutex}; 1144 std::scoped_lock lock{mutex};
1145 if (is_configuring) { 1145 if (is_configuring) {
1146 return {}; 1146 return {};
1147 } 1147 }
@@ -1149,7 +1149,7 @@ HomeButtonState EmulatedController::GetHomeButtons() const {
1149} 1149}
1150 1150
1151CaptureButtonState EmulatedController::GetCaptureButtons() const { 1151CaptureButtonState EmulatedController::GetCaptureButtons() const {
1152 std::lock_guard lock{mutex}; 1152 std::scoped_lock lock{mutex};
1153 if (is_configuring) { 1153 if (is_configuring) {
1154 return {}; 1154 return {};
1155 } 1155 }
@@ -1157,7 +1157,7 @@ CaptureButtonState EmulatedController::GetCaptureButtons() const {
1157} 1157}
1158 1158
1159NpadButtonState EmulatedController::GetNpadButtons() const { 1159NpadButtonState EmulatedController::GetNpadButtons() const {
1160 std::lock_guard lock{mutex}; 1160 std::scoped_lock lock{mutex};
1161 if (is_configuring) { 1161 if (is_configuring) {
1162 return {}; 1162 return {};
1163 } 1163 }
@@ -1165,7 +1165,7 @@ NpadButtonState EmulatedController::GetNpadButtons() const {
1165} 1165}
1166 1166
1167DebugPadButton EmulatedController::GetDebugPadButtons() const { 1167DebugPadButton EmulatedController::GetDebugPadButtons() const {
1168 std::lock_guard lock{mutex}; 1168 std::scoped_lock lock{mutex};
1169 if (is_configuring) { 1169 if (is_configuring) {
1170 return {}; 1170 return {};
1171 } 1171 }
@@ -1173,7 +1173,7 @@ DebugPadButton EmulatedController::GetDebugPadButtons() const {
1173} 1173}
1174 1174
1175AnalogSticks EmulatedController::GetSticks() const { 1175AnalogSticks EmulatedController::GetSticks() const {
1176 std::lock_guard lock{mutex}; 1176 std::scoped_lock lock{mutex};
1177 if (is_configuring) { 1177 if (is_configuring) {
1178 return {}; 1178 return {};
1179 } 1179 }
@@ -1188,7 +1188,7 @@ AnalogSticks EmulatedController::GetSticks() const {
1188} 1188}
1189 1189
1190NpadGcTriggerState EmulatedController::GetTriggers() const { 1190NpadGcTriggerState EmulatedController::GetTriggers() const {
1191 std::lock_guard lock{mutex}; 1191 std::scoped_lock lock{mutex};
1192 if (is_configuring) { 1192 if (is_configuring) {
1193 return {}; 1193 return {};
1194 } 1194 }
@@ -1196,7 +1196,7 @@ NpadGcTriggerState EmulatedController::GetTriggers() const {
1196} 1196}
1197 1197
1198MotionState EmulatedController::GetMotions() const { 1198MotionState EmulatedController::GetMotions() const {
1199 std::lock_guard lock{mutex}; 1199 std::scoped_lock lock{mutex};
1200 if (force_update_motion) { 1200 if (force_update_motion) {
1201 for (auto& device : motion_devices) { 1201 for (auto& device : motion_devices) {
1202 if (!device) { 1202 if (!device) {
@@ -1209,17 +1209,17 @@ MotionState EmulatedController::GetMotions() const {
1209} 1209}
1210 1210
1211ControllerColors EmulatedController::GetColors() const { 1211ControllerColors EmulatedController::GetColors() const {
1212 std::lock_guard lock{mutex}; 1212 std::scoped_lock lock{mutex};
1213 return controller.colors_state; 1213 return controller.colors_state;
1214} 1214}
1215 1215
1216BatteryLevelState EmulatedController::GetBattery() const { 1216BatteryLevelState EmulatedController::GetBattery() const {
1217 std::lock_guard lock{mutex}; 1217 std::scoped_lock lock{mutex};
1218 return controller.battery_state; 1218 return controller.battery_state;
1219} 1219}
1220 1220
1221void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npad_service_update) { 1221void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npad_service_update) {
1222 std::lock_guard lock{callback_mutex}; 1222 std::scoped_lock lock{callback_mutex};
1223 for (const auto& poller_pair : callback_list) { 1223 for (const auto& poller_pair : callback_list) {
1224 const ControllerUpdateCallback& poller = poller_pair.second; 1224 const ControllerUpdateCallback& poller = poller_pair.second;
1225 if (!is_npad_service_update && poller.is_npad_service) { 1225 if (!is_npad_service_update && poller.is_npad_service) {
@@ -1232,13 +1232,13 @@ void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npa
1232} 1232}
1233 1233
1234int EmulatedController::SetCallback(ControllerUpdateCallback update_callback) { 1234int EmulatedController::SetCallback(ControllerUpdateCallback update_callback) {
1235 std::lock_guard lock{callback_mutex}; 1235 std::scoped_lock lock{callback_mutex};
1236 callback_list.insert_or_assign(last_callback_key, std::move(update_callback)); 1236 callback_list.insert_or_assign(last_callback_key, std::move(update_callback));
1237 return last_callback_key++; 1237 return last_callback_key++;
1238} 1238}
1239 1239
1240void EmulatedController::DeleteCallback(int key) { 1240void EmulatedController::DeleteCallback(int key) {
1241 std::lock_guard lock{callback_mutex}; 1241 std::scoped_lock lock{callback_mutex};
1242 const auto& iterator = callback_list.find(key); 1242 const auto& iterator = callback_list.find(key);
1243 if (iterator == callback_list.end()) { 1243 if (iterator == callback_list.end()) {
1244 LOG_ERROR(Input, "Tried to delete non-existent callback {}", key); 1244 LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);