diff options
| author | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-12-02 21:08:22 +0100 |
|---|---|---|
| committer | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-12-02 21:08:22 +0100 |
| commit | cb453a9ba70106832eec2cb0feecbd91d2e8b7d7 (patch) | |
| tree | c23efc7f1ad1679fe906c43f6886e1c78c0308c5 /src/proxyutils.h | |
| parent | 4f7f378d8d6f9ec93d7e024ce73cda6b177fc490 (diff) | |
Fix callbacks for IOrganizer when plugin are unloaded/loaded.
Diffstat (limited to 'src/proxyutils.h')
| -rw-r--r-- | src/proxyutils.h | 15 |
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 |
