MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / registerAdd

Method registerAdd

app/src/API/Handlers/DataTablesHandler.cpp:500–529  ·  view source on GitHub ↗

* @brief Appends a register to a table. */

Source from the content-addressed store, hash-verified

498 * @brief Appends a register to a table.
499 */
500API::CommandResponse API::Handlers::DataTablesHandler::registerAdd(const QString& id,
501 const QJsonObject& params)
502{
503 QString table;
504 QString name;
505 if (!requireString(params, QStringLiteral("table"), table))
506 return CommandResponse::makeError(
507 id, ErrorCode::MissingParam, QStringLiteral("Missing required parameter: table"));
508
509 if (!requireString(params, QStringLiteral("name"), name))
510 return CommandResponse::makeError(
511 id, ErrorCode::MissingParam, QStringLiteral("Missing required parameter: name"));
512
513 const bool computed = params.value(QStringLiteral("computed")).toBool(true);
514
515 QVariant defaultValue(0.0);
516 if (params.contains(QStringLiteral("defaultValue")))
517 defaultValue = jsonToVariant(params.value(QStringLiteral("defaultValue")));
518 else if (params.contains(QStringLiteral("value")))
519 defaultValue = jsonToVariant(params.value(QStringLiteral("value")));
520
521 DataModel::ProjectModel::instance().addRegister(table, name, computed, defaultValue);
522
523 QJsonObject result;
524 result[QStringLiteral("table")] = table;
525 result[QStringLiteral("name")] = name;
526 result[QStringLiteral("computed")] = computed;
527 result[QStringLiteral("added")] = true;
528 return CommandResponse::makeSuccess(id, result);
529}
530
531/**
532 * @brief Removes a register from a table. With dryRun:true, reports what would be deleted

Callers

nothing calls this directly

Calls 5

requireStringFunction · 0.85
jsonToVariantFunction · 0.85
valueMethod · 0.45
containsMethod · 0.45
addRegisterMethod · 0.45

Tested by

no test coverage detected