From ef1b8f5fa4c2e939e9b6f08069ee08d362ee0ee5 Mon Sep 17 00:00:00 2001 From: Marcus Fritzsch Date: Wed, 9 Aug 2017 15:57:18 +0200 Subject: [PATCH] layers: fix json to actually include numbers Actually use numbers where we had number-strings. This simplifies the json parsing quite a bit. Signed-off-by: Marcus Fritzsch --- layers.json | 40 ++++++++++++++++++++-------------------- src/app.cpp | 10 +++++----- src/layers.cpp | 16 ++++++++-------- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/layers.json b/layers.json index 1146911..b5973a0 100644 --- a/layers.json +++ b/layers.json @@ -27,42 +27,42 @@ "mappings": [ { "type": "single", - "surface_id": "1000", + "surface_id": 1000, "name": "HomeScreen", - "layer_id": "1000", + "layer_id": 1000, "area": { "type": "full" }, "comment": "Single layer map for the HomeScreen, XXX: type is redundant, could also check existence of id/first_id+last_id" }, { "type": "range", - "first_surface_id": "2000", - "last_surface_id": "2999", + "first_surface_id": 2000, + "last_surface_id": 2999, "name": "apps", - "layer_id": "1001", - "area": { "type": "rect", "rect": { "x": "0", "y": "100", "width": "-1", "height": "-201" } }, + "layer_id": 1001, + "area": { "type": "rect", "rect": { "x": 0, "y": 100, "width": -1, "height": -201 } }, "comment": "Range of IDs that will always be placed on layer 1001, negative rect values are interpreted as output_size.dimension - $value" }, { "type": "range", - "first_surface_id": "3000", - "last_surface_id": "3999", + "first_surface_id": 3000, + "last_surface_id": 3999, "name": "popups", - "layer_id": "9999", - "area": { "type": "rect", "rect": { "x": "0", "y": "100", "width": "-1", "height": "-201" } }, + "layer_id": 9999, + "area": { "type": "rect", "rect": { "x": 0, "y": 100, "width": -1, "height": -201 } }, "comment": "Range of IDs that will always be placed on the popup layer, that gets a very high 'dummy' id of 9999" } ], "tests": [ - { "surface_id": "1000", "expect_layer_id": "1000" }, - { "surface_id": "1001", "expect_layer_id": "-1", "comment": "check against -1 for not found entries" }, - { "surface_id": "1999", "expect_layer_id": "-1" }, - { "surface_id": "2000", "expect_layer_id": "1001" }, - { "surface_id": "2500", "expect_layer_id": "1001" }, - { "surface_id": "2999", "expect_layer_id": "1001" }, - { "surface_id": "3000", "expect_layer_id": "9999" }, - { "surface_id": "3500", "expect_layer_id": "9999" }, - { "surface_id": "3999", "expect_layer_id": "9999" }, - { "surface_id": "4711", "expect_layer_id": "-1" } + { "surface_id": 1000, "expect_layer_id": 1000 }, + { "surface_id": 1001, "expect_layer_id": -1, "comment": "check against -1 for not found entries" }, + { "surface_id": 1999, "expect_layer_id": -1 }, + { "surface_id": 2000, "expect_layer_id": 1001 }, + { "surface_id": 2500, "expect_layer_id": 1001 }, + { "surface_id": 2999, "expect_layer_id": 1001 }, + { "surface_id": 3000, "expect_layer_id": 9999 }, + { "surface_id": 3500, "expect_layer_id": 9999 }, + { "surface_id": 3999, "expect_layer_id": 9999 }, + { "surface_id": 4711, "expect_layer_id": -1 } ] } diff --git a/src/app.cpp b/src/app.cpp index 6a7fc69..0a21635 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -43,12 +43,12 @@ using json = nlohmann::json; struct wm::area area_from_json(json const &j) { DB(j); return wm::area{ - j["name"].get(), + j["name"], { - get(j["width"]), get(j["height"]), - get(j["x"]), get(j["y"]), + j["width"], j["height"], + j["x"], j["y"], }, - get(j["zorder"]), + j["zorder"], }; } @@ -56,7 +56,7 @@ result layout_from_json(json const &j) { DB(j); auto &ja = j["areas"]; - auto l = layout{j["name"].get(), uint32_t(ja.size()), {}}; + auto l = layout{j["name"], uint32_t(ja.size()), {}}; if (ja.size() > layout::MAX_N_AREAS) { return Err("Invalid number of areas in layout"); diff --git a/src/layers.cpp b/src/layers.cpp index 3205323..2209847 100644 --- a/src/layers.cpp +++ b/src/layers.cpp @@ -27,19 +27,19 @@ using json = nlohmann::json; layer::layer(nlohmann::json const &j) { DB(j); if (j["type"] == "range") { - this->id_min = get(j["first_surface_id"]); - this->id_max = get(j["last_surface_id"]); + this->id_min = j["first_surface_id"]; + this->id_max = j["last_surface_id"]; } else { - this->id_min = this->id_max = get(j["surface_id"]); + this->id_min = this->id_max = j["surface_id"]; } this->name = j["name"].get(); - this->layer_id = get(j["layer_id"]); + this->layer_id = j["layer_id"]; this->rect = genivi::full_rect; if (j["area"]["type"] == "rect") { auto jr = j["area"]["rect"]; this->rect = genivi::rect{ - get(jr["width"]), get(jr["height"]), - get(jr["x"]), get(jr["y"]), + jr["width"], jr["height"], + jr["x"], jr["y"], }; } } @@ -82,8 +82,8 @@ struct result to_layer_map(nlohmann::json const &j) { std::transform(std::cbegin(jtests), std::cend(jtests), std::back_inserter(tests), [](json const &j) { return std::make_pair( - get(j["surface_id"]), - get(j["expect_layer_id"])); + j["surface_id"], + j["expect_layer_id"]); }); for (auto sid : tests) { -- 2.16.6