Ref T552 Using QDataStream marshalling mixins in value classes.

This commit is contained in:
Mat Sutcliffe
2019-02-27 22:34:02 +00:00
parent fabf6e59ab
commit 6d9f9a286d
23 changed files with 252 additions and 0 deletions

View File

@@ -53,6 +53,7 @@ namespace BlackMisc
public Mixin::EqualsByCompare<CStrongStringView>,
public Mixin::LessThanByCompare<CStrongStringView>,
public Mixin::DBusOperators<CStrongStringView>,
public Mixin::DataStreamOperators<CStrongStringView>,
public Mixin::JsonOperators<CStrongStringView>,
public Mixin::String<CStrongStringView>
{
@@ -110,6 +111,12 @@ namespace BlackMisc
void unmarshallFromDbus(const QDBusArgument &arg) { arg >> m_string; m_view = m_string; }
//! @}
//! QDataStream marshalling.
//! @{
void marshalToDataStream(QDataStream &stream) const { stream << toQString(); }
void unmarshalFromDataStream(QDataStream &stream) { stream >> m_string; m_view = m_string; }
//! @}
//! JSON conversion.
//! @{
QJsonObject toJson() const { QJsonObject json; json.insert(QStringLiteral("value"), toQString()); return json; }