Process-wide singleton catalog mapping opType strings to their MnaOpSchema and (for built-in ops) executable implementation.
More...
#include "mna_global.h"#include "mna_op_schema.h"#include <QString>#include <QStringList>#include <QMap>#include <QVariantMap>#include <functional>

Go to the source code of this file.
Classes | |
| class | MNALIB::MnaOpRegistry |
Process-wide lookup from opType to MnaOpSchema and implementation function. More... | |
Namespaces | |
| namespace | MNALIB |
| MNE Analysis Container Format (mna/mnx). | |
Process-wide singleton catalog mapping opType strings to their MnaOpSchema and (for built-in ops) executable implementation.
SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors
MnaOpRegistry is the lookup table that the rest of the library hits whenever an opType string needs to be resolved into something runnable. It stores two parallel maps: one from op type to MnaOpSchema (used by MnaGraph::validate and by GUI editors to render attribute forms), and one from op type to an OpFunc lambda (used by MnaGraphExecutor to run the node). External / CLI / Script ops typically only register a schema; in-process ops register both.
loadRegistryFiles searches upward from the application directory for resources/mna/ and asks MnaRegistryLoader to ingest mna-registry.json plus every drop-in under mna-registry.d/, so new operations can be added without rebuilding the library. missingOps reports the op types referenced by a loaded project that the current process cannot resolve — the simplest way to detect a stale or partial install.
Definition in file mna_op_registry.h.