summaryrefslogtreecommitdiff
path: root/src/proxyutils.h
diff options
context:
space:
mode:
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