diff --git a/routing/routing_session.cpp b/routing/routing_session.cpp index a57f424644..c28c7dba44 100644 --- a/routing/routing_session.cpp +++ b/routing/routing_session.cpp @@ -62,8 +62,7 @@ void FormatDistance(double dist, string & value, string & suffix) RoutingSession::RoutingSession() : m_router(nullptr) - // @TODO |m_route| should be unique_prt and should be nullptr here. - , m_route(make_shared(string(), 0)) + , m_route(make_unique(string(), 0)) , m_state(RoutingNotActive) , m_isFollowing(false) , m_lastWarnedSpeedCameraIndex(0) @@ -143,17 +142,7 @@ void RoutingSession::DoReadyCallback::operator()(Route & route, RouterResultCode threads::MutexGuard guard(m_routeSessionMutexInner); ASSERT(m_rs.m_route, ()); - - if (e != RouterResultCode::NeedMoreMaps) - { - m_rs.AssignRoute(route, e); - } - else - { - for (string const & country : route.GetAbsentCountries()) - m_rs.m_route->AddAbsentCountry(country); - } - + m_rs.AssignRoute(route, e); m_callback(*m_rs.m_route, e); } @@ -164,8 +153,7 @@ void RoutingSession::RemoveRoute() m_moveAwayCounter = 0; m_turnNotificationsMgr.Reset(); - // @TODO |m_route| should be unique_prt and should be nullptr here. - m_route = make_shared(string(), 0); + m_route = make_unique(string(), 0); } void RoutingSession::RebuildRouteOnTrafficUpdate() diff --git a/routing/routing_session.hpp b/routing/routing_session.hpp index 84d53923d5..62a565ad52 100644 --- a/routing/routing_session.hpp +++ b/routing/routing_session.hpp @@ -175,6 +175,8 @@ public: void CopyTraffic(std::map> & trafficColoring) const override; private: + // @TODO(bykoianko) This class should be removed when all methods RoutingSession and + // all routing callbacks are called from ui thread. struct DoReadyCallback { RoutingSession & m_rs; @@ -213,8 +215,7 @@ private: private: unique_ptr m_router; - // @TODO |m_route| should be unique_prt and may be nullptr. - shared_ptr m_route; + unique_ptr m_route; State m_state; bool m_isFollowing; Checkpoints m_checkpoints;