refs #192, enable value objects for JSON:

* from/toJson methods
* jsonMembers where applicable
This commit is contained in:
Klaus Basan
2014-03-26 18:44:17 +01:00
parent 586e1e4053
commit 88fb9e8832
47 changed files with 910 additions and 276 deletions

View File

@@ -85,6 +85,32 @@ namespace BlackMisc
return BlackMisc::calculateHash(hashs, "CComSystem");
}
/*
* To JSON
*/
QJsonObject CComSystem::toJson() const
{
QJsonObject json = BlackMisc::serializeJson(CComSystem::jsonMembers(), TupleConverter<CComSystem>::toTuple(*this));
return BlackMisc::Json::appendJsonObject(json, CModulator::toJson());
}
/*
* To JSON
*/
void CComSystem::fromJson(const QJsonObject &json)
{
CModulator::fromJson(json);
BlackMisc::deserializeJson(json, CComSystem::jsonMembers(), TupleConverter<CComSystem>::toTuple(*this));
}
/*
* Members
*/
const QStringList &CComSystem::jsonMembers()
{
return TupleConverter<CComSystem>::jsonMembers();
}
/*
* Compare
*/
@@ -149,5 +175,6 @@ namespace BlackMisc
default: qFatal("Wrong channel spacing"); return 0.0; // return just supressing compiler warning
}
}
} // namespace
} // namespace