layers: introduce layers.hpp and .cpp for layer related code
[staging/windowmanager.git] / src / layout.cpp
index 6a77cda..a78a525 100644 (file)
@@ -2,46 +2,4 @@
 // Created by mfritzsc on 6/27/17.
 //
 
-#include "json_helper.hpp"
 #include "layout.hpp"
-
-namespace wm {
-
-surface_id_to_layer::surface_id_to_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"]);
-   } else {
-      this->id_min = this->id_max = get<int>(j["surface_id"]);
-   }
-   this->name = j["name"].get<std::string>();
-   this->layer_id = get<int>(j["layer_id"]);
-}
-
-struct result<struct surface_id_to_layer_map> to_surface_id_to_layer_map(
-   nlohmann::json const &j) {
-   DB(j);
-   try {
-      surface_id_to_layer_map stl{};
-      std::transform(
-         std::cbegin(j), std::cend(j),
-         std::inserter(stl.mapping, stl.mapping.end()),
-         [](nlohmann::json const &j) { return surface_id_to_layer(j); });
-      for (auto i : stl.mapping) {
-         if (i.name.empty()) {
-            return Err<struct surface_id_to_layer_map>(
-               "Found mapping w/o name");
-         }
-         if (i.layer_id == -1 || i.id_min == -1 || i.id_max == -1) {
-            return Err<struct surface_id_to_layer_map>(
-               "Found invalid/unset IDs in mapping");
-         }
-      }
-      return Ok(stl);
-   } catch (std::exception &e) {
-      return Err<struct surface_id_to_layer_map>(e.what());
-   }
-}
-
-}  // namespace wm
\ No newline at end of file