summaryrefslogtreecommitdiff
path: root/src/proxyutils.h
diff options
context:
space:
mode:
authorMikaƫl Capelle <capelle.mikael@gmail.com>2020-12-07 08:40:23 +0100
committerGitHub <noreply@github.com>2020-12-07 08:40:23 +0100
commit904264e231a9aef485025cb45f1eb006b017aa1a (patch)
treec3ff682de4ac4761b8d36f0e96a96dce6a034706 /src/proxyutils.h
parent0a6a5eb7868dde908e07ea12c7eb674b2063b950 (diff)
parent3264d7899e2560bce4591ab2142ee9d51bc7890c (diff)
Merge pull request #1313 from Holt59/load-plugin-without-restart
Implement loading/unloading of plugins without restarting
Diffstat (limited to 'src/proxyutils.h')
-rw-r--r--src/proxyutils.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/proxyutils.h b/src/proxyutils.h
index 4f26c070..6c85ba14 100644
--- a/src/proxyutils.h
+++ b/src/proxyutils.h
@@ -21,6 +21,21 @@ namespace MOShared {
};
}
+ // 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)...);
+ };
+ }
+
}
#endif