Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArsentiy Milchakov <milcars@mapswithme.com>2019-05-23 15:13:21 +0300
committerTatiana Yan <tatiana.kondakova@gmail.com>2019-05-23 15:41:48 +0300
commit0d005a09d0500328bafb1057766963f2f1ad19a7 (patch)
tree34f1312d6eb0c0d1a493cd6656b603843a2fc0d9 /partners_api
parent5dc96147be6e57bcb0193ad5998d210f5270855f (diff)
[promo_api] inject promo api into discovery manager
Diffstat (limited to 'partners_api')
-rw-r--r--partners_api/promo_api.cpp12
-rw-r--r--partners_api/promo_api.hpp5
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
{