Skip to content
Snippets Groups Projects
Verified Commit 1742cd92 authored by Tobias Triffterer's avatar Tobias Triffterer :house_with_garden:
Browse files

Add Parser for fillHistogram Command

As all commands that contain arguments, a dedicated parser method is
added for this one, too.
parent 5fcd8a3c
No related branches found
No related tags found
No related merge requests found
Pipeline #3019 passed with stage
in 48 seconds
......@@ -79,6 +79,8 @@ Command Command::fromString(const QString& source)
return parseUpdateExperimentState(rootobj);
case Action::setTargetState:
return parseSetTargetState(rootobj);
case Action::fillHistogram:
return parseFillHistogram(rootobj);
case Action::sendHistogramUpdate:
case Action::moveTargetCloser:
case Action::moveTargetFarther:
......@@ -93,7 +95,6 @@ Command Command::fromString(const QString& source)
// Not yet implemented:
case Action::queryServerInformation:
case Action::updateHistogram:
case Action::fillHistogram:
return Command();
default:
return Command();
......@@ -228,6 +229,20 @@ Protocol::Command Protocol::Command::parseSetTargetState(const QJsonObject& inpu
);
}
Protocol::Command Protocol::Command::parseFillHistogram(const QJsonObject& input)
{
if (!input.keys().contains(QStringLiteral("adcchannels")) || !input.value(QStringLiteral("adcchannels")).isString()) {
logError(QStringLiteral("fillHistogram command does not contain adcchannels."));
return Command();
}
return Command(
Action::fillHistogram,
Arguments{std::make_pair(QStringLiteral("adcchannels"), input.value(QStringLiteral("adcchannels")).toString())},
input.value(QStringLiteral("token")).toString()
);
}
QString Command::toString() const
{
if (action == Action::invalid)
......
......@@ -74,6 +74,7 @@ private:
static Command parseError(const QJsonObject& input);
static Command parseUpdateExperimentState(const QJsonObject& input);
static Command parseSetTargetState(const QJsonObject& input);
static Command parseFillHistogram(const QJsonObject& input);
static QString getActionString(const Action action);
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment