v2.0.0
Loading...
Searching...
No Matches
mna_registry_loader.h File Reference

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

#include "mna_global.h"
#include <QString>
Include dependency graph for mna_registry_loader.h:
This graph shows which files directly or indirectly include this file:

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).

Detailed Description

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

Author
Christoph Dinh chris.nosp@m.toph.nosp@m..dinh.nosp@m.@mne.nosp@m.-cpp..nosp@m.org
Since
2.2.0
Date
April 2026

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.