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:
authortatiana-yan <tatiana.kondakova@gmail.com>2019-03-15 11:31:39 +0300
committermpimenov <mpimenov@users.noreply.github.com>2019-03-18 22:38:39 +0300
commit70121dcaa7bb1adf844dbb0c5a93bf722fea64e1 (patch)
tree542f28aa708f885e4c626105afa53e75da75e11c /search
parentaff309fd86bf0195e26b47481a8c08ff02828fa0 (diff)
[editor] Return EditableMapObject from Editor::GetEditedFeature
Diffstat (limited to 'search')
-rw-r--r--search/features_layer_matcher.cpp2
-rw-r--r--search/mwm_context.cpp6
-rw-r--r--search/mwm_context.hpp5
-rw-r--r--search/retrieval.cpp9
-rw-r--r--search/reverse_geocoder.cpp5
5 files changed, 18 insertions, 9 deletions
diff --git a/search/features_layer_matcher.cpp b/search/features_layer_matcher.cpp
index 050d4c22c5..e9fc383865 100644
--- a/search/features_layer_matcher.cpp
+++ b/search/features_layer_matcher.cpp
@@ -3,6 +3,8 @@
#include "search/house_to_street_table.hpp"
#include "search/reverse_geocoder.hpp"
+#include "editor/osm_editor.hpp"
+
#include "indexer/scales.hpp"
#include "base/assert.hpp"
diff --git a/search/mwm_context.cpp b/search/mwm_context.cpp
index b42726f078..7594565927 100644
--- a/search/mwm_context.cpp
+++ b/search/mwm_context.cpp
@@ -19,6 +19,7 @@ MwmContext::MwmContext(MwmSet::MwmHandle handle)
, m_vector(m_value.m_cont, m_value.GetHeader(), m_value.m_table.get())
, m_index(m_value.m_cont.GetReader(INDEX_FILE_TAG), m_value.m_factory)
, m_centers(m_value)
+ , m_editableSource(m_handle)
{
}
@@ -32,11 +33,12 @@ std::unique_ptr<FeatureType> MwmContext::GetFeature(uint32_t index) const
return ft;
case FeatureStatus::Modified:
case FeatureStatus::Created:
- ft = osm::Editor::Instance().GetEditedFeature(FeatureID(GetId(), index));
+ ft = m_editableSource.GetModifiedFeature(index);
CHECK(ft, ());
return ft;
case FeatureStatus::Untouched:
- ft = m_vector.GetByIndex(index);
+ auto ft = m_vector.GetByIndex(index);
+ CHECK(ft, ());
ft->SetID(FeatureID(GetId(), index));
return ft;
}
diff --git a/search/mwm_context.hpp b/search/mwm_context.hpp
index 1489e04ee2..5857342ccd 100644
--- a/search/mwm_context.hpp
+++ b/search/mwm_context.hpp
@@ -3,7 +3,7 @@
#include "search/house_to_street_table.hpp"
#include "search/lazy_centers_table.hpp"
-#include "editor/osm_editor.hpp"
+#include "editor/editable_feature_source.hpp"
#include "indexer/feature_covering.hpp"
#include "indexer/feature_source.hpp"
@@ -84,7 +84,7 @@ public:
private:
FeatureStatus GetEditedStatus(uint32_t index) const
{
- return osm::Editor::Instance().GetFeatureStatus(GetId(), index);
+ return m_editableSource.GetFeatureStatus(index);
}
template <class Fn>
@@ -103,6 +103,7 @@ private:
FeaturesVector m_vector;
ScaleIndex<ModelReaderPtr> m_index;
LazyCentersTable m_centers;
+ EditableFeatureSource m_editableSource;
DISALLOW_COPY_AND_MOVE(MwmContext);
};
diff --git a/search/retrieval.cpp b/search/retrieval.cpp
index 0116b51361..42817a8149 100644
--- a/search/retrieval.cpp
+++ b/search/retrieval.cpp
@@ -8,6 +8,8 @@
#include "search/search_trie.hpp"
#include "search/token_slice.hpp"
+#include "editor/osm_editor.hpp"
+
#include "indexer/classificator.hpp"
#include "indexer/feature.hpp"
#include "indexer/feature_algo.hpp"
@@ -98,9 +100,10 @@ private:
auto & editor = Editor::Instance();
for (auto const index : features)
{
- auto ft = editor.GetEditedFeature(FeatureID(m_id, index));
- CHECK(ft, ());
- fn(*ft, index);
+ auto emo = editor.GetEditedFeature(FeatureID(m_id, index));
+ CHECK(emo, ());
+ FeatureType ft(*emo);
+ fn(ft, index);
}
}
diff --git a/search/reverse_geocoder.cpp b/search/reverse_geocoder.cpp
index a4c453fb8c..d9fb8943c5 100644
--- a/search/reverse_geocoder.cpp
+++ b/search/reverse_geocoder.cpp
@@ -1,9 +1,10 @@
-#include "reverse_geocoder.hpp"
+#include "search/reverse_geocoder.hpp"
#include "search/mwm_context.hpp"
-#include "indexer/data_source.hpp"
+#include "editor/osm_editor.hpp"
+#include "indexer/data_source.hpp"
#include "indexer/fake_feature_ids.hpp"
#include "indexer/feature.hpp"
#include "indexer/feature_algo.hpp"