mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 06:57:37 +02:00
More work on JSON encoding.
This commit is contained in:
parent
7db05f2c8e
commit
aac7459f42
3 changed files with 232 additions and 8 deletions
|
@ -1657,6 +1657,109 @@ const TypeStreamer* Bitstream::createInvalidTypeStreamer() {
|
||||||
return streamer;
|
return streamer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(bool value) {
|
||||||
|
_contents.append(value);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(int value) {
|
||||||
|
_contents.append(value);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(uint value) {
|
||||||
|
_contents.append((int)value);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(float value) {
|
||||||
|
_contents.append((double)value);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const QByteArray& value) {
|
||||||
|
_contents.append(QString(value.toPercentEncoding()));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const QColor& value) {
|
||||||
|
_contents.append(value.name());
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const QScriptValue& value) {
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const QString& value) {
|
||||||
|
_contents.append(value);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const QUrl& value) {
|
||||||
|
_contents.append(value.toString());
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const glm::vec3& value) {
|
||||||
|
QJsonArray array;
|
||||||
|
array.append(value.x);
|
||||||
|
array.append(value.y);
|
||||||
|
array.append(value.z);
|
||||||
|
_contents.append(array);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const glm::quat& value) {
|
||||||
|
QJsonArray array;
|
||||||
|
array.append(value.x);
|
||||||
|
array.append(value.y);
|
||||||
|
array.append(value.z);
|
||||||
|
array.append(value.w);
|
||||||
|
_contents.append(array);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const QMetaObject* metaObject) {
|
||||||
|
if (!metaObject) {
|
||||||
|
_contents.append(QJsonValue());
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
const ObjectStreamer* streamer = Bitstream::getObjectStreamers().value(metaObject);
|
||||||
|
addObjectStreamer(streamer);
|
||||||
|
_contents.append(QString(streamer->getName()));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const QVariant& value) {
|
||||||
|
if (!value.isValid()) {
|
||||||
|
_contents.append(QJsonValue());
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
const TypeStreamer* streamer = Bitstream::getTypeStreamers().value(value.userType());
|
||||||
|
if (streamer) {
|
||||||
|
_contents.append(streamer->getJSONVariantData(*this, value));
|
||||||
|
} else {
|
||||||
|
qWarning() << "Non-streamable type:" << value.typeName();
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const SharedObjectPointer& object) {
|
||||||
|
if (object) {
|
||||||
|
addSharedObject(object);
|
||||||
|
_contents.append(object->getID());
|
||||||
|
} else {
|
||||||
|
_contents.append(0);
|
||||||
|
}
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
JSONWriter& JSONWriter::operator<<(const QObject* object) {
|
||||||
|
_contents.append(getData(object));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
void JSONWriter::addTypeStreamer(const TypeStreamer* streamer) {
|
void JSONWriter::addTypeStreamer(const TypeStreamer* streamer) {
|
||||||
if (!_typeStreamerNames.contains(streamer->getName())) {
|
if (!_typeStreamerNames.contains(streamer->getName())) {
|
||||||
_typeStreamerNames.insert(streamer->getName());
|
_typeStreamerNames.insert(streamer->getName());
|
||||||
|
@ -1695,11 +1798,31 @@ void JSONWriter::addSharedObject(const SharedObjectPointer& object) {
|
||||||
QJsonObject sharedObject;
|
QJsonObject sharedObject;
|
||||||
sharedObject.insert("id", object->getID());
|
sharedObject.insert("id", object->getID());
|
||||||
sharedObject.insert("originID", object->getOriginID());
|
sharedObject.insert("originID", object->getOriginID());
|
||||||
|
sharedObject.insert("data", getData(object.data()));
|
||||||
_sharedObjects.replace(index, sharedObject);
|
_sharedObjects.replace(index, sharedObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QJsonDocument JSONWriter::getDocument() const {
|
||||||
|
QJsonObject top;
|
||||||
|
top.insert("contents", _contents);
|
||||||
|
top.insert("objects", _sharedObjects);
|
||||||
|
top.insert("classes", _objectStreamers);
|
||||||
|
top.insert("types", _typeStreamers);
|
||||||
|
return QJsonDocument(top);
|
||||||
|
}
|
||||||
|
|
||||||
|
QJsonValue JSONWriter::getData(const QObject* object) {
|
||||||
|
if (!object) {
|
||||||
|
return QJsonValue();
|
||||||
|
}
|
||||||
|
const QMetaObject* metaObject = object->metaObject();
|
||||||
|
const ObjectStreamer* streamer = (metaObject == &GenericSharedObject::staticMetaObject) ?
|
||||||
|
static_cast<const GenericSharedObject*>(object)->getStreamer().data() :
|
||||||
|
Bitstream::getObjectStreamers().value(metaObject);
|
||||||
|
return streamer->getJSONData(*this, object);
|
||||||
|
}
|
||||||
|
|
||||||
ObjectStreamer::ObjectStreamer(const QMetaObject* metaObject) :
|
ObjectStreamer::ObjectStreamer(const QMetaObject* metaObject) :
|
||||||
_metaObject(metaObject) {
|
_metaObject(metaObject) {
|
||||||
}
|
}
|
||||||
|
@ -2023,6 +2146,14 @@ QJsonValue TypeStreamer::getJSONData(JSONWriter& writer, const QVariant& value)
|
||||||
return QJsonValue();
|
return QJsonValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QJsonValue TypeStreamer::getJSONVariantData(JSONWriter& writer, const QVariant& value) const {
|
||||||
|
writer.addTypeStreamer(this);
|
||||||
|
QJsonObject data;
|
||||||
|
data.insert("type", QString(getName()));
|
||||||
|
data.insert("value", getJSONData(writer, value));
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
bool TypeStreamer::equal(const QVariant& first, const QVariant& second) const {
|
bool TypeStreamer::equal(const QVariant& first, const QVariant& second) const {
|
||||||
return first == second;
|
return first == second;
|
||||||
}
|
}
|
||||||
|
@ -2208,6 +2339,10 @@ QJsonValue EnumTypeStreamer::getJSONMetadata(JSONWriter& writer) const {
|
||||||
return metadata;
|
return metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QJsonValue EnumTypeStreamer::getJSONData(JSONWriter& writer, const QVariant& value) const {
|
||||||
|
return value.toInt();
|
||||||
|
}
|
||||||
|
|
||||||
TypeStreamer::Category EnumTypeStreamer::getCategory() const {
|
TypeStreamer::Category EnumTypeStreamer::getCategory() const {
|
||||||
return ENUM_CATEGORY;
|
return ENUM_CATEGORY;
|
||||||
}
|
}
|
||||||
|
@ -2372,6 +2507,10 @@ QJsonValue GenericEnumTypeStreamer::getJSONMetadata(JSONWriter& writer) const {
|
||||||
return metadata;
|
return metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QJsonValue GenericEnumTypeStreamer::getJSONData(JSONWriter& writer, const QVariant& value) const {
|
||||||
|
return value.toInt();
|
||||||
|
}
|
||||||
|
|
||||||
void GenericEnumTypeStreamer::write(Bitstream& out, const QVariant& value) const {
|
void GenericEnumTypeStreamer::write(Bitstream& out, const QVariant& value) const {
|
||||||
int intValue = value.toInt();
|
int intValue = value.toInt();
|
||||||
out.write(&intValue, _bits);
|
out.write(&intValue, _bits);
|
||||||
|
@ -2464,6 +2603,15 @@ QJsonValue GenericStreamableTypeStreamer::getJSONMetadata(JSONWriter& writer) co
|
||||||
return metadata;
|
return metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QJsonValue GenericStreamableTypeStreamer::getJSONData(JSONWriter& writer, const QVariant& value) const {
|
||||||
|
QVariantList values = value.toList();
|
||||||
|
QJsonArray array;
|
||||||
|
for (int i = 0; i < _fields.size(); i++) {
|
||||||
|
array.append(_fields.at(i).first->getJSONData(writer, values.at(i)));
|
||||||
|
}
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
void GenericStreamableTypeStreamer::write(Bitstream& out, const QVariant& value) const {
|
void GenericStreamableTypeStreamer::write(Bitstream& out, const QVariant& value) const {
|
||||||
QVariantList values = value.toList();
|
QVariantList values = value.toList();
|
||||||
for (int i = 0; i < _fields.size(); i++) {
|
for (int i = 0; i < _fields.size(); i++) {
|
||||||
|
@ -2537,6 +2685,15 @@ QJsonValue GenericListTypeStreamer::getJSONMetadata(JSONWriter& writer) const {
|
||||||
return metadata;
|
return metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QJsonValue GenericListTypeStreamer::getJSONData(JSONWriter& writer, const QVariant& value) const {
|
||||||
|
QVariantList values = value.toList();
|
||||||
|
QJsonArray array;
|
||||||
|
foreach (const QVariant& element, values) {
|
||||||
|
array.append(_valueStreamer->getJSONData(writer, element));
|
||||||
|
}
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
void GenericListTypeStreamer::write(Bitstream& out, const QVariant& value) const {
|
void GenericListTypeStreamer::write(Bitstream& out, const QVariant& value) const {
|
||||||
QVariantList values = value.toList();
|
QVariantList values = value.toList();
|
||||||
out << values.size();
|
out << values.size();
|
||||||
|
@ -2660,6 +2817,18 @@ QJsonValue GenericMapTypeStreamer::getJSONMetadata(JSONWriter& writer) const {
|
||||||
return metadata;
|
return metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QJsonValue GenericMapTypeStreamer::getJSONData(JSONWriter& writer, const QVariant& value) const {
|
||||||
|
QVariantPairList values = value.value<QVariantPairList>();
|
||||||
|
QJsonArray array;
|
||||||
|
foreach (const QVariantPair& pair, values) {
|
||||||
|
QJsonArray pairArray;
|
||||||
|
pairArray.append(_keyStreamer->getJSONData(writer, pair.first));
|
||||||
|
pairArray.append(_valueStreamer->getJSONData(writer, pair.second));
|
||||||
|
array.append(pairArray);
|
||||||
|
}
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
void GenericMapTypeStreamer::write(Bitstream& out, const QVariant& value) const {
|
void GenericMapTypeStreamer::write(Bitstream& out, const QVariant& value) const {
|
||||||
QVariantPairList values = value.value<QVariantPairList>();
|
QVariantPairList values = value.value<QVariantPairList>();
|
||||||
out << values.size();
|
out << values.size();
|
||||||
|
@ -2685,6 +2854,15 @@ TypeStreamer::Category GenericMapTypeStreamer::getCategory() const {
|
||||||
return MAP_CATEGORY;
|
return MAP_CATEGORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QJsonValue GenericValueStreamer::getJSONVariantData(JSONWriter& writer, const QVariant& value) const {
|
||||||
|
GenericValue genericValue = value.value<GenericValue>();
|
||||||
|
writer.addTypeStreamer(genericValue.getStreamer().data());
|
||||||
|
QJsonObject data;
|
||||||
|
data.insert("type", QString(genericValue.getStreamer()->getName()));
|
||||||
|
data.insert("value", genericValue.getStreamer()->getJSONData(writer, genericValue.getValue()));
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
void GenericValueStreamer::writeVariant(Bitstream& out, const QVariant& value) const {
|
void GenericValueStreamer::writeVariant(Bitstream& out, const QVariant& value) const {
|
||||||
GenericValue genericValue = value.value<GenericValue>();
|
GenericValue genericValue = value.value<GenericValue>();
|
||||||
out << genericValue.getStreamer().data();
|
out << genericValue.getStreamer().data();
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
#include <QHash>
|
#include <QHash>
|
||||||
#include <QJsonArray>
|
#include <QJsonArray>
|
||||||
|
#include <QJsonDocument>
|
||||||
#include <QJsonObject>
|
#include <QJsonObject>
|
||||||
#include <QMetaProperty>
|
#include <QMetaProperty>
|
||||||
#include <QMetaType>
|
#include <QMetaType>
|
||||||
|
@ -38,6 +39,7 @@ class Attribute;
|
||||||
class AttributeValue;
|
class AttributeValue;
|
||||||
class Bitstream;
|
class Bitstream;
|
||||||
class GenericValue;
|
class GenericValue;
|
||||||
|
class JSONWriter;
|
||||||
class ObjectReader;
|
class ObjectReader;
|
||||||
class ObjectStreamer;
|
class ObjectStreamer;
|
||||||
class OwnedAttributeValue;
|
class OwnedAttributeValue;
|
||||||
|
@ -447,6 +449,8 @@ private slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
friend class JSONWriter;
|
||||||
|
|
||||||
ObjectStreamerPointer readGenericObjectStreamer(const QByteArray& name);
|
ObjectStreamerPointer readGenericObjectStreamer(const QByteArray& name);
|
||||||
TypeStreamerPointer readGenericTypeStreamer(const QByteArray& name, int category);
|
TypeStreamerPointer readGenericTypeStreamer(const QByteArray& name, int category);
|
||||||
|
|
||||||
|
@ -771,21 +775,44 @@ template<class K, class V> inline Bitstream& Bitstream::operator>>(QHash<K, V>&
|
||||||
/// Tracks state when writing to JSON.
|
/// Tracks state when writing to JSON.
|
||||||
class JSONWriter {
|
class JSONWriter {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
void addTypeStreamer(const TypeStreamer* streamer);
|
JSONWriter& operator<<(bool value);
|
||||||
void addObjectStreamer(const ObjectStreamer* streamer);
|
JSONWriter& operator<<(int value);
|
||||||
|
JSONWriter& operator<<(uint value);
|
||||||
|
JSONWriter& operator<<(float value);
|
||||||
|
JSONWriter& operator<<(const QByteArray& value);
|
||||||
|
JSONWriter& operator<<(const QColor& value);
|
||||||
|
JSONWriter& operator<<(const QScriptValue& value);
|
||||||
|
JSONWriter& operator<<(const QString& value);
|
||||||
|
JSONWriter& operator<<(const QUrl& value);
|
||||||
|
JSONWriter& operator<<(const glm::vec3& value);
|
||||||
|
JSONWriter& operator<<(const glm::quat& value);
|
||||||
|
JSONWriter& operator<<(const QMetaObject* metaObject);
|
||||||
|
|
||||||
|
JSONWriter& operator<<(const QVariant& value);
|
||||||
|
JSONWriter& operator<<(const SharedObjectPointer& object);
|
||||||
|
JSONWriter& operator<<(const QObject* object);
|
||||||
|
|
||||||
void addSharedObject(const SharedObjectPointer& object);
|
void addSharedObject(const SharedObjectPointer& object);
|
||||||
|
void addObjectStreamer(const ObjectStreamer* streamer);
|
||||||
|
void addTypeStreamer(const TypeStreamer* streamer);
|
||||||
|
|
||||||
|
QJsonDocument getDocument() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
QSet<QByteArray> _typeStreamerNames;
|
QJsonValue getData(const QObject* object);
|
||||||
QJsonArray _typeStreamers;
|
|
||||||
|
QJsonArray _contents;
|
||||||
|
|
||||||
|
QSet<int> _sharedObjectIDs;
|
||||||
|
QJsonArray _sharedObjects;
|
||||||
|
|
||||||
QSet<QByteArray> _objectStreamerNames;
|
QSet<QByteArray> _objectStreamerNames;
|
||||||
QJsonArray _objectStreamers;
|
QJsonArray _objectStreamers;
|
||||||
|
|
||||||
QSet<int> _sharedObjectIDs;
|
QSet<QByteArray> _typeStreamerNames;
|
||||||
QJsonArray _sharedObjects;
|
QJsonArray _typeStreamers;
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Tracks state when reading from JSON.
|
/// Tracks state when reading from JSON.
|
||||||
|
@ -958,6 +985,7 @@ public:
|
||||||
|
|
||||||
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
||||||
virtual QJsonValue getJSONData(JSONWriter& writer, const QVariant& value) const;
|
virtual QJsonValue getJSONData(JSONWriter& writer, const QVariant& value) const;
|
||||||
|
virtual QJsonValue getJSONVariantData(JSONWriter& writer, const QVariant& value) const;
|
||||||
|
|
||||||
virtual bool equal(const QVariant& first, const QVariant& second) const;
|
virtual bool equal(const QVariant& first, const QVariant& second) const;
|
||||||
|
|
||||||
|
@ -1037,6 +1065,7 @@ public:
|
||||||
virtual const char* getName() const;
|
virtual const char* getName() const;
|
||||||
virtual void writeMetadata(Bitstream& out, bool full) const;
|
virtual void writeMetadata(Bitstream& out, bool full) const;
|
||||||
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
||||||
|
virtual QJsonValue getJSONData(JSONWriter& writer, const QVariant& value) const;
|
||||||
virtual Category getCategory() const;
|
virtual Category getCategory() const;
|
||||||
virtual int getBits() const;
|
virtual int getBits() const;
|
||||||
virtual QMetaEnum getMetaEnum() const;
|
virtual QMetaEnum getMetaEnum() const;
|
||||||
|
@ -1099,6 +1128,7 @@ public:
|
||||||
|
|
||||||
virtual void writeMetadata(Bitstream& out, bool full) const;
|
virtual void writeMetadata(Bitstream& out, bool full) const;
|
||||||
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
||||||
|
virtual QJsonValue getJSONData(JSONWriter& writer, const QVariant& value) const;
|
||||||
virtual void write(Bitstream& out, const QVariant& value) const;
|
virtual void write(Bitstream& out, const QVariant& value) const;
|
||||||
virtual QVariant read(Bitstream& in) const;
|
virtual QVariant read(Bitstream& in) const;
|
||||||
virtual Category getCategory() const;
|
virtual Category getCategory() const;
|
||||||
|
@ -1148,6 +1178,7 @@ public:
|
||||||
|
|
||||||
virtual void writeMetadata(Bitstream& out, bool full) const;
|
virtual void writeMetadata(Bitstream& out, bool full) const;
|
||||||
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
||||||
|
virtual QJsonValue getJSONData(JSONWriter& writer, const QVariant& value) const;
|
||||||
virtual void write(Bitstream& out, const QVariant& value) const;
|
virtual void write(Bitstream& out, const QVariant& value) const;
|
||||||
virtual QVariant read(Bitstream& in) const;
|
virtual QVariant read(Bitstream& in) const;
|
||||||
virtual Category getCategory() const;
|
virtual Category getCategory() const;
|
||||||
|
@ -1219,6 +1250,7 @@ public:
|
||||||
|
|
||||||
virtual void writeMetadata(Bitstream& out, bool full) const;
|
virtual void writeMetadata(Bitstream& out, bool full) const;
|
||||||
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
||||||
|
virtual QJsonValue getJSONData(JSONWriter& writer, const QVariant& value) const;
|
||||||
virtual void write(Bitstream& out, const QVariant& value) const;
|
virtual void write(Bitstream& out, const QVariant& value) const;
|
||||||
virtual QVariant read(Bitstream& in) const;
|
virtual QVariant read(Bitstream& in) const;
|
||||||
virtual Category getCategory() const;
|
virtual Category getCategory() const;
|
||||||
|
@ -1302,6 +1334,7 @@ public:
|
||||||
|
|
||||||
virtual void writeMetadata(Bitstream& out, bool full) const;
|
virtual void writeMetadata(Bitstream& out, bool full) const;
|
||||||
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
virtual QJsonValue getJSONMetadata(JSONWriter& writer) const;
|
||||||
|
virtual QJsonValue getJSONData(JSONWriter& writer, const QVariant& value) const;
|
||||||
virtual void write(Bitstream& out, const QVariant& value) const;
|
virtual void write(Bitstream& out, const QVariant& value) const;
|
||||||
virtual QVariant read(Bitstream& in) const;
|
virtual QVariant read(Bitstream& in) const;
|
||||||
virtual Category getCategory() const;
|
virtual Category getCategory() const;
|
||||||
|
@ -1316,6 +1349,7 @@ private:
|
||||||
class GenericValueStreamer : public SimpleTypeStreamer<GenericValue> {
|
class GenericValueStreamer : public SimpleTypeStreamer<GenericValue> {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
QJsonValue getJSONVariantData(JSONWriter& writer, const QVariant& value) const;
|
||||||
virtual void writeVariant(Bitstream& out, const QVariant& value) const;
|
virtual void writeVariant(Bitstream& out, const QVariant& value) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -243,6 +243,18 @@ static bool testSerialization(Bitstream::MetadataType metadataType) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (metadataType != Bitstream::FULL_METADATA) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// now write to JSON
|
||||||
|
JSONWriter jsonWriter;
|
||||||
|
jsonWriter << testObjectReadA;
|
||||||
|
jsonWriter << testObjectReadB;
|
||||||
|
jsonWriter << messageRead;
|
||||||
|
qDebug() << jsonWriter.getDocument().toJson();
|
||||||
|
qDebug();
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue