mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-19 04:53:36 +00:00
[feature] Put m_metaDeserializer into SharedLoadInfo.
Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
This commit is contained in:
committed by
Konstantin Pastbin
parent
6beabb2fe1
commit
588028c9eb
@@ -184,11 +184,9 @@ uint8_t ReadByte(TSource & src)
|
||||
}
|
||||
} // namespace
|
||||
|
||||
FeatureType::FeatureType(SharedLoadInfo const * loadInfo, vector<uint8_t> && buffer,
|
||||
indexer::MetadataDeserializer * metadataDeserializer)
|
||||
FeatureType::FeatureType(SharedLoadInfo const * loadInfo, vector<uint8_t> && buffer)
|
||||
: m_loadInfo(loadInfo)
|
||||
, m_data(std::move(buffer))
|
||||
, m_metadataDeserializer(metadataDeserializer)
|
||||
{
|
||||
CHECK(m_loadInfo, ());
|
||||
|
||||
@@ -608,10 +606,10 @@ void FeatureType::ParseMetadata()
|
||||
if (m_parsed.m_metadata)
|
||||
return;
|
||||
|
||||
CHECK(m_metadataDeserializer, ());
|
||||
CHECK(m_loadInfo->m_metaDeserializer, ());
|
||||
try
|
||||
{
|
||||
UNUSED_VALUE(m_metadataDeserializer->Get(m_id.m_index, m_metadata));
|
||||
UNUSED_VALUE(m_loadInfo->m_metaDeserializer->Get(m_id.m_index, m_metadata));
|
||||
}
|
||||
catch (Reader::OpenException const &)
|
||||
{
|
||||
@@ -626,10 +624,10 @@ void FeatureType::ParseMetaIds()
|
||||
if (m_parsed.m_metaIds)
|
||||
return;
|
||||
|
||||
CHECK(m_metadataDeserializer, ());
|
||||
CHECK(m_loadInfo->m_metaDeserializer, ());
|
||||
try
|
||||
{
|
||||
UNUSED_VALUE(m_metadataDeserializer->GetIds(m_id.m_index, m_metaIds));
|
||||
UNUSED_VALUE(m_loadInfo->m_metaDeserializer->GetIds(m_id.m_index, m_metaIds));
|
||||
}
|
||||
catch (Reader::OpenException const &)
|
||||
{
|
||||
@@ -845,7 +843,7 @@ std::string_view FeatureType::GetMetadata(feature::Metadata::EType type)
|
||||
{
|
||||
auto const it = base::FindIf(m_metaIds, [&type](auto const & v) { return v.first == type; });
|
||||
if (it != m_metaIds.end())
|
||||
meta = m_metadata.Set(type, m_metadataDeserializer->GetMetaById(it->second));
|
||||
meta = m_metadata.Set(type, m_loadInfo->m_metaDeserializer->GetMetaById(it->second));
|
||||
}
|
||||
return meta;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user