diff options
Diffstat (limited to 'tools/util/ids_yaml_format.cpp')
| -rw-r--r-- | tools/util/ids_yaml_format.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
| diff --git a/tools/util/ids_yaml_format.cpp b/tools/util/ids_yaml_format.cpp index 71bfd63..5b9113b 100644 --- a/tools/util/ids_yaml_format.cpp +++ b/tools/util/ids_yaml_format.cpp | |||
| @@ -64,6 +64,13 @@ IdMappings ReadIdsFromYaml(const std::string& filename) { | |||
| 64 | keyholder_it.second.as<uint64_t>(); | 64 | keyholder_it.second.as<uint64_t>(); |
| 65 | } | 65 | } |
| 66 | } | 66 | } |
| 67 | |||
| 68 | if (room_it.second["ports"]) { | ||
| 69 | for (const auto& port_it : room_it.second["ports"]) { | ||
| 70 | (*room_ids.mutable_ports())[port_it.first.as<std::string>()] = | ||
| 71 | port_it.second.as<uint64_t>(); | ||
| 72 | } | ||
| 73 | } | ||
| 67 | } | 74 | } |
| 68 | } | 75 | } |
| 69 | 76 | ||
| @@ -146,6 +153,12 @@ void WriteIdsAsYaml(const IdMappings& ids, const std::string& filename) { | |||
| 146 | keyholder_id; | 153 | keyholder_id; |
| 147 | }); | 154 | }); |
| 148 | 155 | ||
| 156 | OperateOnSortedMap( | ||
| 157 | room_ids.ports(), | ||
| 158 | [&room_node](const std::string& port_name, uint64_t port_id) { | ||
| 159 | room_node["ports"][port_name] = port_id; | ||
| 160 | }); | ||
| 161 | |||
| 149 | map_node["rooms"][room_name] = std::move(room_node); | 162 | map_node["rooms"][room_name] = std::move(room_node); |
| 150 | }); | 163 | }); |
| 151 | 164 | ||
