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

Function resolveCheckpoint

app/src/API/Handlers/AssistantHandler.cpp:874–897  ·  view source on GitHub ↗

* @brief Resolve a checkpoint reference (path / timestamp / label) to an absolute path. */

Source from the content-addressed store, hash-verified

872 * @brief Resolve a checkpoint reference (path / timestamp / label) to an absolute path.
873 */
874static QString resolveCheckpoint(const QJsonObject& params)
875{
876 if (params.contains(QStringLiteral("path")))
877 return params.value(QStringLiteral("path")).toString();
878
879 const auto rows = Misc::BackupManager::instance().list();
880 if (params.contains(QStringLiteral("timestamp"))) {
881 const auto needle = params.value(QStringLiteral("timestamp")).toString();
882 for (const auto& v : rows) {
883 const auto row = v.toMap();
884 if (row.value(QStringLiteral("timestamp")).toString() == needle)
885 return row.value(QStringLiteral("path")).toString();
886 }
887 }
888 if (params.contains(QStringLiteral("label"))) {
889 const auto needle = params.value(QStringLiteral("label")).toString();
890 for (const auto& v : rows) {
891 const auto row = v.toMap();
892 if (row.value(QStringLiteral("label")).toString() == needle)
893 return row.value(QStringLiteral("path")).toString();
894 }
895 }
896 return QString();
897}
898
899/**
900 * @brief Restore a previously taken snapshot into ProjectModel and persist it to disk; the

Callers 1

restoreMethod · 0.85

Calls 3

containsMethod · 0.45
valueMethod · 0.45
listMethod · 0.45

Tested by

no test coverage detected