diff options
| author | 2022-04-07 13:52:51 -0500 | |
|---|---|---|
| committer | 2022-04-07 13:52:51 -0500 | |
| commit | 9c85cb354a6c00f82278e6c39d4b474c49dd4c5a (patch) | |
| tree | 4dfac6429ce3019c7c7a8d4f477f6ac8ec873915 /src/core/hid/emulated_controller.cpp | |
| parent | core: hid: Reduce the amount of dataraces (diff) | |
| download | yuzu-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.cpp | 52 |
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 | ||
| 355 | void EmulatedController::EnableSystemButtons() { | 355 | void 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 | ||
| 360 | void EmulatedController::DisableSystemButtons() { | 360 | void 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 | ||
| 365 | void EmulatedController::ResetSystemButtons() { | 365 | void 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 | ||
| 948 | bool EmulatedController::IsControllerFullkey(bool use_temporary_value) const { | 948 | bool 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 | ||
| 964 | bool EmulatedController::IsControllerSupported(bool use_temporary_value) const { | 964 | bool 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 | ||
| 1037 | bool EmulatedController::IsConnected(bool get_temporary_value) const { | 1037 | bool 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 | ||
| 1051 | NpadIdType EmulatedController::GetNpadIdType() const { | 1051 | NpadIdType 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 | ||
| 1056 | NpadStyleIndex EmulatedController::GetNpadStyleIndex(bool get_temporary_value) const { | 1056 | NpadStyleIndex 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 | ||
| 1113 | ButtonValues EmulatedController::GetButtonsValues() const { | 1113 | ButtonValues 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 | ||
| 1118 | SticksValues EmulatedController::GetSticksValues() const { | 1118 | SticksValues 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 | ||
| 1123 | TriggerValues EmulatedController::GetTriggersValues() const { | 1123 | TriggerValues 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 | ||
| 1128 | ControllerMotionValues EmulatedController::GetMotionValues() const { | 1128 | ControllerMotionValues 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 | ||
| 1133 | ColorValues EmulatedController::GetColorsValues() const { | 1133 | ColorValues 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 | ||
| 1138 | BatteryValues EmulatedController::GetBatteryValues() const { | 1138 | BatteryValues 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 | ||
| 1143 | HomeButtonState EmulatedController::GetHomeButtons() const { | 1143 | HomeButtonState 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 | ||
| 1151 | CaptureButtonState EmulatedController::GetCaptureButtons() const { | 1151 | CaptureButtonState 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 | ||
| 1159 | NpadButtonState EmulatedController::GetNpadButtons() const { | 1159 | NpadButtonState 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 | ||
| 1167 | DebugPadButton EmulatedController::GetDebugPadButtons() const { | 1167 | DebugPadButton 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 | ||
| 1175 | AnalogSticks EmulatedController::GetSticks() const { | 1175 | AnalogSticks 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 | ||
| 1190 | NpadGcTriggerState EmulatedController::GetTriggers() const { | 1190 | NpadGcTriggerState 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 | ||
| 1198 | MotionState EmulatedController::GetMotions() const { | 1198 | MotionState 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 | ||
| 1211 | ControllerColors EmulatedController::GetColors() const { | 1211 | ControllerColors 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 | ||
| 1216 | BatteryLevelState EmulatedController::GetBattery() const { | 1216 | BatteryLevelState 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 | ||
| 1221 | void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npad_service_update) { | 1221 | void 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 | ||
| 1234 | int EmulatedController::SetCallback(ControllerUpdateCallback update_callback) { | 1234 | int 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 | ||
| 1240 | void EmulatedController::DeleteCallback(int key) { | 1240 | void 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); |