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