summaryrefslogtreecommitdiff
path: root/src/hid_core/frontend
diff options
context:
space:
mode:
authorGravatar FearlessTobi2024-02-19 16:00:46 +0100
committerGravatar FearlessTobi2024-02-19 16:00:46 +0100
commit310c1f50beb77fc5c6f9075029973161d4e51a4a (patch)
tree43a5699123e4930560fc5016faac7efb15b63f4e /src/hid_core/frontend
parentcore/CMakeLists: Sort alphabetically (diff)
downloadyuzu-310c1f50beb77fc5c6f9075029973161d4e51a4a.tar.gz
yuzu-310c1f50beb77fc5c6f9075029973161d4e51a4a.tar.xz
yuzu-310c1f50beb77fc5c6f9075029973161d4e51a4a.zip
scope_exit: Make constexpr
Allows the use of the macro in constexpr-contexts. Also avoids some potential problems when nesting braces inside it.
Diffstat (limited to 'src/hid_core/frontend')
-rw-r--r--src/hid_core/frontend/emulated_controller.cpp50
1 files changed, 33 insertions, 17 deletions
diff --git a/src/hid_core/frontend/emulated_controller.cpp b/src/hid_core/frontend/emulated_controller.cpp
index d9d278fa3..5cd26819c 100644
--- a/src/hid_core/frontend/emulated_controller.cpp
+++ b/src/hid_core/frontend/emulated_controller.cpp
@@ -933,8 +933,9 @@ void EmulatedController::SetStick(const Common::Input::CallbackStatus& callback,
933 if (index >= controller.stick_values.size()) { 933 if (index >= controller.stick_values.size()) {
934 return; 934 return;
935 } 935 }
936 auto trigger_guard = 936 auto trigger_guard = SCOPE_GUARD {
937 SCOPE_GUARD({ TriggerOnChange(ControllerTriggerType::Stick, !is_configuring); }); 937 TriggerOnChange(ControllerTriggerType::Stick, !is_configuring);
938 };
938 std::scoped_lock lock{mutex}; 939 std::scoped_lock lock{mutex};
939 const auto stick_value = TransformToStick(callback); 940 const auto stick_value = TransformToStick(callback);
940 941
@@ -989,8 +990,9 @@ void EmulatedController::SetTrigger(const Common::Input::CallbackStatus& callbac
989 if (index >= controller.trigger_values.size()) { 990 if (index >= controller.trigger_values.size()) {
990 return; 991 return;
991 } 992 }
992 auto trigger_guard = 993 auto trigger_guard = SCOPE_GUARD {
993 SCOPE_GUARD({ TriggerOnChange(ControllerTriggerType::Trigger, !is_configuring); }); 994 TriggerOnChange(ControllerTriggerType::Trigger, !is_configuring);
995 };
994 std::scoped_lock lock{mutex}; 996 std::scoped_lock lock{mutex};
995 const auto trigger_value = TransformToTrigger(callback); 997 const auto trigger_value = TransformToTrigger(callback);
996 998
@@ -1036,7 +1038,9 @@ void EmulatedController::SetMotion(const Common::Input::CallbackStatus& callback
1036 if (index >= controller.motion_values.size()) { 1038 if (index >= controller.motion_values.size()) {
1037 return; 1039 return;
1038 } 1040 }
1039 SCOPE_EXIT({ TriggerOnChange(ControllerTriggerType::Motion, !is_configuring); }); 1041 SCOPE_EXIT {
1042 TriggerOnChange(ControllerTriggerType::Motion, !is_configuring);
1043 };
1040 std::scoped_lock lock{mutex}; 1044 std::scoped_lock lock{mutex};
1041 auto& raw_status = controller.motion_values[index].raw_status; 1045 auto& raw_status = controller.motion_values[index].raw_status;
1042 auto& emulated = controller.motion_values[index].emulated; 1046 auto& emulated = controller.motion_values[index].emulated;
@@ -1070,8 +1074,9 @@ void EmulatedController::SetColors(const Common::Input::CallbackStatus& callback
1070 if (index >= controller.color_values.size()) { 1074 if (index >= controller.color_values.size()) {
1071 return; 1075 return;
1072 } 1076 }
1073 auto trigger_guard = 1077 auto trigger_guard = SCOPE_GUARD {
1074 SCOPE_GUARD({ TriggerOnChange(ControllerTriggerType::Color, !is_configuring); }); 1078 TriggerOnChange(ControllerTriggerType::Color, !is_configuring);
1079 };
1075 std::scoped_lock lock{mutex}; 1080 std::scoped_lock lock{mutex};
1076 controller.color_values[index] = TransformToColor(callback); 1081 controller.color_values[index] = TransformToColor(callback);
1077 1082
@@ -1120,7 +1125,9 @@ void EmulatedController::SetBattery(const Common::Input::CallbackStatus& callbac
1120 if (index >= controller.battery_values.size()) { 1125 if (index >= controller.battery_values.size()) {
1121 return; 1126 return;
1122 } 1127 }
1123 SCOPE_EXIT({ TriggerOnChange(ControllerTriggerType::Battery, !is_configuring); }); 1128 SCOPE_EXIT {
1129 TriggerOnChange(ControllerTriggerType::Battery, !is_configuring);
1130 };
1124 std::scoped_lock lock{mutex}; 1131 std::scoped_lock lock{mutex};
1125 controller.battery_values[index] = TransformToBattery(callback); 1132 controller.battery_values[index] = TransformToBattery(callback);
1126 1133
@@ -1183,7 +1190,9 @@ void EmulatedController::SetBattery(const Common::Input::CallbackStatus& callbac
1183} 1190}
1184 1191
1185void EmulatedController::SetCamera(const Common::Input::CallbackStatus& callback) { 1192void EmulatedController::SetCamera(const Common::Input::CallbackStatus& callback) {
1186 SCOPE_EXIT({ TriggerOnChange(ControllerTriggerType::IrSensor, !is_configuring); }); 1193 SCOPE_EXIT {
1194 TriggerOnChange(ControllerTriggerType::IrSensor, !is_configuring);
1195 };
1187 std::scoped_lock lock{mutex}; 1196 std::scoped_lock lock{mutex};
1188 controller.camera_values = TransformToCamera(callback); 1197 controller.camera_values = TransformToCamera(callback);
1189 1198
@@ -1198,7 +1207,9 @@ void EmulatedController::SetCamera(const Common::Input::CallbackStatus& callback
1198} 1207}
1199 1208
1200void EmulatedController::SetRingAnalog(const Common::Input::CallbackStatus& callback) { 1209void EmulatedController::SetRingAnalog(const Common::Input::CallbackStatus& callback) {
1201 SCOPE_EXIT({ TriggerOnChange(ControllerTriggerType::RingController, !is_configuring); }); 1210 SCOPE_EXIT {
1211 TriggerOnChange(ControllerTriggerType::RingController, !is_configuring);
1212 };
1202 std::scoped_lock lock{mutex}; 1213 std::scoped_lock lock{mutex};
1203 const auto force_value = TransformToStick(callback); 1214 const auto force_value = TransformToStick(callback);
1204 1215
@@ -1212,7 +1223,9 @@ void EmulatedController::SetRingAnalog(const Common::Input::CallbackStatus& call
1212} 1223}
1213 1224
1214void EmulatedController::SetNfc(const Common::Input::CallbackStatus& callback) { 1225void EmulatedController::SetNfc(const Common::Input::CallbackStatus& callback) {
1215 SCOPE_EXIT({ TriggerOnChange(ControllerTriggerType::Nfc, !is_configuring); }); 1226 SCOPE_EXIT {
1227 TriggerOnChange(ControllerTriggerType::Nfc, !is_configuring);
1228 };
1216 std::scoped_lock lock{mutex}; 1229 std::scoped_lock lock{mutex};
1217 controller.nfc_values = TransformToNfc(callback); 1230 controller.nfc_values = TransformToNfc(callback);
1218 1231
@@ -1685,8 +1698,9 @@ void EmulatedController::Connect(bool use_temporary_value) {
1685 return; 1698 return;
1686 } 1699 }
1687 1700
1688 auto trigger_guard = 1701 auto trigger_guard = SCOPE_GUARD {
1689 SCOPE_GUARD({ TriggerOnChange(ControllerTriggerType::Connected, !is_configuring); }); 1702 TriggerOnChange(ControllerTriggerType::Connected, !is_configuring);
1703 };
1690 std::scoped_lock lock{connect_mutex, mutex}; 1704 std::scoped_lock lock{connect_mutex, mutex};
1691 if (is_configuring) { 1705 if (is_configuring) {
1692 tmp_is_connected = true; 1706 tmp_is_connected = true;
@@ -1701,8 +1715,9 @@ void EmulatedController::Connect(bool use_temporary_value) {
1701} 1715}
1702 1716
1703void EmulatedController::Disconnect() { 1717void EmulatedController::Disconnect() {
1704 auto trigger_guard = 1718 auto trigger_guard = SCOPE_GUARD {
1705 SCOPE_GUARD({ TriggerOnChange(ControllerTriggerType::Disconnected, !is_configuring); }); 1719 TriggerOnChange(ControllerTriggerType::Disconnected, !is_configuring);
1720 };
1706 std::scoped_lock lock{connect_mutex, mutex}; 1721 std::scoped_lock lock{connect_mutex, mutex};
1707 if (is_configuring) { 1722 if (is_configuring) {
1708 tmp_is_connected = false; 1723 tmp_is_connected = false;
@@ -1738,8 +1753,9 @@ NpadStyleIndex EmulatedController::GetNpadStyleIndex(bool get_temporary_value) c
1738} 1753}
1739 1754
1740void EmulatedController::SetNpadStyleIndex(NpadStyleIndex npad_type_) { 1755void EmulatedController::SetNpadStyleIndex(NpadStyleIndex npad_type_) {
1741 auto trigger_guard = 1756 auto trigger_guard = SCOPE_GUARD {
1742 SCOPE_GUARD({ TriggerOnChange(ControllerTriggerType::Type, !is_configuring); }); 1757 TriggerOnChange(ControllerTriggerType::Type, !is_configuring);
1758 };
1743 std::scoped_lock lock{mutex, npad_mutex}; 1759 std::scoped_lock lock{mutex, npad_mutex};
1744 1760
1745 if (is_configuring) { 1761 if (is_configuring) {