Import CAN generator from low-level-can-service
[src/low-level-can-generator.git] / src / openxc / mapping.cpp
1 #include "mapping.hpp"\r
2 \r
3 namespace openxc\r
4 {\r
5         std::string mapping::mapping_name() const\r
6         {\r
7                 return mapping_name_;\r
8         }\r
9         \r
10         std::string mapping::bus() const\r
11         {\r
12                 return bus_;\r
13         }\r
14         \r
15         std::string mapping::database() const\r
16         {\r
17                 return database_;\r
18         }\r
19         \r
20         bool mapping::bit_numbering_inverted() const\r
21         {\r
22                 return bit_numbering_inverted_;\r
23         }\r
24         \r
25         bool mapping::enabled() const\r
26         {\r
27                 return enabled_;\r
28         }\r
29         \r
30         void mapping::from_json(const nlohmann::json& j)\r
31         {\r
32                 mapping_name_ = j.count("mapping") ? j["mapping"].get<std::string>() : "";\r
33                 bus_ = j.count("bus") ? j["bus"].get<std::string>() : "";\r
34                 database_ = j.count("database") ? j["database"].get<std::string>() : "";\r
35                 bit_numbering_inverted_ = j.count("bit_numbering_inverted") ? j["bit_numbering_inverted"].get<bool>() : false;\r
36                 enabled_ = j.count("enabled") ? j["enabled"].get<bool>() : true;\r
37         }\r
38 \r
39         nlohmann::json mapping::to_json() const\r
40         {\r
41                 nlohmann::json j;\r
42                 j["mapping"] = mapping_name_;\r
43                 j["bus"] = bus_;\r
44                 j["database"] = database_;\r
45                 j["bit_numbering_inverted"] = bit_numbering_inverted_;\r
46                 j["enabled"] = enabled_;\r
47                 return j;\r
48         }\r
49 \r
50         void to_json(nlohmann::json& j, const mapping& p)\r
51         {\r
52                 j = p.to_json();\r
53         }\r
54 \r
55         void from_json(const nlohmann::json& j, mapping& p)\r
56         {\r
57                 p.from_json(j);\r
58         }\r
59 }\r