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

One operation in an MNA graph — opType, typed I/O ports, attributes, execution mode (Batch / Stream / IPC / Script) and provenance. More...

#include "mna_global.h"
#include "mna_types.h"
#include "mna_port.h"
#include "mna_script.h"
#include "mna_verification.h"
#include <QString>
#include <QStringList>
#include <QVariantMap>
#include <QDateTime>
#include <QJsonObject>
#include <QCborMap>
#include <QList>
#include <QSet>
Include dependency graph for mna_node.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MNALIB::MnaNode
 Single executable step in an MNA pipeline graph, with attributes, typed ports, exec mode, verification and provenance. More...

Namespaces

namespace  MNALIB
 MNE Analysis Container Format (mna/mnx).

Detailed Description

One operation in an MNA graph — opType, typed I/O ports, attributes, execution mode (Batch / Stream / IPC / Script) and provenance.

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

MnaNode is the executable counterpart to a MnaFileRef: where the latter records a derived artefact, the node records how that artefact is produced. The opType string is resolved against MnaOpRegistry to obtain the MnaOpSchema (and, for built-in ops, the implementation function) used by MnaGraphExecutor; attributes provides the per-call parameter values validated against that schema.

The execMode field selects one of four executors: Batch (default, file-in/file-out), Stream (live MNE Scan plugin), Ipc (delegates to an external binary via ipcCommand / ipcArgs / ipcTransport), or Script (inline MnaScript run by an interpreter). Each mode reuses the same node fields, so a pipeline can mix all four without structural changes.

verification carries pre/post checks, explanation text and the full MnaProvenance snapshot captured at execution time; combined with toolVersion, executedAt and the dirty flag this is what makes MNA pipelines reproducible and supports incremental re-execution after a parameter edit.

Definition in file mna_node.h.