|
Motion Master 6.0.0-alpha.111
Next-generation motion control software
|
The registry of every procedure the server knows, and the four operations a client performs against it. More...
#include <cstdint>#include <expected>#include <functional>#include <nlohmann/json_fwd.hpp>#include <string>#include <string_view>#include <variant>#include <vector>#include "node/device.h"#include "node/device_manager.h"#include "node/plant_identification.h"#include "node/procedure.h"#include "node/procedure_manager.h"Go to the source code of this file.
Classes | |
| struct | mm::node::ProcedureRegistryEntry |
| One procedure, as the registry knows it: what it is, who has it, and how to run it. More... | |
| struct | mm::node::ProcedureListing |
One procedure paired with how its last run on a device went — an entry of GET /api/devices/:pos/procedures. More... | |
| struct | mm::node::ProcedureRegistryConfig |
What the registry needs from outside mm::node. More... | |
| class | mm::node::ProcedureRegistry |
| Every procedure the server knows, and the four operations a client performs against it. More... | |
Namespaces | |
| namespace | mm |
| namespace | mm::node |
Functions | |
| void | mm::node::to_json (nlohmann::json &j, const ProcedureListing &listing) |
The registry of every procedure the server knows, and the four operations a client performs against it.
This is the layer that makes one generic route triple serve every procedure: the HTTP handler forwards a name and a JSON body, and the registry resolves both. Adding a procedure is adding a row here — a descriptor, a predicate saying which devices have it, and a factory turning a request into a body — with no route, no handler and no ProcedureManager change.
It sits outward of DeviceManager and ProcedureManager and may name profile types freely; both of those stay profile-ignorant. It is also where the two error kinds those classes cannot judge come from: whether a procedure exists at all, and whether a request for it validates.