diff options
author | vng <viktor.govako@gmail.com> | 2013-02-21 23:17:52 +0400 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:51:22 +0300 |
commit | f4a9517f296862ee33899a8a5d3542d50b8075fc (patch) | |
tree | ec8ab2f12a86da9749e64b5c8030c97557819cbe /indexer/data_factory.cpp | |
parent | 04c48bb054e3062dda273a4bd3f35911dce5c449 (diff) |
- Remove version.pro generating;
- New HEADER format for mwm container with mwm data version;
- Increase mom version because of new search index format;
Diffstat (limited to 'indexer/data_factory.cpp')
-rw-r--r-- | indexer/data_factory.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/indexer/data_factory.cpp b/indexer/data_factory.cpp index 398926bd3c..34011ad3ea 100644 --- a/indexer/data_factory.cpp +++ b/indexer/data_factory.cpp @@ -3,6 +3,7 @@ #include "data_factory.hpp" #include "interval_index.hpp" #include "old/interval_index_101.hpp" +#include "mwm_version.hpp" #include "../defines.hpp" @@ -10,17 +11,22 @@ #include "../coding/file_container.hpp" -void LoadMapHeader(FilesContainerR const & cont, feature::DataHeader & header) +typedef feature::DataHeader FHeaderT; + +void LoadMapHeader(FilesContainerR const & cont, FHeaderT & header) { - ModelReaderPtr r = cont.GetReader(HEADER_FILE_TAG); + ModelReaderPtr headerReader = cont.GetReader(HEADER_FILE_TAG); - if (cont.IsReaderExist(VERSION_FILE_TAG)) - header.Load(r); + if (!cont.IsReaderExist(VERSION_FILE_TAG)) + header.LoadVer1(headerReader); else - header.LoadVer1(r); + { + ModelReaderPtr verReader = cont.GetReader(VERSION_FILE_TAG); + header.Load(headerReader, static_cast<FHeaderT::Version>(ver::ReadVersion(verReader))); + } } -void LoadMapHeader(ModelReaderPtr const & reader, feature::DataHeader & header) +void LoadMapHeader(ModelReaderPtr const & reader, FHeaderT & header) { LoadMapHeader(FilesContainerR(reader), header); } @@ -32,18 +38,16 @@ void IndexFactory::Load(FilesContainerR const & cont) IntervalIndexIFace * IndexFactory::CreateIndex(ModelReaderPtr reader) { - using namespace feature; - IntervalIndexIFace * p; switch (m_header.GetVersion()) { - case DataHeader::v1: + case FHeaderT::v1: p = new old_101::IntervalIndex<uint32_t, ModelReaderPtr>(reader); break; default: - p = new IntervalIndex<ModelReaderPtr>(reader);; + p = new IntervalIndex<ModelReaderPtr>(reader); break; } |