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:
authorSergey Yershov <yershov@corp.mail.ru>2014-12-25 20:32:07 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:35:26 +0300
commit8f6b34bdb4e0e3ffb4010d5bd44df96bb4467a22 (patch)
tree2a02f3ce859edf2397c83d1fd2f3e48efa0b9bc0 /indexer/feature_loader.cpp
parentaf6bd463306aad0bc7154d5550a298a104bad143 (diff)
Moved work with metadata to separated files
Diffstat (limited to 'indexer/feature_loader.cpp')
-rw-r--r--indexer/feature_loader.cpp15
1 files changed, 4 insertions, 11 deletions
diff --git a/indexer/feature_loader.cpp b/indexer/feature_loader.cpp
index b88c63f80a..55664f903a 100644
--- a/indexer/feature_loader.cpp
+++ b/indexer/feature_loader.cpp
@@ -252,12 +252,12 @@ uint32_t LoaderCurrent::ParseTriangles(int scale)
return sz;
}
-void LoaderCurrent::ParseAdditionalInfo()
+void LoaderCurrent::ParseMetadata()
{
try
{
typedef pair<uint32_t, uint32_t> IdxElementT;
- DDVector<IdxElementT, FilesContainerR::ReaderT> idx(m_Info.GetAdditionalInfoIndexReader());
+ DDVector<IdxElementT, FilesContainerR::ReaderT> idx(m_Info.GetMetadataIndexReader());
auto it = lower_bound(idx.begin(), idx.end()
, make_pair(uint32_t(m_pF->m_id.m_offset), uint32_t(0))
@@ -266,16 +266,9 @@ void LoaderCurrent::ParseAdditionalInfo()
if (it != idx.end() && m_pF->m_id.m_offset == it->first)
{
- uint8_t header[2] = {0};
- char buffer[numeric_limits<uint8_t>::max()] = {0};
- ReaderSource<FilesContainerR::ReaderT> reader(m_Info.GetAdditionalInfoReader());
+ ReaderSource<FilesContainerR::ReaderT> reader(m_Info.GetMetadataReader());
reader.Skip(it->second);
- do
- {
- reader.Read(header, sizeof(header));
- reader.Read(buffer, header[1]);
- m_pF->m_additional_info[uint8_t(header[0] & 0x7F)].assign(buffer, header[1]);
- } while (!(header[0] & 0x80));
+ m_pF->GetMetadata().DeserializeFromMWM(reader);
}
}
catch(Reader::OpenException & e)