refs #784 Use CMemoTable to implement a compact JSON schema for CAircraftModelList.

This commit is contained in:
Mathew Sutcliffe
2016-10-25 22:42:34 +01:00
committed by Klaus Basan
parent f6f2d38821
commit 45bb9a2737
4 changed files with 70 additions and 1 deletions

View File

@@ -19,6 +19,7 @@
#include "blackmisc/blackmiscexport.h"
#include "blackmisc/db/datastore.h"
#include "blackmisc/dictionary.h"
#include "blackmisc/memotable.h"
#include "blackmisc/metaclass.h"
#include "blackmisc/metaclassprivate.h"
#include "blackmisc/orderable.h"
@@ -340,6 +341,15 @@ namespace BlackMisc
//! Validate
BlackMisc::CStatusMessageList validate(bool withNestedObjects) const;
//! Helper class used by implementation.
using MemoHelper = CMemoHelper<Aviation::CAircraftIcaoCode, Aviation::CLivery, CDistributor>;
//! To JSON with memoized members (used by CAircraftModelList)
QJsonObject toMemoizedJson(MemoHelper::CMemoizer &) const;
//! From JSON with memoized members (used by CAircraftModelList)
void convertFromMemoizedJson(const QJsonObject &json, const MemoHelper::CUnmemoizer &);
//! To database JSON
QJsonObject toDatabaseJson() const;