History

Merge branch master into protocol_changes

HifiExperiments committed 2 years ago

Commit ee705d21 parent f9e729b370 files · +11827 −6045Browse files

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

Unified · Split

libraries/script-engine/src/ScriptMessage.cpp+48−0
@@ -0,0 +1,48 @@
1//
2// ScriptMessage.h
3// libraries/script-engine/src/v8/FastScriptValueUtils.cpp
4//
5// Created by dr Karol Suprynowicz on 2023/09/24.
6// Copyright 2023 Overte e.V.
7//
8// Distributed under the Apache License, Version 2.0.
9// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10//
11
12#include "ScriptMessage.h"
13
14#include <qhash.h>
15
16QJsonObject ScriptMessage::toJson() {
17 QJsonObject object;
18 object["message"] = _messageContent;
19 object["lineNumber"] = _lineNumber;
20 object["fileName"] = _fileName;
21 object["entityID"] = _entityID.toString();
22 object["type"] = static_cast<int>(_scriptType);
23 object["severity"] = static_cast<int>(_severity);
24 return object;
25}
26
27bool ScriptMessage::fromJson(const QJsonObject &object) {
28 if (object.isEmpty()) {
29 qDebug() << "ScriptMessage::fromJson object is empty";
30 return false;
31 }
32 if (!object["message"].isString()
33 || !object["lineNumber"].isDouble()
34 || !object["fileName"].isString()
35 || !object["entityID"].isString()
36 || !object["type"].isDouble()
37 || !object["severity"].isDouble()) {
38 qDebug() << "ScriptMessage::fromJson failed to find required fields in JSON file";
39 return false;
40 }
41 _messageContent = object["message"].toString();
42 _lineNumber = object["lineNumber"].toInt();
43 _fileName = object["fileName"].toInt();
44 _entityID = QUuid::fromString(object["entityID"].toString());
45 _scriptType = static_cast<ScriptMessage::ScriptType>(object["type"].toInt());
46 _severity = static_cast<ScriptMessage::Severity>(object["severity"].toInt());
47 return true;
48}