diff options
author | Yuri Gorshenin <y@mmaps.me> | 2015-03-31 19:21:39 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:41:35 +0300 |
commit | 9e5ac4ef2a843481e59cbe5295c785a92a374bf9 (patch) | |
tree | f6b29e544a34a4f12138224cdf9341c28ce31702 /indexer/data_factory.cpp | |
parent | 25f7a7f2f32cc4db8a5bd0106ae4c8f6c6292201 (diff) |
Fixed MwmSet::Register() signature.
Diffstat (limited to 'indexer/data_factory.cpp')
-rw-r--r-- | indexer/data_factory.cpp | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/indexer/data_factory.cpp b/indexer/data_factory.cpp index b1acc286cf..fea7019966 100644 --- a/indexer/data_factory.cpp +++ b/indexer/data_factory.cpp @@ -10,20 +10,21 @@ #include "../coding/file_reader.hpp" #include "../coding/file_container.hpp" +namespace { -typedef feature::DataHeader FHeaderT; +using FHeaderT = feature::DataHeader; + +} // namespace void LoadMapHeader(FilesContainerR const & cont, FHeaderT & header) { ModelReaderPtr headerReader = cont.GetReader(HEADER_FILE_TAG); + version::MwmVersion version; - if (!cont.IsExist(VERSION_FILE_TAG)) - header.LoadVer1(headerReader); + if (version::ReadVersion(cont, version)) + header.Load(headerReader, version.format); else - { - ModelReaderPtr verReader = cont.GetReader(VERSION_FILE_TAG); - header.Load(headerReader, static_cast<FHeaderT::Version>(ver::ReadVersion(verReader))); - } + header.LoadV1(headerReader); } void LoadMapHeader(ModelReaderPtr const & reader, FHeaderT & header) @@ -33,23 +34,13 @@ void LoadMapHeader(ModelReaderPtr const & reader, FHeaderT & header) void IndexFactory::Load(FilesContainerR const & cont) { + ReadVersion(cont, m_version); LoadMapHeader(cont, m_header); } IntervalIndexIFace * IndexFactory::CreateIndex(ModelReaderPtr reader) { - IntervalIndexIFace * p; - - switch (m_header.GetVersion()) - { - case FHeaderT::v1: - p = new old_101::IntervalIndex<uint32_t, ModelReaderPtr>(reader); - break; - - default: - p = new IntervalIndex<ModelReaderPtr>(reader); - break; - } - - return p; + if (m_version.format == version::v1) + return new old_101::IntervalIndex<uint32_t, ModelReaderPtr>(reader); + return new IntervalIndex<ModelReaderPtr>(reader); } |