MCPcopy Create free account
hub / github.com/comaps/comaps / BookmarksSearchCallback

Class BookmarksSearchCallback

libs/map/search_api.cpp:99–144  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

97}
98
99class BookmarksSearchCallback
100{
101public:
102 using OnResults = BookmarksSearchParams::OnResults;
103
104 BookmarksSearchCallback(SearchAPI::Delegate & delegate, OnResults onResults)
105 : m_delegate(delegate)
106 , m_onResults(std::move(onResults))
107 {}
108
109 void operator()(Results const & results)
110 {
111 if (results.IsEndMarker())
112 {
113 if (results.IsEndedNormal())
114 {
115 m_status = BookmarksSearchParams::Status::Completed;
116 }
117 else
118 {
119 ASSERT(results.IsEndedCancelled(), ());
120 m_status = BookmarksSearchParams::Status::Cancelled;
121 }
122 }
123 else
124 {
125 ASSERT_EQUAL(m_status, BookmarksSearchParams::Status::InProgress, ());
126 }
127
128 auto const & rs = results.GetBookmarksResults();
129 ASSERT_LESS_OR_EQUAL(m_results.size(), rs.size(), ());
130
131 for (size_t i = m_results.size(); i < rs.size(); ++i)
132 m_results.emplace_back(SearchBookmarkIdToKmlMarkId(rs[i].m_id));
133
134 m_delegate.RunUITask([onResults = m_onResults, results = m_results, status = m_status]() mutable
135 { onResults(std::move(results), status); });
136 }
137
138private:
139 BookmarksSearchParams::Results m_results;
140 BookmarksSearchParams::Status m_status = BookmarksSearchParams::Status::InProgress;
141
142 SearchAPI::Delegate & m_delegate;
143 OnResults m_onResults;
144};
145} // namespace
146
147SearchAPI::SearchAPI(DataSource & dataSource, storage::Storage const & storage,

Callers 1

SearchInBookmarksMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected