Import CAN generator from low-level-can-service
[src/low-level-can-generator.git] / src / openxc / mapping.cpp
diff --git a/src/openxc/mapping.cpp b/src/openxc/mapping.cpp
new file mode 100755 (executable)
index 0000000..74d5c94
--- /dev/null
@@ -0,0 +1,59 @@
+#include "mapping.hpp"\r
+\r
+namespace openxc\r
+{\r
+       std::string mapping::mapping_name() const\r
+       {\r
+               return mapping_name_;\r
+       }\r
+       \r
+       std::string mapping::bus() const\r
+       {\r
+               return bus_;\r
+       }\r
+       \r
+       std::string mapping::database() const\r
+       {\r
+               return database_;\r
+       }\r
+       \r
+       bool mapping::bit_numbering_inverted() const\r
+       {\r
+               return bit_numbering_inverted_;\r
+       }\r
+       \r
+       bool mapping::enabled() const\r
+       {\r
+               return enabled_;\r
+       }\r
+       \r
+       void mapping::from_json(const nlohmann::json& j)\r
+       {\r
+               mapping_name_ = j.count("mapping") ? j["mapping"].get<std::string>() : "";\r
+               bus_ = j.count("bus") ? j["bus"].get<std::string>() : "";\r
+               database_ = j.count("database") ? j["database"].get<std::string>() : "";\r
+               bit_numbering_inverted_ = j.count("bit_numbering_inverted") ? j["bit_numbering_inverted"].get<bool>() : false;\r
+               enabled_ = j.count("enabled") ? j["enabled"].get<bool>() : true;\r
+       }\r
+\r
+       nlohmann::json mapping::to_json() const\r
+       {\r
+               nlohmann::json j;\r
+               j["mapping"] = mapping_name_;\r
+               j["bus"] = bus_;\r
+               j["database"] = database_;\r
+               j["bit_numbering_inverted"] = bit_numbering_inverted_;\r
+               j["enabled"] = enabled_;\r
+               return j;\r
+       }\r
+\r
+       void to_json(nlohmann::json& j, const mapping& p)\r
+       {\r
+               j = p.to_json();\r
+       }\r
+\r
+       void from_json(const nlohmann::json& j, mapping& p)\r
+       {\r
+               p.from_json(j);\r
+       }\r
+}\r