summaryrefslogtreecommitdiffstats
path: root/veslibrary/ves_cpplibrary/src/lib/encode/XJsonObjectImp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'veslibrary/ves_cpplibrary/src/lib/encode/XJsonObjectImp.cpp')
-rwxr-xr-xveslibrary/ves_cpplibrary/src/lib/encode/XJsonObjectImp.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/veslibrary/ves_cpplibrary/src/lib/encode/XJsonObjectImp.cpp b/veslibrary/ves_cpplibrary/src/lib/encode/XJsonObjectImp.cpp
new file mode 100755
index 0000000..6e60102
--- /dev/null
+++ b/veslibrary/ves_cpplibrary/src/lib/encode/XJsonObjectImp.cpp
@@ -0,0 +1,64 @@
+#include "XJsonObjectImp.h"
+
+XJsonObjectImp::XJsonObjectImp(const XString& objectName,
+ const XArrayOfXJsonObjectInstance& objectInstances
+ ):
+ objectInstances_(objectInstances),
+ objectName_(objectName)
+{
+
+}
+
+void XJsonObjectImp::setObjectSchema(const XString& objectSchema)
+{
+ comVals_["objectSchema"] = objectSchema;
+}
+
+void XJsonObjectImp::setObjectName(const XString& objectName)
+{
+ comVals_["objectName"] = objectName;
+}
+
+void XJsonObjectImp::setNfSubscriptionId(const XString& nfSubscriptionId)
+{
+ comVals_["nfSubscriptionId"] = nfSubscriptionId;
+}
+
+void XJsonObjectImp::setObjectInstances(const XArrayOfXJsonObjectInstance& objectInstances)
+{
+ objectInstances_ = objectInstances;
+}
+
+void XJsonObjectImp::setNfSubscribedObjectName(const XString& nfSubscribedObjectName)
+{
+ comVals_["nfSubscribedObjectName"] = nfSubscribedObjectName;
+}
+
+void XJsonObjectImp::setObjectSchemaUrl(const XString& objectSchemaUrl)
+{
+ comVals_["objectSchemaUrl"] = objectSchemaUrl;
+}
+
+json XJsonObjectImp::toJson()
+{
+ try
+ {
+ json field = {
+ {"objectName", objectName_}
+ };
+
+ field["objectInstances"] = fromArray(objectInstances_);
+
+ //optional val
+
+ field = mergeCommonValues(field, comVals_);
+
+ return field;
+ }
+ catch (json::exception& e)
+ {
+ SPDLOG_ERROR("Fail to build XJsonObject to json object:{}.", e.what());
+ return json();
+ }
+}
+ \ No newline at end of file