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.hpp
Go to the documentation of this file.
1
7
8
#ifndef ECHOMAP_LOADPROJECTTASK_HPP
9
#define ECHOMAP_LOADPROJECTTASK_HPP
10
11
#include <
filesystem
>
12
13
#include "
../../objects/persistence/JSONDeserialiser.hpp
"
14
#include "
ITask.hpp
"
15
16
namespace
echomap
17
{
18
27
class
LoadProjectTask
:
public
ITask
28
{
29
public
:
36
explicit
LoadProjectTask
(
37
std::filesystem::path
path,
38
Worker
* worker
39
);
40
41
private
:
50
WorkerResult
execute_work
()
override
;
51
60
static
JSONDeserialiser
deserialiser
;
61
65
std::filesystem::path
project_file_path
;
66
67
Worker
* worker;
68
};
69
70
}
// namespace echomap
71
72
#endif
// ECHOMAP_LOADPROJECTTASK_HPP
ITask.hpp
Task description interface specification.
JSONDeserialiser.hpp
JSONDeserialiser specification.
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
filesystem
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::filesystem::path
src
async
tasks
LoadProjectTask.hpp
Generated by
1.17.0