diff options
author | Marcus Fritzsch <marcus_fritzsch@mentor.com> | 2017-08-09 15:57:18 +0200 |
---|---|---|
committer | Marcus Fritzsch <marcus_fritzsch@mentor.com> | 2017-08-11 10:13:48 +0200 |
commit | ef1b8f5fa4c2e939e9b6f08069ee08d362ee0ee5 (patch) | |
tree | c24e100f4e377a4eb1f597f0f1a29da599601cd4 | |
parent | 6e444881b679e72388f4bc76d5372f62f7f61145 (diff) |
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 <marcus_fritzsch@mentor.com>
-rw-r--r-- | layers.json | 40 | ||||
-rw-r--r-- | src/app.cpp | 10 | ||||
-rw-r--r-- | 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<std::string>(), + j["name"], { - get<int32_t>(j["width"]), get<int32_t>(j["height"]), - get<int32_t>(j["x"]), get<int32_t>(j["y"]), + j["width"], j["height"], + j["x"], j["y"], }, - get<uint32_t>(j["zorder"]), + j["zorder"], }; } @@ -56,7 +56,7 @@ result<struct layout> layout_from_json(json const &j) { DB(j); auto &ja = j["areas"]; - auto l = layout{j["name"].get<std::string>(), uint32_t(ja.size()), {}}; + auto l = layout{j["name"], uint32_t(ja.size()), {}}; if (ja.size() > layout::MAX_N_AREAS) { return Err<struct layout>("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<int>(j["first_surface_id"]); - this->id_max = get<int>(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<int>(j["surface_id"]); + this->id_min = this->id_max = j["surface_id"]; } this->name = j["name"].get<std::string>(); - this->layer_id = get<int>(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<int32_t>(jr["width"]), get<int32_t>(jr["height"]), - get<int32_t>(jr["x"]), get<int32_t>(jr["y"]), + jr["width"], jr["height"], + jr["x"], jr["y"], }; } } @@ -82,8 +82,8 @@ struct result<struct layer_map> 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<int>(j["surface_id"]), - get<int>(j["expect_layer_id"])); + j["surface_id"], + j["expect_layer_id"]); }); for (auto sid : tests) { |