Declarative loader for MnaOpRegistry contents — ingests mna-registry.json manifests and overrides them with drop-ins under mna-registry.d/.
More...


Go to the source code of this file.
Classes | |
| class | MNALIB::MnaRegistryLoader |
| Reads MNA op-schema manifests and feeds them into MnaOpRegistry, with drop-in directory merge support. More... | |
Namespaces | |
| namespace | MNALIB |
| MNE Analysis Container Format (mna/mnx). | |
Declarative loader for MnaOpRegistry contents — ingests mna-registry.json manifests and overrides them with drop-ins under mna-registry.d/.
SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors
MnaRegistryLoader is the bridge between the on-disk representation of MNA op schemas (JSON manifests authored by library and tool maintainers) and the in-memory MnaOpRegistry consulted by the validator and executor. A manifest carries an mna_registry_version field for future- proofing, a provider name for diagnostics, and an ops array whose entries are deserialised into MnaOpSchema instances.
loadFile handles a single manifest, loadDirectory loads the master mna-registry.json first and then every *.json drop-in from mna-registry.d/ in alphabetical order; later files overwrite earlier definitions for the same op type, which is the mechanism plug-ins use to extend or shadow built-in operations. saveFile re-emits the current registry to a canonical manifest so a running process can publish the exact op surface it offers.
Definition in file mna_registry_loader.h.