diff --git a/map/CMakeLists.txt b/map/CMakeLists.txt index f1b4d1fdb3..2091d3e520 100644 --- a/map/CMakeLists.txt +++ b/map/CMakeLists.txt @@ -15,6 +15,7 @@ set( api_mark_point.hpp benchmark_tools.hpp benchmark_tools.cpp + booking_filter_availability_params.hpp bookmark_manager.cpp bookmark_manager.hpp bookmark.cpp diff --git a/map/booking_filter_availability_params.hpp b/map/booking_filter_availability_params.hpp new file mode 100644 index 0000000000..216f4abd0d --- /dev/null +++ b/map/booking_filter_availability_params.hpp @@ -0,0 +1,36 @@ +#pragma once + +#include "partners_api/booking_availability_params.hpp" + +#include "platform/safe_callback.hpp" + +namespace search +{ +class Results; +} + +namespace booking +{ +namespace filter +{ +namespace availability +{ +using Results = platform::SafeCallback; +using ResultsUnsafe = std::function; + +struct Params +{ + bool IsEmpty() const { return m_params.IsEmpty(); } + + AvailabilityParams m_params; + Results m_callback; +}; + +struct ParamsInternal +{ + AvailabilityParams m_params; + ResultsUnsafe m_callback; +}; +} // namespace availability +} // namespace filter +} // namespace booking diff --git a/map/map.pro b/map/map.pro index d291c352e3..d0fdbd53eb 100644 --- a/map/map.pro +++ b/map/map.pro @@ -13,6 +13,7 @@ include($$ROOT_DIR/common.pri) HEADERS += \ api_mark_point.hpp \ benchmark_tools.hpp \ + booking_filter_availability_params.hpp \ bookmark.hpp \ bookmark_manager.hpp \ chart_generator.hpp \ diff --git a/xcode/map/map.xcodeproj/project.pbxproj b/xcode/map/map.xcodeproj/project.pbxproj index 0d608bccd3..17a9ea3a7a 100644 --- a/xcode/map/map.xcodeproj/project.pbxproj +++ b/xcode/map/map.xcodeproj/project.pbxproj @@ -26,6 +26,7 @@ 3D47B2C81F20EF06000828D2 /* displayed_categories_modifiers.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3D47B2C61F20EF06000828D2 /* displayed_categories_modifiers.hpp */; }; 3D4E99821FB462B60025B48C /* everywhere_search_params.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3D4E99801FB462B60025B48C /* everywhere_search_params.hpp */; }; 3D4E99831FB462B60025B48C /* viewport_search_params.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3D4E99811FB462B60025B48C /* viewport_search_params.hpp */; }; + 3D4E99851FB469DD0025B48C /* booking_filter_availability_params.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 3D4E99841FB469DD0025B48C /* booking_filter_availability_params.hpp */; }; 3D74ABBE1EA76F1D0063A898 /* local_ads_supported_types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3D74ABBD1EA76F1D0063A898 /* local_ads_supported_types.cpp */; }; 45201E931CE4AC90008A4842 /* api_mark_point.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45201E921CE4AC90008A4842 /* api_mark_point.cpp */; }; 454649F11F2728CE00EF4064 /* local_ads_mark.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 454649EF1F2728CE00EF4064 /* local_ads_mark.cpp */; }; @@ -163,6 +164,7 @@ 3D47B2C61F20EF06000828D2 /* displayed_categories_modifiers.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = displayed_categories_modifiers.hpp; sourceTree = ""; }; 3D4E99801FB462B60025B48C /* everywhere_search_params.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = everywhere_search_params.hpp; sourceTree = ""; }; 3D4E99811FB462B60025B48C /* viewport_search_params.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = viewport_search_params.hpp; sourceTree = ""; }; + 3D4E99841FB469DD0025B48C /* booking_filter_availability_params.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = booking_filter_availability_params.hpp; sourceTree = ""; }; 3D74ABBD1EA76F1D0063A898 /* local_ads_supported_types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_ads_supported_types.cpp; sourceTree = ""; }; 45201E921CE4AC90008A4842 /* api_mark_point.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = api_mark_point.cpp; sourceTree = ""; }; 454649EF1F2728CE00EF4064 /* local_ads_mark.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = local_ads_mark.cpp; sourceTree = ""; }; @@ -449,6 +451,7 @@ 675345BD1A4054AD00A0A8C3 /* map */ = { isa = PBXGroup; children = ( + 3D4E99841FB469DD0025B48C /* booking_filter_availability_params.hpp */, 3D4E99801FB462B60025B48C /* everywhere_search_params.hpp */, 3D4E99811FB462B60025B48C /* viewport_search_params.hpp */, 45F6EE9B1FB1C77500019892 /* mwm_tree.hpp */, @@ -552,6 +555,7 @@ 675346491A4054E800A0A8C3 /* bookmark_manager.hpp in Headers */, F6B2830A1C1B03320081957A /* gps_track.hpp in Headers */, 45F6EE9D1FB1C77600019892 /* search_api.hpp in Headers */, + 3D4E99851FB469DD0025B48C /* booking_filter_availability_params.hpp in Headers */, 0C2B73DF1E92AB9900530BB8 /* local_ads_manager.hpp in Headers */, 675346631A4054E800A0A8C3 /* feature_vec_model.hpp in Headers */, 6753469C1A4054E800A0A8C3 /* track.hpp in Headers */,