diff options
author | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-12-01 13:41:57 +0300 |
---|---|---|
committer | Vladimir Byko-Ianko <v.bykoianko@corp.mail.ru> | 2016-12-03 11:54:57 +0300 |
commit | c5c9eb5c06984fafaac9dc58828b6427ad0500d3 (patch) | |
tree | 187d024b5a29644caf22ed1a74198a026e9eae5e /map | |
parent | 47ded79083994e11c2a606f8bd188ef72ec9d35b (diff) |
Review fixes.
Diffstat (limited to 'map')
-rw-r--r-- | map/framework.cpp | 10 | ||||
-rw-r--r-- | map/traffic_manager.cpp | 12 | ||||
-rw-r--r-- | map/traffic_manager.hpp | 16 |
3 files changed, 12 insertions, 26 deletions
diff --git a/map/framework.cpp b/map/framework.cpp index 0eae3f8a07..f2428e5f94 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -357,11 +357,9 @@ Framework::Framework() , m_trackingReporter(platform::CreateSocket(), TRACKING_REALTIME_HOST, TRACKING_REALTIME_PORT, tracking::Reporter::kPushDelayMs) , m_trafficManager(bind(&Framework::GetMwmsByRect, this, _1), + kMaxTrafficCacheSizeBytes, // Note. |m_routingSession| should be declared before |m_trafficManager|. - {bind(&RoutingSession::AddTrafficInfo, &m_routingSession, _1), - bind(&RoutingSession::RemoveTrafficInfo, &m_routingSession, _1), - bind(&RoutingSession::EnableTraffic, &m_routingSession, _1)}, - kMaxTrafficCacheSizeBytes) + m_routingSession) , m_displacementModeManager([this](bool show) { int const mode = show ? dp::displacement::kHotelMode : dp::displacement::kDefaultMode; CallDrapeFunction(bind(&df::DrapeEngine::SetDisplacementMode, _1, mode)); @@ -2498,9 +2496,7 @@ void Framework::SetRouterImpl(RouterType type) router.reset( new CarRouter(m_model.GetIndex(), countryFileGetter, - SingleMwmRouter::CreateCarRouter(m_model.GetIndex(), - bind(&RoutingSession::GetTrafficColoring, - &m_routingSession, _1)))); + SingleMwmRouter::CreateCarRouter(m_model.GetIndex(), m_routingSession))); fetcher.reset(new OnlineAbsentCountriesFetcher(countryFileGetter, localFileChecker)); m_routingSession.SetRoutingSettings(routing::GetCarRoutingSettings()); } diff --git a/map/traffic_manager.cpp b/map/traffic_manager.cpp index d24bcdb9e7..a7cea9da6a 100644 --- a/map/traffic_manager.cpp +++ b/map/traffic_manager.cpp @@ -38,10 +38,10 @@ TrafficManager::CacheEntry::CacheEntry(time_point<steady_clock> const & requestT {} TrafficManager::TrafficManager(GetMwmsByRectFn const & getMwmsByRectFn, - RoutingFns const & routingFns, - size_t maxCacheSizeBytes) + size_t maxCacheSizeBytes, + traffic::RoutingObserver & routingObserver) : m_getMwmsByRectFn(getMwmsByRectFn) - , m_routingFns(routingFns) + , m_routingObserver(routingObserver) , m_currentDataVersion(0) , m_state(TrafficState::Disabled) , m_maxCacheSizeBytes(maxCacheSizeBytes) @@ -96,7 +96,7 @@ void TrafficManager::SetEnabled(bool enabled) UpdateMyPosition(m_currentPosition.first); } - m_routingFns.m_enableTrafficFn(enabled); + m_routingObserver.OnTrafficEnabled(enabled); } void TrafficManager::Clear() @@ -333,7 +333,7 @@ void TrafficManager::OnTrafficDataResponse(traffic::TrafficInfo const & info) UpdateState(); // Update traffic colors for routing. - m_routingFns.m_addTrafficInfoFn(info); + m_routingObserver.OnTrafficInfoAdded(info); } void TrafficManager::CheckCacheSize() @@ -354,7 +354,7 @@ void TrafficManager::CheckCacheSize() { m_currentCacheSizeBytes -= it->second.m_dataSize; m_drapeEngine->ClearTrafficCache(mwmId); - m_routingFns.m_removeTrafficInfoFn(mwmId); + m_routingObserver.OnTrafficInfoRemoved(mwmId); } m_mwmCache.erase(it); ++itSeen; diff --git a/map/traffic_manager.hpp b/map/traffic_manager.hpp index c128b291a2..1540782e7a 100644 --- a/map/traffic_manager.hpp +++ b/map/traffic_manager.hpp @@ -56,19 +56,9 @@ public: using TrafficStateChangedFn = function<void(TrafficState)>; using GetMwmsByRectFn = function<vector<MwmSet::MwmId>(m2::RectD const &)>; - using AddTrafficInfoToRoutingFn = function<void(traffic::TrafficInfo const &)>; - using RemoveTrafficInfoFromRoutingFn = function<void(MwmSet::MwmId const &)>; - using EnableTrafficInRoutingFn = function<void(bool)>; - struct RoutingFns - { - AddTrafficInfoToRoutingFn m_addTrafficInfoFn; - RemoveTrafficInfoFromRoutingFn m_removeTrafficInfoFn; - EnableTrafficInRoutingFn m_enableTrafficFn; - }; - - TrafficManager(GetMwmsByRectFn const & getMwmsByRectFn, RoutingFns const & routingFns, - size_t maxCacheSizeBytes); + TrafficManager(GetMwmsByRectFn const & getMwmsByRectFn, size_t maxCacheSizeBytes, + traffic::RoutingObserver & routingObserver); ~TrafficManager(); void SetStateListener(TrafficStateChangedFn const & onStateChangedFn); @@ -105,7 +95,7 @@ private: bool IsEnabled() const; GetMwmsByRectFn m_getMwmsByRectFn; - RoutingFns m_routingFns; + traffic::RoutingObserver & m_routingObserver; ref_ptr<df::DrapeEngine> m_drapeEngine; atomic<int64_t> m_currentDataVersion; |