37#include <QCoreApplication>
51MnaOpRegistry::MnaOpRegistry()
60 static MnaOpRegistry registry;
75 return m_schemas.contains(opType);
82 return m_schemas.value(opType);
89 return m_schemas.keys();
96 m_funcs.insert(opType, func);
103 return m_funcs.value(opType);
111 const QString relPath = QStringLiteral(
"resources/mna");
113 QDir dir(QCoreApplication::applicationDirPath());
114 for (
int i = 0; i < 6; ++i) {
115 QString candidate = dir.absoluteFilePath(relPath);
116 if (QDir(candidate).exists()) {
123 if (QDir(relPath).exists())
126 qWarning() <<
"MnaOpRegistry: Could not find resources/mna/ registry directory";
135 for (
const QString& tool : pipelineTools) {
136 if (!m_schemas.contains(tool))
137 missing.append(tool);
Declarative loader for MnaOpRegistry contents — ingests mna-registry.json manifests and overrides the...
Process-wide singleton catalog mapping opType strings to their MnaOpSchema and (for built-in ops) exe...
MNE Analysis Container Format (mna/mnx).
static MnaOpRegistry & instance()
OpFunc opFunc(const QString &opType) const
QStringList registeredOps() const
bool hasOp(const QString &opType) const
void registerOpFunc(const QString &opType, OpFunc func)
void registerOp(const MnaOpSchema &schema)
MnaOpSchema schema(const QString &opType) const
QStringList missingOps(const QStringList &pipelineTools) const
std::function< QVariantMap(const QVariantMap &inputs, const QVariantMap &attributes)> OpFunc
Operation implementation callback type.
Operation schema for graph validation.
static int loadDirectory(const QString ®istryDir, MnaOpRegistry ®istry)