v2.0.0
Loading...
Searching...
No Matches
mna_node.h
Go to the documentation of this file.
1//=============================================================================================================
34
35#ifndef MNA_NODE_H
36#define MNA_NODE_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "mna_global.h"
43#include "mna_types.h"
44#include "mna_port.h"
45#include "mna_script.h"
46#include "mna_verification.h"
47
48//=============================================================================================================
49// QT INCLUDES
50//=============================================================================================================
51
52#include <QString>
53#include <QStringList>
54#include <QVariantMap>
55#include <QDateTime>
56#include <QJsonObject>
57#include <QCborMap>
58#include <QList>
59#include <QSet>
60
61//=============================================================================================================
62// DEFINE NAMESPACE MNALIB
63//=============================================================================================================
64
65namespace MNALIB
66{
67
68//=============================================================================================================
75{
76 QString id;
77 QString opType;
78 QVariantMap attributes;
79
80 QList<MnaPort> inputs;
81 QList<MnaPort> outputs;
82
84
85 // IPC configuration (used when execMode == Ipc)
86 QString ipcCommand;
87 QStringList ipcArgs;
88 QString ipcWorkDir;
89 QString ipcTransport;
90
91 // Script configuration (used when execMode == Script)
93
94 // Verification & provenance
96
97 // Execution metadata
98 QString toolVersion;
99 QDateTime executedAt;
100 bool dirty = true;
101 QJsonObject extras;
102
103 QJsonObject toJson() const;
104 static MnaNode fromJson(const QJsonObject& json);
105 QCborMap toCbor() const;
106 static MnaNode fromCbor(const QCborMap& cbor);
107};
108
109} // namespace MNALIB
110
111#endif // MNA_NODE_H
Verification, declarative checks, evaluation results and provenance snapshot attached to every MnaNod...
Export/import macros, build-info accessors, and MNALIB namespace anchor for the MNE Analysis Containe...
#define MNASHARED_EXPORT
Definition mna_global.h:47
Inline source code carried by a Script-mode graph node — language, interpreter command,...
Enums and string-conversion helpers for the MNA container vocabulary (file roles, data kinds,...
Typed input or output slot on a graph node — carries an MnaDataKind, an upstream link,...
MNE Analysis Container Format (mna/mnx).
MnaNodeExecMode
Definition mna_types.h:122
@ Batch
Runs once on static file-based inputs (default).
Definition mna_types.h:123
Single executable step in an MNA pipeline graph, with attributes, typed ports, exec mode,...
Definition mna_node.h:75
MnaNodeExecMode execMode
Execution mode.
Definition mna_node.h:83
QString toolVersion
Version of tool that last executed this node.
Definition mna_node.h:98
QString ipcCommand
External executable command.
Definition mna_node.h:86
QStringList ipcArgs
Command-line arguments (supports {{placeholder}} tokens).
Definition mna_node.h:87
bool dirty
Whether node needs re-execution.
Definition mna_node.h:100
MnaScript script
Inline source code, interpreter, language.
Definition mna_node.h:92
QList< MnaPort > inputs
Input ports.
Definition mna_node.h:80
QCborMap toCbor() const
Definition mna_node.cpp:187
QVariantMap attributes
Operation parameters.
Definition mna_node.h:78
QDateTime executedAt
Timestamp of last execution.
Definition mna_node.h:99
static MnaNode fromJson(const QJsonObject &json)
Definition mna_node.cpp:124
QString opType
Operation type (looked up in MnaOpRegistry).
Definition mna_node.h:77
MnaVerification verification
Explanation, checks, results, and provenance snapshot.
Definition mna_node.h:95
QString ipcWorkDir
Working directory for external process.
Definition mna_node.h:88
QString ipcTransport
"stdio", "tcp", "shm", "file"
Definition mna_node.h:89
static MnaNode fromCbor(const QCborMap &cbor)
Definition mna_node.cpp:236
QList< MnaPort > outputs
Output ports.
Definition mna_node.h:81
QJsonObject toJson() const
Definition mna_node.cpp:69
QString id
Unique node identifier.
Definition mna_node.h:76
QJsonObject extras
Unknown keys preserved for lossless round-trip.
Definition mna_node.h:101
Inline interpreter-launched source code carried by a Script-mode MnaNode.
Definition mna_script.h:64
Verification, explanation, and provenance for a graph node.