EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
LoadProjectTask.cpp
Go to the documentation of this file.
1
7
8#include "LoadProjectTask.hpp"
9
11
12#ifdef __EMSCRIPTEN__
14#else
15#include "../../objects/Project.hpp"
16#endif // __EMSCRIPTEN__
17
18namespace echomap
19{
20
22
25 Worker* const worker
26) :
27 ITask(std::format("LoadProjectTask: {}", path.c_str())),
28 project_file_path(std::move(path)),
29 worker(worker)
30{
31}
32
37
38} // namespace echomap
Project-loading result specification.
Project-loading task specification.
PartialProject specification.
Denotes a loaded Project completed by a LoadProjectTask job.
LoadProjectTask(std::filesystem::path path, Worker *worker)
Create a new LoadProjectTask for a serialised Project.
std::filesystem::path project_file_path
The deserialiser takes just strings for paths, so we "downgrade" the typed path to a string.
WorkerResult execute_work() override
Loads, deserialises, constructs, and validates the serialised Project file at the provided path.
static JSONDeserialiser deserialiser
Shared instance of the deserialiser.
A Worker provides an encapsulated thread-safe despatch model for submitting work and reviewing result...
Definition Worker.hpp:45
The main EchoMap outermost namespace for all non-exported symbols.
JSONPartialDeserialiser JSONDeserialiser
Provides a JSONDeserialiser for the web, where PartialProject objects are required.
std::variant< ErrorResult, DFTResult, DownsampleResult, LoadProjectResult, LoadSignalFileResult > WorkerResult
Issued once an ITask has completed its Worker cycle.
STL namespace.