[traffic] Initialize TrafficManager with CountryParentNameGetterFn

Signed-off-by: mvglasow <michael -at- vonglasow.com>

# Conflicts:
#	map/framework.cpp
#	map/traffic_manager.cpp
#	map/traffic_manager.hpp
This commit is contained in:
mvglasow
2025-04-29 23:57:13 +03:00
parent 9c93f421ac
commit 737d7b5643
3 changed files with 13 additions and 4 deletions

View File

@@ -295,7 +295,8 @@ Framework::Framework(FrameworkParams const & params, bool loadMaps)
[this]() -> StringsBundle const & { return m_stringsBundle; }, [this]() -> StringsBundle const & { return m_stringsBundle; },
[this]() -> power_management::PowerManager const & { return m_powerManager; }), [this]() -> power_management::PowerManager const & { return m_powerManager; }),
static_cast<RoutingManager::Delegate &>(*this)) static_cast<RoutingManager::Delegate &>(*this))
, m_trafficManager(bind(&Framework::GetMwmsByRect, this, _1, false /* rough */), , m_trafficManager([this](string const & id) -> string { return m_storage.GetParentIdFor(id); },
bind(&Framework::GetMwmsByRect, this, _1, false /* rough */),
kMaxTrafficCacheSizeBytes, m_routingManager.RoutingSession()) kMaxTrafficCacheSizeBytes, m_routingManager.RoutingSession())
, m_lastReportedCountry(kInvalidCountryId) , m_lastReportedCountry(kInvalidCountryId)
, m_popularityLoader(m_featuresFetcher.GetDataSource(), POPULARITY_RANKS_FILE_TAG) , m_popularityLoader(m_featuresFetcher.GetDataSource(), POPULARITY_RANKS_FILE_TAG)

View File

@@ -41,9 +41,11 @@ TrafficManager::CacheEntry::CacheEntry(time_point<steady_clock> const & requestT
, m_lastAvailability(traffic::TrafficInfo::Availability::Unknown) , m_lastAvailability(traffic::TrafficInfo::Availability::Unknown)
{} {}
TrafficManager::TrafficManager(GetMwmsByRectFn const & getMwmsByRectFn, size_t maxCacheSizeBytes, TrafficManager::TrafficManager(const CountryParentNameGetterFn &countryParentNameGetter,
GetMwmsByRectFn const & getMwmsByRectFn, size_t maxCacheSizeBytes,
traffic::TrafficObserver & observer) traffic::TrafficObserver & observer)
: m_getMwmsByRectFn(getMwmsByRectFn) : m_countryParentNameGetterFn(countryParentNameGetter)
, m_getMwmsByRectFn(getMwmsByRectFn)
, m_observer(observer) , m_observer(observer)
, m_currentDataVersion(0) , m_currentDataVersion(0)
, m_state(TrafficState::Disabled) , m_state(TrafficState::Disabled)

View File

@@ -9,6 +9,8 @@
#include "indexer/mwm_set.hpp" #include "indexer/mwm_set.hpp"
#include "openlr/openlr_decoder.hpp"
#include "geometry/point2d.hpp" #include "geometry/point2d.hpp"
#include "geometry/polyline2d.hpp" #include "geometry/polyline2d.hpp"
#include "geometry/screenbase.hpp" #include "geometry/screenbase.hpp"
@@ -31,6 +33,8 @@
class TrafficManager final class TrafficManager final
{ {
public: public:
using CountryParentNameGetterFn = std::function<std::string(std::string const &)>;
enum class TrafficState enum class TrafficState
{ {
Disabled, Disabled,
@@ -58,7 +62,8 @@ public:
using TrafficStateChangedFn = std::function<void(TrafficState)>; using TrafficStateChangedFn = std::function<void(TrafficState)>;
using GetMwmsByRectFn = std::function<std::vector<MwmSet::MwmId>(m2::RectD const &)>; using GetMwmsByRectFn = std::function<std::vector<MwmSet::MwmId>(m2::RectD const &)>;
TrafficManager(GetMwmsByRectFn const & getMwmsByRectFn, size_t maxCacheSizeBytes, TrafficManager(CountryParentNameGetterFn const & countryParentNameGetter,
GetMwmsByRectFn const & getMwmsByRectFn, size_t maxCacheSizeBytes,
traffic::TrafficObserver & observer); traffic::TrafficObserver & observer);
~TrafficManager(); ~TrafficManager();
@@ -165,6 +170,7 @@ private:
std::for_each(activeMwms.begin(), activeMwms.end(), std::forward<F>(f)); std::for_each(activeMwms.begin(), activeMwms.end(), std::forward<F>(f));
} }
CountryParentNameGetterFn m_countryParentNameGetterFn;
GetMwmsByRectFn m_getMwmsByRectFn; GetMwmsByRectFn m_getMwmsByRectFn;
traffic::TrafficObserver & m_observer; traffic::TrafficObserver & m_observer;