EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
JSActionController.hpp
Go to the documentation of this file.
1
9
10#ifndef ECHOMAP_JSACTIONCONTROLLER_HPP
11#define ECHOMAP_JSACTIONCONTROLLER_HPP
12
13#if defined(__EMSCRIPTEN__) || defined(__DOXYGEN__)
14
16
17extern "C" int echomap_on_project_file_picked(const char* path) noexcept;
20 const char*,
21 const char*
22) noexcept;
23
24namespace echomap
25{
26
32class JSActionController : public ActionControllerBase<JSActionController>
33{
34 friend ActionControllerBase;
35 friend int ::echomap_on_project_file_picked(const char* path) noexcept;
36 friend int ::echomap_on_register_vfs_mapping(
38 const char*,
39 const char*
40 ) noexcept;
41
47 static void select_project_file_impl();
48
58 static void register_vfs_mapping_impl(
59 std::size_t project_id,
60 const std::filesystem::path& external
61 );
62};
63
64} // namespace echomap
65
66#endif // __EMSCRIPTEN__
67
68#endif // ECHOMAP_JSACTIONCONTROLLER_HPP
ActionControllerBase specification.
Specialisation of ActionControllerBase to service actions on a WebAssembly target (using the Emscript...
static void select_project_file_impl()
Invokes the JS function for Project File Action.
int echomap_on_project_file_picked(const char *path) noexcept
Services the Project File Action callback for Emscripten.
static void register_vfs_mapping_impl(std::size_t project_id, const std::filesystem::path &external)
Invokes the JS function for Register VFS Mapping.
int echomap_on_register_vfs_mapping(std::size_t, const char *, const char *) noexcept
Services the Register VFS Mapping callback for Emscripten.
The main EchoMap outermost namespace for all non-exported symbols.