|
EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
|
Provides a platform-independent static mechanism for performing "system actions", such as raising a file-selector dialog, and invoking callbacks upon completion. More...
#include <ActionControllerBase.hpp>
Static Public Member Functions | |
| static void | bind (CallbackT &&bound_callback) |
| Bind the callback slot. | |
| static void | unbind () |
| Disconnect the callback. | |
| static void | select_project_file () |
| Invokes the Project File Action. | |
| static void | register_vfs_mapping (const std::size_t project_id, const std::filesystem::path &external) |
| Invokes the Register VFS Mapping. | |
Static Protected Member Functions | |
| template<class NotificationT, class... Args> requires variant_helpers::VariantAlternative< NotificationT, Notification> | |
| static void | notify (Args &&... args) |
| Invokes the notification callback. | |
Private Types | |
| using | CallbackT = sigc::slot<void(const Notification&)> |
Static Private Attributes | |
| static CallbackT | callback |
Provides a platform-independent static mechanism for performing "system actions", such as raising a file-selector dialog, and invoking callbacks upon completion.
The intended workflow is:
Due to the reliance upon static storage, this class (and any of its inheritors) is not thread-safe. This data model is necessary to accommodate elaborate callback routines, such as Emscripten's ccall API, in which calling code cannot reasonably retrieve a pointer to any C++ objects.
Definition at line 60 of file ActionControllerBase.hpp.
|
private |
Definition at line 62 of file ActionControllerBase.hpp.
|
inlinestaticprotected |
Invokes the notification callback.
If no callback is bound, a warning is issued and the Notification is dropped.
| NotificationT | The type of Notification to send. |
| Args | The parameter types of the Notification constructor. |
| args | The arguments for the Notification constructor. |
Definition at line 130 of file ActionControllerBase.hpp.
|
staticprivate |
Definition at line 63 of file ActionControllerBase.hpp.