diff options
Diffstat (limited to 'tools/validator/validator.cpp')
-rw-r--r-- | tools/validator/validator.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tools/validator/validator.cpp b/tools/validator/validator.cpp index ab1612e..4149caa 100644 --- a/tools/validator/validator.cpp +++ b/tools/validator/validator.cpp | |||
@@ -48,6 +48,9 @@ class Validator { | |||
48 | for (const auto& [prog_name, prog_info] : info_.progressives) { | 48 | for (const auto& [prog_name, prog_info] : info_.progressives) { |
49 | ValidateProgressive(prog_name, prog_info); | 49 | ValidateProgressive(prog_name, prog_info); |
50 | } | 50 | } |
51 | for (const auto& [group_name, group_info] : info_.door_groups) { | ||
52 | ValidateDoorGroup(group_name, group_info); | ||
53 | } | ||
51 | } | 54 | } |
52 | 55 | ||
53 | private: | 56 | private: |
@@ -173,6 +176,11 @@ class Validator { | |||
173 | std::cout << " PROGRESSIVE " << prog_name << std::endl; | 176 | std::cout << " PROGRESSIVE " << prog_name << std::endl; |
174 | } | 177 | } |
175 | 178 | ||
179 | for (const std::string& group_name : | ||
180 | door_info.door_groups_referenced_by) { | ||
181 | std::cout << " DOOR GROUP " << group_name << std::endl; | ||
182 | } | ||
183 | |||
176 | if (door_info.has_id) { | 184 | if (door_info.has_id) { |
177 | std::cout << " An AP ID is present." << std::endl; | 185 | std::cout << " An AP ID is present." << std::endl; |
178 | } | 186 | } |
@@ -460,6 +468,26 @@ class Validator { | |||
460 | } | 468 | } |
461 | } | 469 | } |
462 | 470 | ||
471 | void ValidateDoorGroup(const std::string& group_name, | ||
472 | const DoorGroupInfo& group_info) const { | ||
473 | if (group_info.definitions.empty()) { | ||
474 | std::cout << "Door group \"" << group_name | ||
475 | << "\" has no definition, but was referenced:" << std::endl; | ||
476 | |||
477 | if (group_info.has_id) { | ||
478 | std::cout << " An AP ID is present." << std::endl; | ||
479 | } | ||
480 | } else if (group_info.definitions.size() > 1) { | ||
481 | std::cout << "Door group \"" << group_name | ||
482 | << "\" has multiple definitions." << std::endl; | ||
483 | } | ||
484 | |||
485 | if (!group_info.has_id) { | ||
486 | std::cout << "Door group \"" << group_name << "\" is missing an AP ID." | ||
487 | << std::endl; | ||
488 | } | ||
489 | } | ||
490 | |||
463 | const CollectedInfo& info_; | 491 | const CollectedInfo& info_; |
464 | }; | 492 | }; |
465 | 493 | ||