History

Work on better subscribtion to script messages

ksuprynowicz committed 3 years ago

Commit 274867b1 parent f3dbfc49 files · +209 −53Browse files

Showing the changes to libraries/script-engine/src/ScriptMessage.cpp (1 of 9 files). Show all

Unified · Split

libraries/script-engine/src/ScriptMessage.cpp+20−2
@@ -11,12 +11,30 @@ · 10 unmodified lines
1111
1212 #include "ScriptMessage.h"
1313
14+#include <qhash.h>
15+
1416 QJsonObject ScriptMessage::toJson() {
1517 QJsonObject object;
1618 object["message"] = _messageContent;
1719 object["lineNumber"] = _lineNumber;
1820 object["fileName"] = _fileName;
19− object["type"] = scriptTypeToString(_scriptType);
20− object["severity"] = severityToString(_severity);
21+ object["type"] = static_cast<int>(_scriptType);
22+ object["severity"] = static_cast<int>(_severity);
2123 return object;
24+}
25+
26+bool ScriptMessage::fromJson(const QJsonObject &object) {
27+ if (!object["message"].isString()
28+ || !object["lineNumber"].isDouble()
29+ || !object["fileName"].isString()
30+ || !object["type"].isDouble()
31+ || !object["severity"].isDouble()) {
32+ qDebug() << "ScriptMessage::fromJson failed to find required fields in JSON file";
33+ return false;
34+ }
35+ _messageContent = object["message"].toString();
36+ _lineNumber = object["lineNumber"].toInt();
37+ _fileName = object["fileName"].toInt();
38+ _scriptType = static_cast<ScriptMessage::ScriptType>(object["type"].toInt());
39+ _severity = static_cast<ScriptMessage::Severity>(object["severity"].toInt());
2240 }