mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-21 13:53:37 +00:00
committed by
Konstantin Pastbin
parent
c9cbb64f12
commit
76ffc99abd
26
libs/map/everywhere_search_callback.cpp
Normal file
26
libs/map/everywhere_search_callback.cpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#include "map/everywhere_search_callback.hpp"
|
||||
|
||||
namespace search
|
||||
{
|
||||
EverywhereSearchCallback::EverywhereSearchCallback(Delegate & delegate, OnResults onResults)
|
||||
: m_delegate(delegate)
|
||||
, m_onResults(std::move(onResults))
|
||||
{
|
||||
CHECK(m_onResults, ());
|
||||
}
|
||||
|
||||
void EverywhereSearchCallback::operator()(Results const & results)
|
||||
{
|
||||
size_t const prevSize = m_productInfo.size();
|
||||
size_t const currSize = results.GetCount();
|
||||
ASSERT_LESS_OR_EQUAL(prevSize, currSize, ());
|
||||
|
||||
for (size_t i = prevSize; i < currSize; ++i)
|
||||
m_productInfo.push_back(m_delegate.GetProductInfo(results[i]));
|
||||
|
||||
m_delegate.RunUITask([onResults = m_onResults, results, productInfo = m_productInfo]() mutable
|
||||
{
|
||||
onResults(std::move(results), std::move(productInfo));
|
||||
});
|
||||
}
|
||||
} // namespace search
|
||||
Reference in New Issue
Block a user