diff options
author | Arsentiy Milchakov <milcars@mapswithme.com> | 2019-05-23 15:13:21 +0300 |
---|---|---|
committer | Tatiana Yan <tatiana.kondakova@gmail.com> | 2019-05-23 15:41:48 +0300 |
commit | 0d005a09d0500328bafb1057766963f2f1ad19a7 (patch) | |
tree | 34f1312d6eb0c0d1a493cd6656b603843a2fc0d9 /partners_api | |
parent | 5dc96147be6e57bcb0193ad5998d210f5270855f (diff) |
[promo_api] inject promo api into discovery manager
Diffstat (limited to 'partners_api')
-rw-r--r-- | partners_api/promo_api.cpp | 12 | ||||
-rw-r--r-- | partners_api/promo_api.hpp | 5 |
2 files changed, 6 insertions, 11 deletions
diff --git a/partners_api/promo_api.cpp b/partners_api/promo_api.cpp index 27bde9762d..104617311b 100644 --- a/partners_api/promo_api.cpp +++ b/partners_api/promo_api.cpp @@ -96,17 +96,11 @@ void GetPromoCityGalleryImpl(std::string const & baseUrl, std::string const & id ASSERT(!baseUrl.empty(), ()); ASSERT_EQUAL(baseUrl.back(), '/', ()); - if (id.empty()) - { - GetPlatform().RunTask(Platform::Thread::Gui, [cb]() { cb({}); }); - return; - } - CityGallery result; std::string httpResult; - if (!WebApi::GetCityGalleryById(baseUrl, id, languages::GetCurrentNorm(), httpResult)) + if (id.empty() || !WebApi::GetCityGalleryById(baseUrl, id, languages::GetCurrentNorm(), httpResult)) { - GetPlatform().RunTask(Platform::Thread::Gui, [cb]() { cb({}); }); + cb({}); return; } @@ -120,7 +114,7 @@ void GetPromoCityGalleryImpl(std::string const & baseUrl, std::string const & id result.clear(); } - GetPlatform().RunTask(Platform::Thread::Gui, [ cb, result = move(result) ]() { cb(result); }); + cb(std::move(result)); } } // namespace diff --git a/partners_api/promo_api.hpp b/partners_api/promo_api.hpp index c75aac7b6f..61da4e17d0 100644 --- a/partners_api/promo_api.hpp +++ b/partners_api/promo_api.hpp @@ -2,9 +2,10 @@ #include "metrics/eye.hpp" +#include "platform/safe_callback.hpp" + #include "geometry/point2d.hpp" -#include <functional> #include <memory> #include <string> #include <vector> @@ -42,7 +43,7 @@ public: std::string const & lang, std::string & result); }; -using CityGalleryCallback = std::function<void(CityGallery const & gallery)>; +using CityGalleryCallback = platform::SafeCallback<void(CityGallery const & gallery)>; class Api : public eye::Subscriber { |