diff options
| author | Mikaël Capelle <capelle.mikael@gmail.com> | 2022-05-17 11:47:01 +0200 |
|---|---|---|
| committer | Mikaël Capelle <capelle.mikael@gmail.com> | 2023-07-09 17:20:40 +0200 |
| commit | d13f6bb870cdda71257f665367be8ef9fca86255 (patch) | |
| tree | 52e214718478f1e52856572f5aa1a2ac58537f9f /src/proxyutils.h | |
| parent | 86bb01ba9eac879d3685c439ac9da0028bc4bc80 (diff) | |
Apply clang-format.
Diffstat (limited to 'src/proxyutils.h')
| -rw-r--r-- | src/proxyutils.h | 63 |
1 files changed, 36 insertions, 27 deletions
diff --git a/src/proxyutils.h b/src/proxyutils.h index 6c85ba14..7aebf315 100644 --- a/src/proxyutils.h +++ b/src/proxyutils.h @@ -5,37 +5,46 @@ #include "organizerproxy.h" -namespace MOShared { +namespace MOShared +{ - template <class Fn, class T = int> - auto callIfPluginActive(OrganizerProxy* proxy, Fn&& callback, T defaultReturn = T{}) { - return [fn = std::forward<Fn>(callback), proxy, defaultReturn](auto&& ...args) { - if (proxy->isPluginEnabled(proxy->plugin())) { - return fn(std::forward<decltype(args)>(args)...); +template <class Fn, class T = int> +auto callIfPluginActive(OrganizerProxy* proxy, Fn&& callback, T defaultReturn = T{}) +{ + return [fn = std::forward<Fn>(callback), proxy, defaultReturn](auto&&... args) { + if (proxy->isPluginEnabled(proxy->plugin())) { + return fn(std::forward<decltype(args)>(args)...); + } else { + if constexpr (!std::is_same_v< + std::invoke_result_t<std::decay_t<Fn>, decltype(args)...>, + void>) { + return defaultReturn; } - else { - if constexpr (!std::is_same_v<std::invoke_result_t<std::decay_t<Fn>, decltype(args)... >, void>) { - return defaultReturn; - } - } - }; - } - - // We need to connect to the organizer. - template <class Signal, class T = int> - auto callSignalIfPluginActive(OrganizerProxy* proxy, const Signal& signal, T defaultReturn = T{}) { - return callIfPluginActive(proxy, [&signal](auto&&... args) { - return signal(std::forward<decltype(args)>(args)...); - }, defaultReturn); - } + } + }; +} - template <class Signal, class T = int> - auto callSignalAlways(const Signal& signal) { - return [&signal](auto&&... args) { - return signal(std::forward<decltype(args)>(args)...); - }; - } +// We need to connect to the organizer. +template <class Signal, class T = int> +auto callSignalIfPluginActive(OrganizerProxy* proxy, const Signal& signal, + T defaultReturn = T{}) +{ + return callIfPluginActive( + proxy, + [&signal](auto&&... args) { + return signal(std::forward<decltype(args)>(args)...); + }, + defaultReturn); +} +template <class Signal, class T = int> +auto callSignalAlways(const Signal& signal) +{ + return [&signal](auto&&... args) { + return signal(std::forward<decltype(args)>(args)...); + }; } +} // namespace MOShared + #endif |
