Reference to a file inside an MNA project — relative path, semantic role, SHA-256 hash, and optional embedded payload. More...
#include "mna_global.h"#include "mna_types.h"#include <QString>#include <QByteArray>#include <QJsonObject>#include <QCborMap>#include <QSet>

Go to the source code of this file.
Classes | |
| struct | MNALIB::MnaFileRef |
Namespaces | |
| namespace | MNALIB |
| MNE Analysis Container Format (mna/mnx). | |
Reference to a file inside an MNA project — relative path, semantic role, SHA-256 hash, and optional embedded payload.
SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors
MnaFileRef is the leaf node of an MNA project tree. Every raw recording, forward/inverse operator, covariance matrix, BEM model or annotation that belongs to a subject is recorded as one of these structures, never as a bare path string, so the container always knows what the file is (via MnaFileRole), what format it carries (FIFF, MGH, STC, …), how big it is, and whether its bytes have changed since the project was last saved.
The sha256 field is the contract that makes pipelines reproducible: the graph executor refuses to consume an input whose digest no longer matches and downstream cached results are invalidated automatically. The embedded flag plus inline data buffer let a project be self-contained when shipped to a collaborator (think "single-file analysis bundle"), at the cost of larger container size. extras preserves any keys produced by newer tooling so old readers can still round-trip projects without dropping unknown metadata.
Definition in file mna_file_ref.h.