#include "generator/regions/collector_region_info.hpp" #include "generator/regions/country_specifier.hpp" #include "generator/regions/country_specifier_builder.hpp" #include "generator/regions/region.hpp" #include #include namespace generator { namespace regions { namespace specs { class HaitiSpecifier final : public CountrySpecifier { public: static std::vector GetCountryNames() { return {"Haiti"}; } private: // CountrySpecifier overrides: PlaceLevel GetSpecificCountryLevel(Region const & region) const override; }; REGISTER_COUNTRY_SPECIFIER(HaitiSpecifier); PlaceLevel HaitiSpecifier::GetSpecificCountryLevel(Region const & region) const { AdminLevel adminLevel = region.GetAdminLevel(); switch (adminLevel) { case AdminLevel::Four: return PlaceLevel::Region; // State border (Départements) (Layer 1) case AdminLevel::Five: return PlaceLevel::Subregion; // Districts case AdminLevel::Eight: return PlaceLevel::Locality; // City and town border (communes) (Layer 2) default: break; } return PlaceLevel::Unknown; } } // namespace specs } // namespace regions } // namespace generator