From a3615c566666ba864763f0a0eeb2ca0ca955bf92 Mon Sep 17 00:00:00 2001 From: peri4 Date: Thu, 14 Aug 2025 17:34:12 +0300 Subject: [PATCH] piDe/SerializeJSON with PIJSON type, some doc --- libs/main/serialization/pijsonserialization.h | 6 ++++++ utils/code_model_generator/common.cpp | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/main/serialization/pijsonserialization.h b/libs/main/serialization/pijsonserialization.h index 20d16610..dfd5288e 100644 --- a/libs/main/serialization/pijsonserialization.h +++ b/libs/main/serialization/pijsonserialization.h @@ -60,6 +60,9 @@ inline PIJSON piSerializeJSON(const T & v) { // known types +inline PIJSON piSerializeJSON(const PIJSON & v) { + return v; +} template<> inline PIJSON piSerializeJSON(const PIVariant & v) { return PIJSON() = v; @@ -248,6 +251,9 @@ inline void piDeserializeJSON(T & v, const PIJSON & js) { // known types +inline void piDeserializeJSON(PIJSON & v, const PIJSON & js) { + v = js; +} template<> inline void piDeserializeJSON(PIVariant & v, const PIJSON & js) { v = js.value(); diff --git a/utils/code_model_generator/common.cpp b/utils/code_model_generator/common.cpp index 24c2bf07..94af3357 100644 --- a/utils/code_model_generator/common.cpp +++ b/utils/code_model_generator/common.cpp @@ -62,7 +62,7 @@ void header() { piCout << Bold << "PIP Code model generator"; piCout << Cyan << "Version" << Bold << PIPVersion() << NewLine; piCout << Green << Bold << "Usage:" << Default - << "\"pip_cmg [-hHqPpsAMESTG] -o [-I] [-I] [...] [-D] [-D] [...] " + << "\"pip_cmg [-hHqPpsAMESTGJ] -o [-I] [-I] [...] [-D] [-D] [...] " " [] [] [...]\"" << NewLine; } @@ -90,6 +90,7 @@ void usage() { piCout << "-E " << Green << "- write enums"; piCout << "-S " << Green << "- write stream operators"; piCout << "-G " << Green << "- write getter functions"; + piCout << "-J " << Green << "- write JSON functions"; // piCout << "-T " << Green << "- write text serialize functions"; piCout << "-o " << Green << "- output file for code model without extension (e.g. \"ccm\" - files \"ccm.h\" and \"ccm.cpp\" will be created)";