v2.0.0
Loading...
Searching...
No Matches
mna_project.h
Go to the documentation of this file.
1//=============================================================================================================
34
35#ifndef MNA_PROJECT_H
36#define MNA_PROJECT_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "mna_global.h"
43#include "mna_subject.h"
44#include "mna_node.h"
45
46//=============================================================================================================
47// QT INCLUDES
48//=============================================================================================================
49
50#include <QString>
51#include <QList>
52#include <QDateTime>
53#include <QSharedPointer>
54#include <QJsonObject>
55#include <QCborMap>
56
57//=============================================================================================================
58// DEFINE NAMESPACE MNALIB
59//=============================================================================================================
60
61namespace MNALIB{
62
63//=============================================================================================================
68{
69public:
70 typedef QSharedPointer<MnaProject> SPtr;
71 typedef QSharedPointer<const MnaProject> ConstSPtr;
72
73 //=========================================================================================================
77 MnaProject();
78
79 //=========================================================================================================
80
81 static constexpr const char* CURRENT_SCHEMA_VERSION = "1.0";
82
83 QString name;
84 QString description;
85 QString mnaVersion;
86 QDateTime created;
87 QDateTime modified;
88 QList<MnaSubject> subjects;
89 QList<MnaNode> pipeline;
90 QJsonObject extras;
91
92 //=========================================================================================================
96 QJsonObject toJson() const;
97
98 //=========================================================================================================
102 static MnaProject fromJson(const QJsonObject& json);
103
104 //=========================================================================================================
108 QCborMap toCbor() const;
109
110 //=========================================================================================================
114 static MnaProject fromCbor(const QCborMap& cbor);
115
116 //=========================================================================================================
124 static MnaProject read(const QString& path);
125
126 //=========================================================================================================
135 static bool write(const MnaProject& project, const QString& path);
136};
137
138} // namespace MNALIB
139
140#endif // MNA_PROJECT_H
mna library export/import macros.
#define MNASHARED_EXPORT
Definition mna_global.h:55
MnaSubject class declaration.
MnaNode struct declaration — one operation in the computational graph.
MNE Analysis Container Format (mna/mnx).
QList< MnaSubject > subjects
Definition mna_project.h:88
QJsonObject toJson() const
QSharedPointer< const MnaProject > ConstSPtr
Definition mna_project.h:71
static bool write(const MnaProject &project, const QString &path)
static MnaProject fromJson(const QJsonObject &json)
static MnaProject read(const QString &path)
static MnaProject fromCbor(const QCborMap &cbor)
QJsonObject extras
Definition mna_project.h:90
static constexpr const char * CURRENT_SCHEMA_VERSION
Definition mna_project.h:81
QList< MnaNode > pipeline
Definition mna_project.h:89
QCborMap toCbor() const
QSharedPointer< MnaProject > SPtr
Definition mna_project.h:70