Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Zverev <zverik@textual.ru>2016-07-15 18:01:19 +0300
committerIlya Zverev <zverik@textual.ru>2016-07-19 12:53:21 +0300
commit46a5d58ba1fe3b274df149214fe1bbc7bb97b6e1 (patch)
tree3d9baa51399d40e78102e3e1c7a6add4573c0059 /indexer/feature_meta.cpp
parent989c84e7bb93994a02ba482e83e8ec3a90ff91fa (diff)
[generator] Add region info section to mwms
Diffstat (limited to 'indexer/feature_meta.cpp')
-rw-r--r--indexer/feature_meta.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/indexer/feature_meta.cpp b/indexer/feature_meta.cpp
index 6e614d5cb3..73e9451b2d 100644
--- a/indexer/feature_meta.cpp
+++ b/indexer/feature_meta.cpp
@@ -99,6 +99,50 @@ bool Metadata::TypeFromString(string const & k, Metadata::EType & outType)
return true;
}
+
+void RegionData::SetLanguages(vector<string> const & codes)
+{
+ string value;
+ for (string const & code : codes)
+ {
+ int8_t const lang = StringUtf8Multilang::GetLangIndex(code);
+ if (lang != StringUtf8Multilang::kUnsupportedLanguageCode)
+ value.push_back(lang);
+ }
+ MetadataBase::Set(RegionData::Type::RD_LANGUAGES, value);
+}
+
+void RegionData::GetLanguages(vector<int8_t> & langs) const
+{
+ for (auto const lang : Get(RegionData::Type::RD_LANGUAGES))
+ langs.push_back(lang);
+}
+
+bool RegionData::HasLanguage(int8_t const lang) const
+{
+ for (auto const lng : Get(RegionData::Type::RD_LANGUAGES))
+ {
+ if (lng == lang)
+ return true;
+ }
+ return false;
+}
+
+bool RegionData::IsSingleLanguage(int8_t const lang) const
+{
+ string const value = Get(RegionData::Type::RD_LANGUAGES);
+ if (value.size() != 1)
+ return false;
+ return value.front() == lang;
+}
+
+void RegionData::AddPublicHoliday(int8_t month, int8_t offset)
+{
+ string value = Get(RegionData::Type::RD_PUBLIC_HOLIDAYS);
+ value.push_back(month);
+ value.push_back(offset);
+ Set(RegionData::Type::RD_PUBLIC_HOLIDAYS, value);
+}
} // namespace feature
// Warning: exact osm tag keys should be returned for valid enum values.