[feature] Put m_metaDeserializer into SharedLoadInfo.

Signed-off-by: Viktor Govako <viktor.govako@gmail.com>
This commit is contained in:
Viktor Govako
2025-06-24 23:53:01 -03:00
committed by Konstantin Pastbin
parent 6beabb2fe1
commit 588028c9eb
13 changed files with 80 additions and 70 deletions

View File

@@ -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;
}