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-22 16:08:03 +0300
committermpimenov <mpimenov@users.noreply.github.com>2019-05-22 21:13:05 +0300
commit8feb8457c6b43cb0807085e13c78b247d0a20db9 (patch)
treed9c35522cfe55a5d8d8ff9a356206e53d84c951f /partners_api
parent7f550f91f8521e3848d140f813fa681c12e51654 (diff)
[core] review fixes + cross_reference is renamed to promo
Diffstat (limited to 'partners_api')
-rw-r--r--partners_api/CMakeLists.txt4
-rw-r--r--partners_api/cross_reference_api.cpp227
-rw-r--r--partners_api/partners_api_tests/CMakeLists.txt2
-rw-r--r--partners_api/partners_api_tests/promo_tests.cpp (renamed from partners_api/partners_api_tests/cross_reference_tests.cpp)40
-rw-r--r--partners_api/promo_api.cpp221
-rw-r--r--partners_api/promo_api.hpp (renamed from partners_api/cross_reference_api.hpp)24
6 files changed, 256 insertions, 262 deletions
diff --git a/partners_api/CMakeLists.txt b/partners_api/CMakeLists.txt
index 11f2d00fb9..f7fed45e97 100644
--- a/partners_api/CMakeLists.txt
+++ b/partners_api/CMakeLists.txt
@@ -16,8 +16,8 @@ set(
booking_block_params.cpp
booking_block_params.hpp
booking_params_base.hpp
- cross_reference_api.cpp
- cross_reference_api.hpp
+ promo_api.cpp
+ promo_api.hpp
facebook_ads.cpp
facebook_ads.hpp
google_ads.cpp
diff --git a/partners_api/cross_reference_api.cpp b/partners_api/cross_reference_api.cpp
deleted file mode 100644
index b488774cf6..0000000000
--- a/partners_api/cross_reference_api.cpp
+++ /dev/null
@@ -1,227 +0,0 @@
-#include "cross_reference_api.hpp"
-
-#include "metrics/eye.hpp"
-
-#include "platform/http_client.hpp"
-#include "platform/platform.hpp"
-#include "platform/preferred_languages.hpp"
-#include "platform/settings.hpp"
-
-#include "base/assert.hpp"
-
-#include <algorithm>
-#include <chrono>
-#include <utility>
-
-#include "3party/jansson/myjansson.hpp"
-
-using namespace cross_reference;
-
-using namespace std::chrono;
-
-namespace
-{
-constexpr minutes kMinMinutesCountAfterBooking = minutes(5);
-constexpr minutes kMaxMinutesCountAfterBooking = minutes(60);
-constexpr hours kShowCrossReferenceNotRaterThan = hours(24);
-
-std::array<std::string, 9> const kSupportedBookingTypes = {{"tourism-hotel", "tourism-apartment",
- "tourism-camp_site", "tourism-chalet",
- "tourism-guest_house", "tourism-hostel",
- "tourism-motel", "tourism-resort",
- "sponsored-booking"}};
-
-bool NeedToShowImpl(eye::Eye::InfoType const & eyeInfo)
-{
- auto const timeSinceLastShown =
- eye::Clock::now() - eyeInfo->m_crossReferences.m_lastTimeShownAfterBooking;
- auto const timeSinceLastTransitionToBooking =
- eye::Clock::now() - eyeInfo->m_crossReferences.m_transitionToBookingTime;
-
- return timeSinceLastTransitionToBooking >= kMinMinutesCountAfterBooking ||
- timeSinceLastTransitionToBooking <= kMaxMinutesCountAfterBooking ||
- timeSinceLastShown > kShowCrossReferenceNotRaterThan;
-}
-
-void ParseCityGallery(std::string const & src, cross_reference::CityGallery & result)
-{
- base::Json root(src.c_str());
- auto const dataArray = json_object_get(root.get(), "data");
-
- auto const size = json_array_size(dataArray);
-
- result.reserve(size);
- for (size_t i = 0; i < size; ++i)
- {
- cross_reference::CityGalleryItem item;
- auto const obj = json_array_get(dataArray, i);
- FromJSONObject(obj, "name", item.m_name);
- FromJSONObject(obj, "url", item.m_url);
-
- auto const imageUrlObj = json_object_get(obj, "image_url");
- if (!json_is_null(imageUrlObj))
- FromJSON(imageUrlObj, item.m_imageUrl);
-
- FromJSONObject(obj, "access", item.m_access);
-
- auto const tierObj = json_object_get(obj, "tier");
- if (!json_is_null(tierObj))
- FromJSON(tierObj, item.m_tier);
-
- auto const authorObj = json_object_get(obj, "author");
- FromJSONObject(authorObj, "key_id", item.m_author.m_id);
- FromJSONObject(authorObj, "name", item.m_author.m_name);
-
- auto const luxCategoryObj = json_object_get(obj, "lux_category");
-
- auto const luxCategoryNameobj = json_object_get(luxCategoryObj, "name");
- if (!json_is_null(luxCategoryNameobj))
- FromJSON(luxCategoryNameobj, item.m_luxCategory.m_name);
-
- FromJSONObject(luxCategoryObj, "color", item.m_luxCategory.m_color);
-
- result.emplace_back(std::move(item));
- }
-}
-
-std::string MakeCityGalleryUrl(std::string const & baseUrl, std::string const & osmId,
- std::string const & lang)
-{
- return baseUrl + osmId + "/?lang=" + lang;
-}
-
-void GetCrossReferenceCityGalleryImpl(std::string const & baseUrl, std::string const & osmId,
- CityGalleryCallback const & cb)
-{
- if (osmId.empty())
- {
- GetPlatform().RunTask(Platform::Thread::Gui, [cb]() { cb({}); });
- return;
- }
-
- CityGallery result;
- std::string httpResult;
- if (!WebApi::GetCityGalleryByOsmId(baseUrl, osmId, languages::GetCurrentNorm(), httpResult))
- {
- GetPlatform().RunTask(Platform::Thread::Gui, [cb]() { cb({}); });
- return;
- }
-
- try
- {
- ParseCityGallery(httpResult, result);
- }
- catch (base::Json::Exception const & e)
- {
- LOG(LERROR, (e.Msg()));
- result.clear();
- }
-
- GetPlatform().RunTask(Platform::Thread::Gui, [ cb, result = move(result) ]() { cb(result); });
-}
-} // namespace
-
-namespace cross_reference
-{
-// static
-bool WebApi::GetCityGalleryByOsmId(std::string const & baseUrl, std::string const & osmId,
- std::string const & lang, std::string & result)
-{
- platform::HttpClient request(MakeCityGalleryUrl(baseUrl, osmId, lang));
- return request.RunHttpRequest(result);
-}
-
-Api::Api(std::string const & baseUrl /* = "https://routes.maps.me/gallery/v1/city/" */)
- : m_baseUrl(baseUrl)
-{
-}
-
-void Api::SetDelegate(std::unique_ptr<Delegate> delegate)
-{
- m_delegate = std::move(delegate);
-}
-
-void Api::OnEnterForeground()
-{
- m_bookingCrossReferenceAwaitingForId.clear();
- settings::TryGet("BookingCrossReferenceAwaitingForId", m_bookingCrossReferenceAwaitingForId);
-
- if (m_bookingCrossReferenceAwaitingForId.empty())
- return;
-
- auto const eyeInfo = eye::Eye::Instance().GetInfo();
- auto const timeSinceLastTransitionToBooking =
- eye::Clock::now() - eyeInfo->m_crossReferences.m_transitionToBookingTime;
-
- if (timeSinceLastTransitionToBooking < kMinMinutesCountAfterBooking ||
- timeSinceLastTransitionToBooking > kMaxMinutesCountAfterBooking)
- {
- settings::Delete("BookingCrossReferenceAwaitingForId");
- m_bookingCrossReferenceAwaitingForId.clear();
- }
-}
-
-bool Api::NeedToShow() const
-{
- if (m_bookingCrossReferenceAwaitingForId.empty())
- return false;
-
- return NeedToShowImpl(eye::Eye::Instance().GetInfo());
-}
-
-std::string Api::GetCrossReferenceLinkAfterBooking() const
-{
- auto const eyeInfo = eye::Eye::Instance().GetInfo();
-
- if (m_bookingCrossReferenceAwaitingForId.empty() || !NeedToShowImpl(eyeInfo))
- return "";
-
- return MakeCityGalleryUrl(m_baseUrl, m_bookingCrossReferenceAwaitingForId,
- languages::GetCurrentNorm());
-}
-
-void Api::GetCrossReferenceCityGallery(std::string const & osmId,
- CityGalleryCallback const & cb) const
-{
- GetCrossReferenceCityGalleryImpl(m_baseUrl, osmId, cb);
-}
-
-void Api::GetCrossReferenceCityGallery(m2::PointD const & point,
- CityGalleryCallback const & cb) const
-{
- CHECK(m_delegate, ());
-
- GetCrossReferenceCityGalleryImpl(m_baseUrl, m_delegate->GetCityOsmId(point), cb);
-}
-
-void Api::OnMapObjectEvent(eye::MapObject const & mapObject)
-{
- CHECK(!mapObject.GetEvents().empty(), ());
-
- auto const typeIt = std::find(kSupportedBookingTypes.cbegin(), kSupportedBookingTypes.cend(),
- mapObject.GetBestType());
-
- if (typeIt == kSupportedBookingTypes.cend())
- return;
-
- m2::PointD pos;
- bool found = false;
- switch (mapObject.GetEvents().back().m_type)
- {
- case eye::MapObject::Event::Type::BookingBook:
- case eye::MapObject::Event::Type::BookingMore:
- case eye::MapObject::Event::Type::BookingReviews:
- case eye::MapObject::Event::Type::BookingDetails:
- {
- pos = mapObject.GetPos();
- found = true;
- }
- default: /* do nothing */;
- }
-
- auto const osmId = found ? m_delegate->GetCityOsmId(pos) : "";
-
- if (!osmId.empty())
- settings::Set("BookingCrossReferenceAwaitingForId", osmId);
-}
-} // namespace cross_reference
diff --git a/partners_api/partners_api_tests/CMakeLists.txt b/partners_api/partners_api_tests/CMakeLists.txt
index 5916607e7c..c9710dab6f 100644
--- a/partners_api/partners_api_tests/CMakeLists.txt
+++ b/partners_api/partners_api_tests/CMakeLists.txt
@@ -6,7 +6,7 @@ set(
SRC
ads_engine_tests.cpp
booking_tests.cpp
- cross_reference_tests.cpp
+ promo_tests.cpp
facebook_tests.cpp
google_tests.cpp
maxim_tests.cpp
diff --git a/partners_api/partners_api_tests/cross_reference_tests.cpp b/partners_api/partners_api_tests/promo_tests.cpp
index 8b12c62aab..39758eff8a 100644
--- a/partners_api/partners_api_tests/cross_reference_tests.cpp
+++ b/partners_api/partners_api_tests/promo_tests.cpp
@@ -1,6 +1,6 @@
#include "testing/testing.hpp"
-#include "partners_api/cross_reference_api.hpp"
+#include "partners_api/promo_api.hpp"
#include "platform/settings.hpp"
@@ -16,7 +16,7 @@ using namespace platform::tests_support;
namespace
{
-std::string const kTestOsmId = "TestOsmId";
+std::string const kTestId = "TestId";
class ScopedEyeWithAsyncGuiThread : public AsyncGuiThread
{
@@ -32,16 +32,16 @@ public:
}
};
-class DelegateForTesting : public cross_reference::Api::Delegate
+class DelegateForTesting : public promo::Api::Delegate
{
public:
- std::string GetCityOsmId(m2::PointD const &) override { return kTestOsmId; }
+ std::string GetCityId(m2::PointD const &) override { return kTestId; }
};
} // namespace
-UNIT_CLASS_TEST(ScopedEyeWithAsyncGuiThread, CrossReference_NeedToShow)
+UNIT_CLASS_TEST(ScopedEyeWithAsyncGuiThread, Promo_NeedToShowAfterBooking)
{
- cross_reference::Api api;
+ promo::Api api;
Info info;
{
MapObject poi;
@@ -69,9 +69,9 @@ UNIT_CLASS_TEST(ScopedEyeWithAsyncGuiThread, CrossReference_NeedToShow)
}
EyeForTesting::SetInfo(info);
- settings::Set("BookingCrossReferenceAwaitingForId", kTestOsmId);
+ settings::Set("BookingPromoAwaitingForId", kTestId);
api.OnEnterForeground();
- TEST_EQUAL(api.NeedToShow(), false, ());
+ TEST_EQUAL(api.NeedToShowAfterBooking(), false, ());
{
MapObject poi;
@@ -92,11 +92,11 @@ UNIT_CLASS_TEST(ScopedEyeWithAsyncGuiThread, CrossReference_NeedToShow)
info.m_mapObjects.Add(poi);
}
- info.m_crossReferences.m_transitionToBookingTime = Clock::now() - std::chrono::hours(2);
+ info.m_promo.m_transitionToBookingTime = Clock::now() - std::chrono::hours(2);
EyeForTesting::SetInfo(info);
- settings::Set("BookingCrossReferenceAwaitingForId", kTestOsmId);
+ settings::Set("BookingPromoAwaitingForId", kTestId);
api.OnEnterForeground();
- TEST_EQUAL(api.NeedToShow(), false, ());
+ TEST_EQUAL(api.NeedToShowAfterBooking(), false, ());
{
MapObject poi;
@@ -127,21 +127,21 @@ UNIT_CLASS_TEST(ScopedEyeWithAsyncGuiThread, CrossReference_NeedToShow)
info.m_mapObjects.Add(poi);
}
- info.m_crossReferences.m_transitionToBookingTime = Clock::now() - std::chrono::minutes(6);
+ info.m_promo.m_transitionToBookingTime = Clock::now() - std::chrono::minutes(6);
EyeForTesting::SetInfo(info);
- settings::Set("BookingCrossReferenceAwaitingForId", kTestOsmId);
+ settings::Set("BookingPromoAwaitingForId", kTestId);
api.OnEnterForeground();
- TEST_EQUAL(api.NeedToShow(), true, ());
+ TEST_EQUAL(api.NeedToShowAfterBooking(), true, ());
}
-UNIT_CLASS_TEST(ScopedEyeWithAsyncGuiThread, CrossReference_GetCrossReferenceCityGallery)
+UNIT_CLASS_TEST(ScopedEyeWithAsyncGuiThread, Promo_GetCityGallery)
{
- cross_reference::Api api("http://localhost:34568/gallery/city/");
+ promo::Api api("http://localhost:34568/gallery/city/");
api.SetDelegate(std::make_unique<DelegateForTesting>());
{
- cross_reference::CityGallery result{};
- api.GetCrossReferenceCityGallery(kTestOsmId, [&result](cross_reference::CityGallery const & gallery)
+ promo::CityGallery result{};
+ api.GetCityGallery(kTestId, [&result](promo::CityGallery const & gallery)
{
result = gallery;
testing::Notify();
@@ -151,9 +151,9 @@ UNIT_CLASS_TEST(ScopedEyeWithAsyncGuiThread, CrossReference_GetCrossReferenceCit
TEST_EQUAL(result.size(), 2, ());
}
{
- cross_reference::CityGallery result{};
+ promo::CityGallery result{};
m2::PointD pt;
- api.GetCrossReferenceCityGallery(pt, [&result](cross_reference::CityGallery const & gallery)
+ api.GetCityGallery(pt, [&result](promo::CityGallery const & gallery)
{
result = gallery;
testing::Notify();
diff --git a/partners_api/promo_api.cpp b/partners_api/promo_api.cpp
new file mode 100644
index 0000000000..3d9ceea9ac
--- /dev/null
+++ b/partners_api/promo_api.cpp
@@ -0,0 +1,221 @@
+#include "partners_api/promo_api.hpp"
+
+#include "indexer/classificator.hpp"
+#include "indexer/ftypes_matcher.hpp"
+
+#include "platform/http_client.hpp"
+#include "platform/platform.hpp"
+#include "platform/preferred_languages.hpp"
+#include "platform/settings.hpp"
+
+#include "base/assert.hpp"
+
+#include <algorithm>
+#include <chrono>
+#include <utility>
+
+#include "3party/jansson/myjansson.hpp"
+
+using namespace std::chrono;
+
+namespace promo
+{
+namespace
+{
+constexpr minutes kMinMinutesAfterBooking = minutes(5);
+constexpr minutes kMaxMinutesAfterBooking = minutes(60);
+constexpr hours kShowPromoNotRaterThan = hours(24);
+
+bool NeedToShowImpl(eye::Eye::InfoType const & eyeInfo)
+{
+ auto const timeSinceLastShown = eye::Clock::now() - eyeInfo->m_promo.m_lastTimeShownAfterBooking;
+ auto const timeSinceLastTransitionToBooking =
+ eye::Clock::now() - eyeInfo->m_promo.m_transitionToBookingTime;
+
+ return timeSinceLastTransitionToBooking >= kMinMinutesAfterBooking &&
+ timeSinceLastTransitionToBooking <= kMaxMinutesAfterBooking &&
+ timeSinceLastShown > kShowPromoNotRaterThan;
+}
+
+void ParseCityGallery(std::string const & src, promo::CityGallery & result)
+{
+ base::Json root(src.c_str());
+ auto const dataArray = json_object_get(root.get(), "data");
+
+ auto const size = json_array_size(dataArray);
+
+ result.reserve(size);
+ for (size_t i = 0; i < size; ++i)
+ {
+ promo::CityGalleryItem item;
+ auto const obj = json_array_get(dataArray, i);
+ FromJSONObject(obj, "name", item.m_name);
+ FromJSONObject(obj, "url", item.m_url);
+
+ auto const imageUrlObj = json_object_get(obj, "image_url");
+ if (!json_is_null(imageUrlObj))
+ FromJSON(imageUrlObj, item.m_imageUrl);
+
+ FromJSONObject(obj, "access", item.m_access);
+
+ auto const tierObj = json_object_get(obj, "tier");
+ if (!json_is_null(tierObj))
+ FromJSON(tierObj, item.m_tier);
+
+ auto const authorObj = json_object_get(obj, "author");
+ FromJSONObject(authorObj, "key_id", item.m_author.m_id);
+ FromJSONObject(authorObj, "name", item.m_author.m_name);
+
+ auto const luxCategoryObj = json_object_get(obj, "lux_category");
+
+ auto const luxCategoryNameobj = json_object_get(luxCategoryObj, "name");
+ if (!json_is_null(luxCategoryNameobj))
+ FromJSON(luxCategoryNameobj, item.m_luxCategory.m_name);
+
+ FromJSONObject(luxCategoryObj, "color", item.m_luxCategory.m_color);
+
+ result.emplace_back(std::move(item));
+ }
+}
+
+std::string MakeCityGalleryUrl(std::string const & baseUrl, std::string const & id,
+ std::string const & lang)
+{
+ return baseUrl + id + "/?lang=" + lang;
+}
+
+void GetPromoCityGalleryImpl(std::string const & baseUrl, std::string const & id,
+ CityGalleryCallback const & cb)
+{
+ 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))
+ {
+ GetPlatform().RunTask(Platform::Thread::Gui, [cb]() { cb({}); });
+ return;
+ }
+
+ try
+ {
+ ParseCityGallery(httpResult, result);
+ }
+ catch (base::Json::Exception const & e)
+ {
+ LOG(LERROR, (e.Msg()));
+ result.clear();
+ }
+
+ GetPlatform().RunTask(Platform::Thread::Gui, [ cb, result = move(result) ]() { cb(result); });
+}
+} // namespace
+
+// static
+bool WebApi::GetCityGalleryById(std::string const & baseUrl, std::string const & id,
+ std::string const & lang, std::string & result)
+{
+ platform::HttpClient request(MakeCityGalleryUrl(baseUrl, id, lang));
+ return request.RunHttpRequest(result);
+}
+
+Api::Api(std::string const & baseUrl /* = "https://routes.maps.me/gallery/v1/city/" */)
+ : m_baseUrl(baseUrl)
+{
+}
+
+void Api::SetDelegate(std::unique_ptr<Delegate> delegate)
+{
+ m_delegate = std::move(delegate);
+}
+
+void Api::OnEnterForeground()
+{
+ m_bookingPromoAwaitingForId.clear();
+ settings::TryGet("BookingPromoAwaitingForId", m_bookingPromoAwaitingForId);
+
+ if (m_bookingPromoAwaitingForId.empty())
+ return;
+
+ auto const eyeInfo = eye::Eye::Instance().GetInfo();
+ auto const timeSinceLastTransitionToBooking =
+ eye::Clock::now() - eyeInfo->m_promo.m_transitionToBookingTime;
+
+ if (timeSinceLastTransitionToBooking < kMinMinutesAfterBooking ||
+ timeSinceLastTransitionToBooking > kMaxMinutesAfterBooking)
+ {
+ settings::Delete("BookingPromoAwaitingForId");
+ m_bookingPromoAwaitingForId.clear();
+ }
+}
+
+bool Api::NeedToShowAfterBooking() const
+{
+ if (m_bookingPromoAwaitingForId.empty())
+ return false;
+
+ return NeedToShowImpl(eye::Eye::Instance().GetInfo());
+}
+
+std::string Api::GetPromoLinkAfterBooking() const
+{
+ auto const eyeInfo = eye::Eye::Instance().GetInfo();
+
+ if (m_bookingPromoAwaitingForId.empty() || !NeedToShowImpl(eyeInfo))
+ return "";
+
+ return MakeCityGalleryUrl(m_baseUrl, m_bookingPromoAwaitingForId, languages::GetCurrentNorm());
+}
+
+void Api::GetCityGallery(std::string const & id, CityGalleryCallback const & cb) const
+{
+ GetPromoCityGalleryImpl(m_baseUrl, id, cb);
+}
+
+void Api::GetCityGallery(m2::PointD const & point, CityGalleryCallback const & cb) const
+{
+ CHECK(m_delegate, ());
+
+ GetPromoCityGalleryImpl(m_baseUrl, m_delegate->GetCityId(point), cb);
+}
+
+void Api::OnMapObjectEvent(eye::MapObject const & mapObject)
+{
+ CHECK(!mapObject.GetEvents().empty(), ());
+
+ auto const bestType = classif().GetTypeByReadableObjectName(mapObject.GetBestType());
+
+ if (!ftypes::IsHotelChecker::Instance()(bestType) &&
+ !ftypes::IsBookingHotelChecker::Instance()(bestType))
+ {
+ return;
+ }
+
+ m2::PointD pos;
+ bool found = false;
+ switch (mapObject.GetEvents().back().m_type)
+ {
+ case eye::MapObject::Event::Type::BookingBook:
+ case eye::MapObject::Event::Type::BookingMore:
+ case eye::MapObject::Event::Type::BookingReviews:
+ case eye::MapObject::Event::Type::BookingDetails:
+ {
+ pos = mapObject.GetPos();
+ found = true;
+ }
+ default: /* do nothing */;
+ }
+
+ auto const id = found ? m_delegate->GetCityId(pos) : "";
+
+ if (!id.empty())
+ settings::Set("BookingPromoAwaitingForId", id);
+}
+} // namespace promo
diff --git a/partners_api/cross_reference_api.hpp b/partners_api/promo_api.hpp
index cfd37be713..c75aac7b6f 100644
--- a/partners_api/cross_reference_api.hpp
+++ b/partners_api/promo_api.hpp
@@ -7,8 +7,9 @@
#include <functional>
#include <memory>
#include <string>
+#include <vector>
-namespace cross_reference
+namespace promo
{
struct Author
{
@@ -37,8 +38,8 @@ using CityGallery = std::vector<CityGalleryItem>;
class WebApi
{
public:
- static bool GetCityGalleryByOsmId(std::string const & baseUrl, std::string const & osmId,
- std::string const & lang, std::string & result);
+ static bool GetCityGalleryById(std::string const & baseUrl, std::string const & id,
+ std::string const & lang, std::string & result);
};
using CityGalleryCallback = std::function<void(CityGallery const & gallery)>;
@@ -51,18 +52,17 @@ public:
public:
virtual ~Delegate() = default;
- virtual std::string GetCityOsmId(m2::PointD const & point) = 0;
+ virtual std::string GetCityId(m2::PointD const & point) = 0;
};
explicit Api(std::string const & baseUrl = "https://routes.maps.me/gallery/v1/city/");
void SetDelegate(std::unique_ptr<Delegate> delegate);
void OnEnterForeground();
- bool NeedToShow() const;
- std::string GetCrossReferenceLinkAfterBooking() const;
- void GetCrossReferenceCityGallery(std::string const & osmId,
- CityGalleryCallback const & cb) const;
- void GetCrossReferenceCityGallery(m2::PointD const & point, CityGalleryCallback const & cb) const;
+ bool NeedToShowAfterBooking() const;
+ std::string GetPromoLinkAfterBooking() const;
+ void GetCityGallery(std::string const & id, CityGalleryCallback const & cb) const;
+ void GetCityGallery(m2::PointD const & point, CityGalleryCallback const & cb) const;
// eye::Subscriber overrides:
void OnMapObjectEvent(eye::MapObject const & poi) override;
@@ -70,7 +70,7 @@ public:
private:
std::unique_ptr<Delegate> m_delegate;
- std::string m_baseUrl;
- std::string m_bookingCrossReferenceAwaitingForId;
+ std::string const m_baseUrl;
+ std::string m_bookingPromoAwaitingForId;
};
-} // namespace cross_reference
+} // namespace promo