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
MnaPort struct declaration — typed input/output slot on a graph node.
mna library export/import macros.
#define MNASHARED_EXPORT
Definition mna_global.h:55
MnaVerification, MnaVerificationCheck, MnaVerificationResult, MnaProvenance declarations.
MnaScript struct declaration — inline code embedded in a graph node.
MNA type definitions.
MNE Analysis Container Format (mna/mnx).
MnaNodeExecMode
Definition mna_types.h:123
@ Batch
Runs once on static file-based inputs (default).
Definition mna_types.h:124
Graph node representing a processing step.
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:197
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:134
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:246
QList< MnaPort > outputs
Output ports.
Definition mna_node.h:81
QJsonObject toJson() const
Definition mna_node.cpp:79
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 code for script-type graph nodes.
Definition mna_script.h:69
Verification, explanation, and provenance for a graph node.