summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-07-13 12:09:38 +0200
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-08-08 17:24:00 +0200
commit9e29f23cc3afcd33c4735a397ca94b5d7bed3326 (patch)
tree9be1bf80efc56c9dfc21681c142b69bdc037b148
parentb3e6d76a1729ead40eb1fa5af98d8d734dfdd09b (diff)
json_helper: use json-c object creation
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
-rw-r--r--src/json_helper.cpp67
1 files changed, 46 insertions, 21 deletions
diff --git a/src/json_helper.cpp b/src/json_helper.cpp
index 07f18a8..93e6d69 100644
--- a/src/json_helper.cpp
+++ b/src/json_helper.cpp
@@ -2,29 +2,54 @@
#include <json.h>
-#include <json.hpp>
+json_object *to_json(genivi::surface_properties const &s) {
+ // auto j = json::object({
+ auto j = json_object_new_object();
-using json = nlohmann::json;
+ // {"id", s.id},
+ json_object_object_add(j, "id", json_object_new_int(s.id));
-json_object *to_json(genivi::surface_properties const &s) {
- auto j = json::object({
- {"id", s.id},
- {"size", {{"width", s.size.w}, {"height", s.size.h}}},
- {"dst",
- {{"width", s.dst_rect.w},
- {"height", s.dst_rect.h},
- {"x", s.dst_rect.x},
- {"y", s.dst_rect.y}}},
- {"src",
- {{"width", s.src_rect.w},
- {"height", s.src_rect.h},
- {"x", s.src_rect.x},
- {"y", s.src_rect.y}}},
- {"visibility", s.visibility},
- {"opacity", s.opacity},
- {"orientation", s.orientation},
- });
- return json_tokener_parse(j.dump().c_str());
+ // {"size", {{"width", s.size.w}, {"height", s.size.h}}},
+ auto jsize = json_object_new_object();
+ json_object_object_add(jsize, "width", json_object_new_int(s.size.w));
+ json_object_object_add(jsize, "height", json_object_new_int(s.size.h));
+ json_object_object_add(j, "size", jsize);
+
+ // {"dst",
+ // {{"width", s.dst_rect.w},
+ // {"height", s.dst_rect.h},
+ // {"x", s.dst_rect.x},
+ // {"y", s.dst_rect.y}}},
+ auto jdst = json_object_new_object();
+ json_object_object_add(jdst, "width", json_object_new_int(s.dst_rect.w));
+ json_object_object_add(jdst, "height", json_object_new_int(s.dst_rect.h));
+ json_object_object_add(jdst, "x", json_object_new_int(s.dst_rect.x));
+ json_object_object_add(jdst, "y", json_object_new_int(s.dst_rect.y));
+ json_object_object_add(j, "dst", jdst);
+
+ // {"src",
+ // {{"width", s.src_rect.w},
+ // {"height", s.src_rect.h},
+ // {"x", s.src_rect.x},
+ // {"y", s.src_rect.y}}},
+ auto jsrc = json_object_new_object();
+ json_object_object_add(jsrc, "width", json_object_new_int(s.src_rect.w));
+ json_object_object_add(jsrc, "height", json_object_new_int(s.src_rect.h));
+ json_object_object_add(jsrc, "x", json_object_new_int(s.src_rect.x));
+ json_object_object_add(jsrc, "y", json_object_new_int(s.src_rect.y));
+ json_object_object_add(j, "src", jsrc);
+
+ // {"visibility", s.visibility},
+ json_object_object_add(j, "visibility", json_object_new_boolean(s.visibility == 1));
+
+ // {"opacity", s.opacity},
+ json_object_object_add(j, "opacity", json_object_new_double(s.opacity));
+
+ // {"orientation", s.orientation},
+ json_object_object_add(j, "orientation", json_object_new_int(s.orientation));
+
+ // });
+ return j;
}
json_object *to_json(genivi::screen const *s) {