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

Method fire

app/src/DataModel/Scripting/DeviceWriteApi.cpp:315–337  ·  view source on GitHub ↗

* @brief Implements actionFire(actionId) for the JS scripting engine. */

Source from the content-addressed store, hash-verified

313 * @brief Implements actionFire(actionId) for the JS scripting engine.
314 */
315QVariantMap DataModel::ActionFireBridge::fire(const QJSValue& actionIdVal)
316{
317 auto makeError = [](const QString& msg) -> QVariantMap {
318 QVariantMap m;
319 m.insert(QStringLiteral("ok"), false);
320 m.insert(QStringLiteral("error"), msg);
321 return m;
322 };
323
324 if (!actionIdVal.isNumber())
325 return makeError(QStringLiteral("actionFire: actionId must be a number"));
326
327 const int actionId = static_cast<int>(actionIdVal.toInt());
328 QString errorMsg;
329 const bool ok = fireActionByPublicId(actionId, errorMsg);
330
331 QVariantMap result;
332 result.insert(QStringLiteral("ok"), ok);
333 if (!ok)
334 result.insert(QStringLiteral("error"), errorMsg);
335
336 return result;
337}
338
339/**
340 * @brief Installs actionFire() into a QJSEngine, reusing the bridge if already attached.

Callers 3

jquery.jsFile · 0.80
prelude.jsFile · 0.80
SerialStudio.jsFile · 0.80

Calls 1

fireActionByPublicIdFunction · 0.85

Tested by

no test coverage detected