summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-08-09 15:57:18 +0200
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-08-11 10:13:48 +0200
commitef1b8f5fa4c2e939e9b6f08069ee08d362ee0ee5 (patch)
treec24e100f4e377a4eb1f597f0f1a29da599601cd4
parent6e444881b679e72388f4bc76d5372f62f7f61145 (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.json40
-rw-r--r--src/app.cpp10
-rw-r--r--src/layers.cpp16
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) {