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
path: root/search
diff options
context:
space:
mode:
authorArsentiy Milchakov <milcars@mapswithme.com>2019-04-19 22:33:49 +0300
committerTatiana Yan <tatiana.kondakova@gmail.com>2019-04-22 18:47:33 +0300
commitddc65679bc06c72e4946a476360541cd87db51e3 (patch)
tree977245abbd6b911087913528d1cc98d5f838d410 /search
parent01c771fe7f945a53581a7badb0a6b840e98f572a (diff)
[booking][search] store viewport search params into SearchApi instead of forwarding search params into callbacks.
Diffstat (limited to 'search')
-rw-r--r--search/downloader_search_callback.cpp4
-rw-r--r--search/downloader_search_callback.hpp5
-rw-r--r--search/emitter.hpp10
-rw-r--r--search/processor.cpp4
-rw-r--r--search/search_integration_tests/downloader_search_test.cpp4
-rw-r--r--search/search_params.cpp2
-rw-r--r--search/search_params.hpp21
-rw-r--r--search/search_quality/assessment_tool/search_request_runner.cpp3
-rw-r--r--search/search_tests/bookmarks_processor_tests.cpp2
-rw-r--r--search/search_tests_support/test_search_request.cpp6
-rw-r--r--search/search_tests_support/test_search_request.hpp2
-rw-r--r--search/utils.hpp4
12 files changed, 26 insertions, 41 deletions
diff --git a/search/downloader_search_callback.cpp b/search/downloader_search_callback.cpp
index 80382569ba..b155049a8b 100644
--- a/search/downloader_search_callback.cpp
+++ b/search/downloader_search_callback.cpp
@@ -1,7 +1,6 @@
#include "search/downloader_search_callback.hpp"
#include "search/result.hpp"
-#include "search/search_params.hpp"
#include "editor/editable_data_source.hpp"
@@ -51,8 +50,7 @@ DownloaderSearchCallback::DownloaderSearchCallback(Delegate & delegate,
{
}
-void DownloaderSearchCallback::operator()(Results const & results,
- SearchParamsBase const & /* params */)
+void DownloaderSearchCallback::operator()(search::Results const & results)
{
storage::DownloaderSearchResults downloaderSearchResults;
std::set<storage::DownloaderSearchResult> uniqueResults;
diff --git a/search/downloader_search_callback.hpp b/search/downloader_search_callback.hpp
index 0db540d7a2..066957849b 100644
--- a/search/downloader_search_callback.hpp
+++ b/search/downloader_search_callback.hpp
@@ -1,7 +1,5 @@
#pragma once
-#include "search/search_params.hpp"
-
#include "storage/downloader_search_params.hpp"
#include <functional>
@@ -17,7 +15,6 @@ class Storage;
namespace search
{
class Results;
-struct SearchParamsBase;
// An on-results callback that should be used for the search in downloader.
//
@@ -38,7 +35,7 @@ public:
storage::Storage const & storage,
storage::DownloaderSearchParams params);
- void operator()(Results const & results, SearchParamsBase const &);
+ void operator()(search::Results const & results);
private:
Delegate & m_delegate;
diff --git a/search/emitter.hpp b/search/emitter.hpp
index ddd07a6adc..9b7474be13 100644
--- a/search/emitter.hpp
+++ b/search/emitter.hpp
@@ -17,10 +17,9 @@ struct Result;
class Emitter
{
public:
- void Init(SearchParams const & params)
+ void Init(SearchParams::OnResults onResults)
{
- m_params = static_cast<SearchParamsBase>(params);
- m_onResults = params.m_onResults;
+ m_onResults = onResults;
m_results.Clear();
}
@@ -32,7 +31,7 @@ public:
void Emit()
{
if (m_onResults)
- m_onResults(m_results, m_params);
+ m_onResults(m_results);
else
LOG(LERROR, ("OnResults is not set."));
}
@@ -43,13 +42,12 @@ public:
{
m_results.SetEndMarker(cancelled);
if (m_onResults)
- m_onResults(m_results, m_params);
+ m_onResults(m_results);
else
LOG(LERROR, ("OnResults is not set."));
}
private:
- SearchParamsBase m_params;
SearchParams::OnResults m_onResults;
Results m_results;
};
diff --git a/search/processor.cpp b/search/processor.cpp
index 2aa89c8cff..913d8e1f45 100644
--- a/search/processor.cpp
+++ b/search/processor.cpp
@@ -384,7 +384,7 @@ void Processor::Search(SearchParams const & params)
results.SetEndMarker(true /* isCancelled */);
if (params.m_onResults)
- params.m_onResults(results, params);
+ params.m_onResults(results);
else
LOG(LERROR, ("OnResults is not set."));
return;
@@ -610,7 +610,7 @@ void Processor::InitRanker(Geocoder::Params const & geocoderParams,
void Processor::InitEmitter(SearchParams const & searchParams)
{
- m_emitter.Init(searchParams);
+ m_emitter.Init(searchParams.m_onResults);
}
void Processor::ClearCaches()
diff --git a/search/search_integration_tests/downloader_search_test.cpp b/search/search_integration_tests/downloader_search_test.cpp
index 295bdd8aec..4cfe30f3eb 100644
--- a/search/search_integration_tests/downloader_search_test.cpp
+++ b/search/search_integration_tests/downloader_search_test.cpp
@@ -119,8 +119,8 @@ public:
void OnResultsDownloader(search::Results const & results)
{
- m_downloaderCallback(results, {});
- OnResults(results, {});
+ m_downloaderCallback(results);
+ OnResults(results);
}
vector<storage::DownloaderSearchResult> const & GetResults() const { return m_downloaderResults; }
diff --git a/search/search_params.cpp b/search/search_params.cpp
index 261d9fee66..3c97e78cf3 100644
--- a/search/search_params.cpp
+++ b/search/search_params.cpp
@@ -12,7 +12,7 @@ using namespace std;
namespace search
{
-bool SearchParamsBase::IsEqualCommon(SearchParamsBase const & rhs) const
+bool SearchParams::IsEqualCommon(SearchParams const & rhs) const
{
return m_query == rhs.m_query && m_inputLocale == rhs.m_inputLocale &&
static_cast<bool>(m_position) == static_cast<bool>(rhs.m_position) && m_mode == rhs.m_mode;
diff --git a/search/search_params.hpp b/search/search_params.hpp
index 12c4650004..dd151003e2 100644
--- a/search/search_params.hpp
+++ b/search/search_params.hpp
@@ -18,16 +18,22 @@ namespace search
class Results;
class Tracer;
-struct SearchParamsBase
+struct SearchParams
{
static size_t const kDefaultNumBookmarksResults = 1000;
static size_t const kDefaultNumResultsEverywhere = 30;
static size_t const kDefaultNumResultsInViewport = 200;
- bool IsEqualCommon(SearchParamsBase const & rhs) const;
+ using OnStarted = std::function<void()>;
+ using OnResults = std::function<void(Results const &)>;
+
+ bool IsEqualCommon(SearchParams const & rhs) const;
void Clear() { m_query.clear(); }
+ OnStarted m_onStarted;
+ OnResults m_onResults;
+
std::string m_query;
std::string m_inputLocale;
@@ -50,18 +56,9 @@ struct SearchParamsBase
// Needed to highlight matching parts of search result names.
bool m_needHighlighting = false;
-};
-
-// Note: inheritance for aggregation data only, any of polymorphic usage is not supported.
-struct SearchParams : SearchParamsBase
-{
- using OnStarted = std::function<void()>;
- using OnResults = std::function<void(Results const &, SearchParamsBase const &)>;
-
- OnStarted m_onStarted;
- OnResults m_onResults;
std::shared_ptr<hotels_filter::Rule> m_hotelsFilter;
+
std::shared_ptr<Tracer> m_tracer;
};
diff --git a/search/search_quality/assessment_tool/search_request_runner.cpp b/search/search_quality/assessment_tool/search_request_runner.cpp
index 7e804e1223..b031d8ce1d 100644
--- a/search/search_quality/assessment_tool/search_request_runner.cpp
+++ b/search/search_quality/assessment_tool/search_request_runner.cpp
@@ -89,8 +89,7 @@ void SearchRequestRunner::RunRequest(size_t index, bool background, size_t times
search::SearchParams params;
sample.FillSearchParams(params);
- params.m_onResults = [=](search::Results const & results,
- search::SearchParamsBase const & /* params */) {
+ params.m_onResults = [=](search::Results const & results) {
vector<boost::optional<ResultsEdits::Relevance>> relevances;
vector<size_t> goldenMatching;
vector<size_t> actualMatching;
diff --git a/search/search_tests/bookmarks_processor_tests.cpp b/search/search_tests/bookmarks_processor_tests.cpp
index 5e71d9d38d..3d11f53514 100644
--- a/search/search_tests/bookmarks_processor_tests.cpp
+++ b/search/search_tests/bookmarks_processor_tests.cpp
@@ -31,7 +31,7 @@ public:
Ids Search(string const & query)
{
- m_emitter.Init({});
+ m_emitter.Init([](::search::Results const & /* results */) {} /* onResults */);
vector<strings::UniString> tokens;
auto const isPrefix =
diff --git a/search/search_tests_support/test_search_request.cpp b/search/search_tests_support/test_search_request.cpp
index 226cdbc4a2..75b2666b3c 100644
--- a/search/search_tests_support/test_search_request.cpp
+++ b/search/search_tests_support/test_search_request.cpp
@@ -84,8 +84,7 @@ void TestSearchRequest::Wait()
void TestSearchRequest::SetUpCallbacks()
{
m_params.m_onStarted = bind(&TestSearchRequest::OnStarted, this);
- m_params.m_onResults =
- bind(&TestSearchRequest::OnResults, this, placeholders::_1, placeholders::_2);
+ m_params.m_onResults = bind(&TestSearchRequest::OnResults, this, placeholders::_1);
}
void TestSearchRequest::SetUpResultParams()
@@ -114,8 +113,7 @@ void TestSearchRequest::OnStarted()
m_startTime = m_timer.TimeElapsed();
}
-void TestSearchRequest::OnResults(search::Results const & results,
- search::SearchParamsBase const & /* params */)
+void TestSearchRequest::OnResults(search::Results const & results)
{
lock_guard<mutex> lock(m_mu);
m_results.assign(results.begin(), results.end());
diff --git a/search/search_tests_support/test_search_request.hpp b/search/search_tests_support/test_search_request.hpp
index b6fafdb7a2..450f25418f 100644
--- a/search/search_tests_support/test_search_request.hpp
+++ b/search/search_tests_support/test_search_request.hpp
@@ -52,7 +52,7 @@ protected:
void SetUpResultParams();
void OnStarted();
- void OnResults(search::Results const & results, SearchParamsBase const &);
+ void OnResults(search::Results const & results);
// Overrides the default onResults callback.
void SetCustomOnResults(SearchParams::OnResults const & onResults);
diff --git a/search/utils.hpp b/search/utils.hpp
index e468c47635..91fe0515ea 100644
--- a/search/utils.hpp
+++ b/search/utils.hpp
@@ -131,8 +131,6 @@ using FeatureIndexCallback = std::function<void(FeatureID const &)>;
void ForEachOfTypesInRect(DataSource const & dataSource, std::vector<uint32_t> const & types,
m2::RectD const & rect, FeatureIndexCallback const & fn);
-// Returns true iff |query| contains |categoryName| synonym.
-// |query| - search query in any language.
-// |categoryName| - name of category in English.
+// Returns true iff |query| contains |categoryEn| synonym.
bool IsCategorialRequestFuzzy(std::string const & query, std::string const & categoryName);
} // namespace search