From c3708ac9782f30dcdf8f3610393536205b2efd8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ferenc=20G=C3=A9czi?= Date: Sat, 9 Sep 2023 00:00:24 +0000 Subject: [PATCH] [platform] Use unique_ptr for LocationService vector MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ferenc Géczi --- platform/location_service.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/platform/location_service.cpp b/platform/location_service.cpp index c192ecb9d5..89ca49c315 100644 --- a/platform/location_service.cpp +++ b/platform/location_service.cpp @@ -50,7 +50,7 @@ public: class DesktopLocationService : public LocationService, public LocationObserver { - std::vector m_services; + std::vector> m_services; PositionFilter m_filter; bool m_reportFirstEvent; @@ -70,26 +70,20 @@ public: : LocationService(observer), m_reportFirstEvent(true) { #if defined(OMIM_OS_MAC) - m_services.push_back(CreateAppleLocationService(*this)); + m_services.push_back(std::unique_ptr(CreateAppleLocationService(*this))); #endif } - virtual ~DesktopLocationService() - { - for (size_t i = 0; i < m_services.size(); ++i) - delete m_services[i]; - } - virtual void Start() { - for (size_t i = 0; i < m_services.size(); ++i) - m_services[i]->Start(); + for (auto & service : m_services) + service->Start(); } virtual void Stop() { - for (size_t i = 0; i < m_services.size(); ++i) - m_services[i]->Stop(); + for (auto & service : m_services) + service->Stop(); m_reportFirstEvent = true; } };