From 96b20d9a3708699a16f22a84d98b7df07bd05ba2 Mon Sep 17 00:00:00 2001 From: Maxim Pimenov Date: Tue, 28 Jan 2020 16:48:31 +0300 Subject: [PATCH] [api] [map] Moved the ge0 parser from map/ to api/. --- api/CMakeLists.txt | 2 + api/api_tests/CMakeLists.txt | 1 + .../api_tests}/ge0_parser_tests.cpp | 67 +++++++++---------- {map => api}/ge0_parser.cpp | 29 ++++---- {map => api}/ge0_parser.hpp | 11 ++- map/CMakeLists.txt | 2 - map/framework.cpp | 40 +++++------ map/framework.hpp | 4 +- map/map_tests/CMakeLists.txt | 1 - xcode/api/api.xcodeproj/project.pbxproj | 12 ++++ xcode/map/map.xcodeproj/project.pbxproj | 12 ---- 11 files changed, 85 insertions(+), 96 deletions(-) rename {map/map_tests => api/api_tests}/ge0_parser_tests.cpp (84%) rename {map => api}/ge0_parser.cpp (81%) rename {map => api}/ge0_parser.hpp (79%) diff --git a/api/CMakeLists.txt b/api/CMakeLists.txt index 21e12fc9609..07bccc743ed 100644 --- a/api/CMakeLists.txt +++ b/api/CMakeLists.txt @@ -4,6 +4,8 @@ set( SRC ge0_generator.cpp ge0_generator.hpp + ge0_parser.cpp + ge0_parser.hpp ) omim_add_library(${PROJECT_NAME} ${SRC}) diff --git a/api/api_tests/CMakeLists.txt b/api/api_tests/CMakeLists.txt index 4b2ab83f64b..195494eea40 100644 --- a/api/api_tests/CMakeLists.txt +++ b/api/api_tests/CMakeLists.txt @@ -3,6 +3,7 @@ project(api_tests) set( SRC ge0_generator_tests.cpp + ge0_parser_tests.cpp ) omim_add_test(${PROJECT_NAME} ${SRC}) diff --git a/map/map_tests/ge0_parser_tests.cpp b/api/api_tests/ge0_parser_tests.cpp similarity index 84% rename from map/map_tests/ge0_parser_tests.cpp rename to api/api_tests/ge0_parser_tests.cpp index 9a6da115484..8c5a3efbd67 100644 --- a/map/map_tests/ge0_parser_tests.cpp +++ b/api/api_tests/ge0_parser_tests.cpp @@ -1,21 +1,24 @@ #include "testing/testing.hpp" -#include "map/ge0_parser.hpp" #include "map/mwm_url.hpp" #include "api/ge0_generator.hpp" +#include "api/ge0_parser.hpp" #include "base/macros.hpp" #include +#include using namespace std; -using url_scheme::Ge0Parser; -using url_scheme::ApiPoint; - namespace { +double const kZoomEps = 1e-10; +} // namespace + +namespace ge0 +{ class Ge0ParserForTest : public Ge0Parser { public: @@ -28,46 +31,44 @@ double GetLatEpsilon(size_t coordBytes) { // Should be / 2.0 but probably because of accumulates loss of precision, 1.77 works but 2.0 // doesn't. - double infelicity = 1 << ((ge0::kMaxPointBytes - coordBytes) * 3); - return infelicity / ((1 << ge0::kMaxCoordBits) - 1) * 180 / 1.77; + double infelicity = 1 << ((kMaxPointBytes - coordBytes) * 3); + return infelicity / ((1 << kMaxCoordBits) - 1) * 180 / 1.77; } double GetLonEpsilon(size_t coordBytes) { // Should be / 2.0 but probably because of accumulates loss of precision, 1.77 works but 2.0 // doesn't. - double infelicity = 1 << ((ge0::kMaxPointBytes - coordBytes) * 3); - return (infelicity / ((1 << ge0::kMaxCoordBits) - 1)) * 360 / 1.77; + double infelicity = 1 << ((kMaxPointBytes - coordBytes) * 3); + return (infelicity / ((1 << kMaxCoordBits) - 1)) * 360 / 1.77; } void TestSuccess(char const * s, double lat, double lon, double zoom, char const * name) { Ge0Parser parser; - ApiPoint apiPoint; + double parsedLat; + double parsedLon; + string parsedName; double parsedZoomLevel; - bool const result = parser.Parse(s, apiPoint, parsedZoomLevel); + bool const result = parser.Parse(s, parsedLat, parsedLon, parsedName, parsedZoomLevel); TEST(result, (s, zoom, lat, lon, name)); - TEST_EQUAL(apiPoint.m_name, string(name), (s)); - TEST_EQUAL(apiPoint.m_id, string(), (s)); + TEST_EQUAL(parsedName, string(name), (s)); double const latEps = GetLatEpsilon(9); - double const lonEps = GetLonEpsilon(9); - TEST(fabs(apiPoint.m_lat - lat) <= latEps, (s, zoom, lat, lon, name)); - TEST(fabs(apiPoint.m_lon - lon) <= lonEps, (s, zoom, lat, lon, name)); - - TEST(fabs(apiPoint.m_lat - lat) <= latEps, (s, zoom, lat, lon, name)); - TEST(fabs(apiPoint.m_lon - lon) <= lonEps, (s, zoom, lat, lon, name)); - TEST_ALMOST_EQUAL_ULPS(parsedZoomLevel, zoom, (s, zoom, lat, lon, name)); + double const lonEps = GetLonEpsilon(9); + TEST_ALMOST_EQUAL_ABS(parsedLat, lat, latEps, (s, zoom, lat, lon, name)); + TEST_ALMOST_EQUAL_ABS(parsedLon, lon, lonEps, (s, zoom, lat, lon, name)); + TEST_ALMOST_EQUAL_ABS(parsedZoomLevel, zoom, kZoomEps, (s, zoom, lat, lon, name)); } void TestFailure(char const * s) { Ge0Parser parser; - ApiPoint apiPoint; - double zoomLevel; - bool const result = parser.Parse(s, apiPoint, zoomLevel); - TEST_EQUAL(result, false, (s)); + string name; + double lat, lon, zoomLevel; + bool const result = parser.Parse(s, lat, lon, name, zoomLevel); + TEST(!result, (s)); } bool ConvergenceTest(double lat, double lon, double latEps, double lonEps) @@ -84,7 +85,6 @@ bool ConvergenceTest(double lat, double lon, double latEps, double lonEps) return true; return false; } -} // namespace UNIT_TEST(Base64DecodingWorksForAValidChar) { @@ -215,23 +215,21 @@ UNIT_TEST(NameDecoding) "d0%bd%d0%b8%d1%8e%3F"; Ge0Parser parser; - ApiPoint apiPoint; + double parsedLat; + double parsedLon; + string parsedName; double parsedZoomLevel; - bool const result = parser.Parse(url.c_str(), apiPoint, parsedZoomLevel); + bool const result = parser.Parse(url.c_str(), parsedLat, parsedLon, parsedName, parsedZoomLevel); TEST(result, (url, zoom, lat, lon, name)); // Name would be valid but is too long. - TEST_NOT_EQUAL(apiPoint.m_name, string(name), (url)); - TEST_EQUAL(apiPoint.m_id, string(), (url)); + TEST_NOT_EQUAL(parsedName, string(name), (url)); double const latEps = GetLatEpsilon(9); double const lonEps = GetLonEpsilon(9); - TEST(fabs(apiPoint.m_lat - lat) <= latEps, (url, zoom, lat, lon, name)); - TEST(fabs(apiPoint.m_lon - lon) <= lonEps, (url, zoom, lat, lon, name)); - - TEST(fabs(apiPoint.m_lat - lat) <= latEps, (url, zoom, lat, lon, name)); - TEST(fabs(apiPoint.m_lon - lon) <= lonEps, (url, zoom, lat, lon, name)); - TEST_ALMOST_EQUAL_ULPS(parsedZoomLevel, zoom, (url, zoom, lat, lon, name)); + TEST_ALMOST_EQUAL_ABS(parsedLat, lat, latEps, (url, zoom, lat, lon, name)); + TEST_ALMOST_EQUAL_ABS(parsedLon, lon, lonEps, (url, zoom, lat, lon, name)); + TEST_ALMOST_EQUAL_ABS(parsedZoomLevel, zoom, kZoomEps, (url, zoom, lat, lon, name)); } } @@ -293,3 +291,4 @@ UNIT_TEST(ClippedName) TestSuccess("ge0://AwAAAAAAAA/" , 0, 0, 4, ""); TestSuccess("ge0://AwAAAAAAAA" , 0, 0, 4, ""); } +} // namespace ge0 diff --git a/map/ge0_parser.cpp b/api/ge0_parser.cpp similarity index 81% rename from map/ge0_parser.cpp rename to api/ge0_parser.cpp index e4766ae1ee0..b02ef403146 100644 --- a/map/ge0_parser.cpp +++ b/api/ge0_parser.cpp @@ -1,6 +1,4 @@ -#include "map/ge0_parser.hpp" - -#include "map/mwm_url.hpp" +#include "api/ge0_parser.hpp" #include "geometry/mercator.hpp" @@ -15,7 +13,7 @@ using namespace std; -namespace url_scheme +namespace ge0 { Ge0Parser::Ge0Parser() { @@ -23,12 +21,12 @@ Ge0Parser::Ge0Parser() m_base64ReverseCharTable[i] = 255; for (uint8_t i = 0; i < 64; ++i) { - char c = ge0::Base64Char(i); + char c = Base64Char(i); m_base64ReverseCharTable[static_cast(c)] = i; } } -bool Ge0Parser::Parse(string const & url, url_scheme::ApiPoint & outPoint, double & outZoomLevel) +bool Ge0Parser::Parse(string const & url, double & outLat, double & outLon, std::string & outName, double & outZoomLevel) { // URL format: // @@ -52,14 +50,14 @@ bool Ge0Parser::Parse(string const & url, url_scheme::ApiPoint & outPoint, doubl return false; outZoomLevel = DecodeZoom(zoomI); - DecodeLatLon(url.substr(LATLON_POSITION, LATLON_LENGTH), outPoint.m_lat, outPoint.m_lon); + DecodeLatLon(url.substr(LATLON_POSITION, LATLON_LENGTH), outLat, outLon); - ASSERT(mercator::ValidLon(outPoint.m_lon), (outPoint.m_lon)); - ASSERT(mercator::ValidLat(outPoint.m_lat), (outPoint.m_lat)); + ASSERT(mercator::ValidLon(outLon), (outLon)); + ASSERT(mercator::ValidLat(outLat), (outLat)); if (url.size() >= NAME_POSITON_IN_URL) { - outPoint.m_name = DecodeName( + outName = DecodeName( url.substr(NAME_POSITON_IN_URL, min(url.size() - NAME_POSITON_IN_URL, MAX_NAME_LENGTH))); } return true; @@ -80,13 +78,13 @@ void Ge0Parser::DecodeLatLon(string const & url, double & lat, double & lon) { int latInt = 0, lonInt = 0; DecodeLatLonToInt(url, latInt, lonInt, url.size()); - lat = DecodeLatFromInt(latInt, (1 << ge0::kMaxCoordBits) - 1); - lon = DecodeLonFromInt(lonInt, (1 << ge0::kMaxCoordBits) - 1); + lat = DecodeLatFromInt(latInt, (1 << kMaxCoordBits) - 1); + lon = DecodeLonFromInt(lonInt, (1 << kMaxCoordBits) - 1); } void Ge0Parser::DecodeLatLonToInt(string const & url, int & lat, int & lon, size_t const bytes) { - int shift = ge0::kMaxCoordBits - 3; + int shift = kMaxCoordBits - 3; for (size_t i = 0; i < bytes; ++i, shift -= 3) { const uint8_t a = DecodeBase64Char(url[i]); @@ -95,7 +93,7 @@ void Ge0Parser::DecodeLatLonToInt(string const & url, int & lat, int & lon, size lat |= lat1 << shift; lon |= lon1 << shift; } - const double middleOfSquare = 1 << (3 * (ge0::kMaxPointBytes - bytes) - 1); + const double middleOfSquare = 1 << (3 * (kMaxPointBytes - bytes) - 1); lat += middleOfSquare; lon += middleOfSquare; } @@ -151,5 +149,4 @@ bool Ge0Parser::IsHexChar(char const a) { return ((a >= '0' && a <= '9') || (a >= 'A' && a <= 'F') || (a >= 'a' && a <= 'f')); } - -} // namespace url_scheme +} // namespace ge0 diff --git a/map/ge0_parser.hpp b/api/ge0_parser.hpp similarity index 79% rename from map/ge0_parser.hpp rename to api/ge0_parser.hpp index 1480adf4da8..0276d8565b9 100644 --- a/map/ge0_parser.hpp +++ b/api/ge0_parser.hpp @@ -1,20 +1,17 @@ #pragma once -#include "base/base.hpp" - +#include #include #include -namespace url_scheme +namespace ge0 { -struct ApiPoint; - class Ge0Parser { public: Ge0Parser(); - bool Parse(std::string const & url, url_scheme::ApiPoint & outPoint, double & outZoomLevel); + bool Parse(std::string const & url, double & outLat, double & outLon, std::string & outName, double & outZoomLevel); protected: uint8_t DecodeBase64Char(char const c); @@ -31,4 +28,4 @@ class Ge0Parser private: uint8_t m_base64ReverseCharTable[256]; }; -} // namespace url_api +} // namespace ge0 diff --git a/map/CMakeLists.txt b/map/CMakeLists.txt index dd9bafa75b9..deb105c6cb9 100644 --- a/map/CMakeLists.txt +++ b/map/CMakeLists.txt @@ -59,8 +59,6 @@ set( framework_light.cpp framework_light.hpp framework_light_delegate.hpp - ge0_parser.cpp - ge0_parser.hpp geourl_process.cpp geourl_process.hpp gps_track_collection.cpp diff --git a/map/framework.cpp b/map/framework.cpp index 7a9b1dac7b1..54648e629b3 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -4,7 +4,6 @@ #include "map/chart_generator.hpp" #include "map/displayed_categories_modifiers.hpp" #include "map/everywhere_search_params.hpp" -#include "map/ge0_parser.hpp" #include "map/geourl_process.hpp" #include "map/gps_tracker.hpp" #include "map/notifications/notification_manager_delegate.hpp" @@ -16,6 +15,8 @@ #include "map/utils.hpp" #include "map/viewport_search_params.hpp" +#include "api/ge0_parser.hpp" + #include "generator/borders.hpp" #include "routing/city_roads.hpp" @@ -436,7 +437,7 @@ Framework::Framework(FrameworkParams const & params) m_bmManager->InitRegionAddressGetter(m_featuresFetcher.GetDataSource(), *m_infoGetter); - m_ParsedMapApi.SetBookmarkManager(m_bmManager.get()); + m_parsedMapApi.SetBookmarkManager(m_bmManager.get()); m_routingManager.SetBookmarkManager(m_bmManager.get()); m_searchMarks.SetBookmarkManager(m_bmManager.get()); @@ -2135,34 +2136,29 @@ bool Framework::ShowMapForURL(string const & url) enum ResultT { FAILED, NEED_CLICK, NO_NEED_CLICK }; ResultT result = FAILED; - using namespace url_scheme; - using namespace strings; - - if (StartsWith(url, "ge0")) + if (strings::StartsWith(url, "ge0")) { - Ge0Parser parser; - double zoom; - ApiPoint pt; + ge0::Ge0Parser parser; + double lat, lon, zoom; - if (parser.Parse(url, pt, zoom)) + if (parser.Parse(url, lat, lon, name, zoom)) { - point = mercator::FromLatLon(pt.m_lat, pt.m_lon); + point = mercator::FromLatLon(lat, lon); rect = df::GetRectForDrawScale(zoom, point); - name = pt.m_name; result = NEED_CLICK; } } - else if (m_ParsedMapApi.IsValid()) + else if (m_parsedMapApi.IsValid()) { - if (!m_ParsedMapApi.GetViewportRect(rect)) + if (!m_parsedMapApi.GetViewportRect(rect)) rect = df::GetWorldRect(); - apiMark = m_ParsedMapApi.GetSinglePoint(); + apiMark = m_parsedMapApi.GetSinglePoint(); result = apiMark ? NEED_CLICK : NO_NEED_CLICK; } else // Actually, we can parse any geo url scheme with correct coordinates. { - Info info; + url_scheme::Info info; ParseGeoURL(url, info); if (info.IsValid()) { @@ -2216,23 +2212,23 @@ url_scheme::ParsedMapApi::ParsingResult Framework::ParseAndSetApiURL(string cons editSession.SetIsVisible(UserMark::Type::API, true); } - return m_ParsedMapApi.SetUriAndParse(url); + return m_parsedMapApi.SetUriAndParse(url); } Framework::ParsedRoutingData Framework::GetParsedRoutingData() const { - return Framework::ParsedRoutingData(m_ParsedMapApi.GetRoutePoints(), - routing::FromString(m_ParsedMapApi.GetRoutingType())); + return Framework::ParsedRoutingData(m_parsedMapApi.GetRoutePoints(), + routing::FromString(m_parsedMapApi.GetRoutingType())); } url_scheme::SearchRequest Framework::GetParsedSearchRequest() const { - return m_ParsedMapApi.GetSearchRequest(); + return m_parsedMapApi.GetSearchRequest(); } url_scheme::Subscription Framework::GetParsedSubscription() const { - return m_ParsedMapApi.GetSubscription(); + return m_parsedMapApi.GetSubscription(); } FeatureID Framework::GetFeatureAtPoint(m2::PointD const & mercator, @@ -2681,7 +2677,7 @@ string Framework::CodeGe0url(double lat, double lon, double zoomLevel, string co string Framework::GenerateApiBackUrl(ApiMarkPoint const & point) const { - string res = m_ParsedMapApi.GetGlobalBackUrl(); + string res = m_parsedMapApi.GetGlobalBackUrl(); if (!res.empty()) { ms::LatLon const ll = point.GetLatLon(); diff --git a/map/framework.hpp b/map/framework.hpp index 9dfba671c42..ef89f3f93cf 100644 --- a/map/framework.hpp +++ b/map/framework.hpp @@ -726,10 +726,10 @@ class Framework : public PositionProvider, /// @name Api std::string GenerateApiBackUrl(ApiMarkPoint const & point) const; - url_scheme::ParsedMapApi const & GetApiDataHolder() const { return m_ParsedMapApi; } + url_scheme::ParsedMapApi const & GetApiDataHolder() const { return m_parsedMapApi; } private: - url_scheme::ParsedMapApi m_ParsedMapApi; + url_scheme::ParsedMapApi m_parsedMapApi; public: /// @name Data versions diff --git a/map/map_tests/CMakeLists.txt b/map/map_tests/CMakeLists.txt index 91f48259076..90c5735535d 100644 --- a/map/map_tests/CMakeLists.txt +++ b/map/map_tests/CMakeLists.txt @@ -15,7 +15,6 @@ set( extrapolator_tests.cpp feature_getters_tests.cpp framework_light_tests.cpp - ge0_parser_tests.cpp geourl_test.cpp gps_track_collection_test.cpp gps_track_storage_test.cpp diff --git a/xcode/api/api.xcodeproj/project.pbxproj b/xcode/api/api.xcodeproj/project.pbxproj index 7f995433a02..32cb99f83fc 100644 --- a/xcode/api/api.xcodeproj/project.pbxproj +++ b/xcode/api/api.xcodeproj/project.pbxproj @@ -20,6 +20,9 @@ 391A146623E0FC9A00A448F4 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 391A146523E0FC9A00A448F4 /* libz.tbd */; }; 391A146823E0FC9E00A448F4 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 391A146723E0FC9E00A448F4 /* Security.framework */; }; 391A146A23E0FCB700A448F4 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 391A146923E0FCB700A448F4 /* CoreLocation.framework */; }; + 39F3D51E23E196110037D487 /* ge0_parser.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 39F3D51C23E196110037D487 /* ge0_parser.hpp */; }; + 39F3D51F23E196110037D487 /* ge0_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39F3D51D23E196110037D487 /* ge0_parser.cpp */; }; + 39F3D52123E196240037D487 /* ge0_parser_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 39F3D52023E196240037D487 /* ge0_parser_tests.cpp */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -38,6 +41,9 @@ 391A146523E0FC9A00A448F4 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 391A146723E0FC9E00A448F4 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; 391A146923E0FCB700A448F4 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; + 39F3D51C23E196110037D487 /* ge0_parser.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ge0_parser.hpp; path = ../../api/ge0_parser.hpp; sourceTree = ""; }; + 39F3D51D23E196110037D487 /* ge0_parser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ge0_parser.cpp; path = ../../api/ge0_parser.cpp; sourceTree = ""; }; + 39F3D52023E196240037D487 /* ge0_parser_tests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ge0_parser_tests.cpp; path = ../../../api/api_tests/ge0_parser_tests.cpp; sourceTree = ""; }; 675347171A40577A00A0A8C3 /* libapi.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libapi.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -71,6 +77,7 @@ 391A145523E0FC4100A448F4 /* api_tests */ = { isa = PBXGroup; children = ( + 39F3D52023E196240037D487 /* ge0_parser_tests.cpp */, 391A145823E0FC5C00A448F4 /* testingmain.cpp */, 391A145623E0FC5200A448F4 /* ge0_generator_tests.cpp */, ); @@ -95,6 +102,8 @@ 6753470E1A40577A00A0A8C3 = { isa = PBXGroup; children = ( + 39F3D51D23E196110037D487 /* ge0_parser.cpp */, + 39F3D51C23E196110037D487 /* ge0_parser.hpp */, 391A145523E0FC4100A448F4 /* api_tests */, 390F890523E0F1CB00476FCF /* ge0_generator.cpp */, 390F890423E0F1CB00476FCF /* ge0_generator.hpp */, @@ -121,6 +130,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 39F3D51E23E196110037D487 /* ge0_parser.hpp in Headers */, 390F890623E0F1CB00476FCF /* ge0_generator.hpp in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -217,6 +227,7 @@ files = ( 391A145723E0FC5200A448F4 /* ge0_generator_tests.cpp in Sources */, 391A145923E0FC5C00A448F4 /* testingmain.cpp in Sources */, + 39F3D52123E196240037D487 /* ge0_parser_tests.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -225,6 +236,7 @@ buildActionMask = 2147483647; files = ( 390F890723E0F1CB00476FCF /* ge0_generator.cpp in Sources */, + 39F3D51F23E196110037D487 /* ge0_parser.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/xcode/map/map.xcodeproj/project.pbxproj b/xcode/map/map.xcodeproj/project.pbxproj index d886bc30d3a..bda2c8e608e 100644 --- a/xcode/map/map.xcodeproj/project.pbxproj +++ b/xcode/map/map.xcodeproj/project.pbxproj @@ -183,8 +183,6 @@ 6753464B1A4054E800A0A8C3 /* bookmark.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675345DC1A4054E800A0A8C3 /* bookmark.hpp */; }; 675346641A4054E800A0A8C3 /* framework.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675345F51A4054E800A0A8C3 /* framework.cpp */; }; 675346651A4054E800A0A8C3 /* framework.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675345F61A4054E800A0A8C3 /* framework.hpp */; }; - 675346661A4054E800A0A8C3 /* ge0_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675345F71A4054E800A0A8C3 /* ge0_parser.cpp */; }; - 675346671A4054E800A0A8C3 /* ge0_parser.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675345F81A4054E800A0A8C3 /* ge0_parser.hpp */; }; 6753466A1A4054E800A0A8C3 /* geourl_process.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675345FB1A4054E800A0A8C3 /* geourl_process.cpp */; }; 6753466B1A4054E800A0A8C3 /* geourl_process.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 675345FC1A4054E800A0A8C3 /* geourl_process.hpp */; }; 675346741A4054E800A0A8C3 /* mwm_url.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 675346051A4054E800A0A8C3 /* mwm_url.cpp */; }; @@ -208,7 +206,6 @@ 679624B21D1017DB00AE4E3C /* mwm_set_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 679624A51D1017C200AE4E3C /* mwm_set_test.cpp */; }; 67F183751BD5041700AB1840 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 67F183741BD5041700AB1840 /* libz.tbd */; }; 67F183761BD5045700AB1840 /* bookmarks_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 674A29CB1B26FCFE001A525C /* bookmarks_test.cpp */; }; - 67F183771BD5045700AB1840 /* ge0_parser_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 674A29CC1B26FCFE001A525C /* ge0_parser_tests.cpp */; }; 67F183781BD5045700AB1840 /* geourl_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 674A29CD1B26FCFE001A525C /* geourl_test.cpp */; }; 67F183791BD5045700AB1840 /* kmz_unarchive_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 674A29CE1B26FCFE001A525C /* kmz_unarchive_test.cpp */; }; 67F1837A1BD5045700AB1840 /* mwm_url_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 674A29CF1B26FCFE001A525C /* mwm_url_tests.cpp */; }; @@ -426,7 +423,6 @@ 671ED39020D4046D00D4317E /* libeditor_tests_support.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libeditor_tests_support.a; sourceTree = BUILT_PRODUCTS_DIR; }; 674231CA1DF984F600913FEB /* libtraffic.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtraffic.a; path = "../../../omim-build/xcode/Debug/libtraffic.a"; sourceTree = ""; }; 674A29CB1B26FCFE001A525C /* bookmarks_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bookmarks_test.cpp; sourceTree = ""; }; - 674A29CC1B26FCFE001A525C /* ge0_parser_tests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ge0_parser_tests.cpp; sourceTree = ""; }; 674A29CD1B26FCFE001A525C /* geourl_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = geourl_test.cpp; sourceTree = ""; }; 674A29CE1B26FCFE001A525C /* kmz_unarchive_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = kmz_unarchive_test.cpp; sourceTree = ""; }; 674A29CF1B26FCFE001A525C /* mwm_url_tests.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mwm_url_tests.cpp; sourceTree = ""; }; @@ -466,8 +462,6 @@ 675345DC1A4054E800A0A8C3 /* bookmark.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = bookmark.hpp; sourceTree = ""; }; 675345F51A4054E800A0A8C3 /* framework.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = framework.cpp; sourceTree = ""; }; 675345F61A4054E800A0A8C3 /* framework.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = framework.hpp; sourceTree = ""; }; - 675345F71A4054E800A0A8C3 /* ge0_parser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ge0_parser.cpp; sourceTree = ""; }; - 675345F81A4054E800A0A8C3 /* ge0_parser.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ge0_parser.hpp; sourceTree = ""; }; 675345FB1A4054E800A0A8C3 /* geourl_process.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = geourl_process.cpp; sourceTree = ""; }; 675345FC1A4054E800A0A8C3 /* geourl_process.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = geourl_process.hpp; sourceTree = ""; }; 675346051A4054E800A0A8C3 /* mwm_url.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mwm_url.cpp; sourceTree = ""; }; @@ -757,7 +751,6 @@ 454523AB202A00B9009275C1 /* cloud_tests.cpp */, 679624A11D1017C200AE4E3C /* feature_getters_tests.cpp */, 671ED38820D403B300D4317E /* framework_light_tests.cpp */, - 674A29CC1B26FCFE001A525C /* ge0_parser_tests.cpp */, 674A29CD1B26FCFE001A525C /* geourl_test.cpp */, 679624A21D1017C200AE4E3C /* gps_track_collection_test.cpp */, 679624A31D1017C200AE4E3C /* gps_track_storage_test.cpp */, @@ -900,8 +893,6 @@ F6D67CE22063F4980032FD38 /* framework_light.hpp */, 675345F51A4054E800A0A8C3 /* framework.cpp */, 675345F61A4054E800A0A8C3 /* framework.hpp */, - 675345F71A4054E800A0A8C3 /* ge0_parser.cpp */, - 675345F81A4054E800A0A8C3 /* ge0_parser.hpp */, 675345FB1A4054E800A0A8C3 /* geourl_process.cpp */, 675345FC1A4054E800A0A8C3 /* geourl_process.hpp */, F6B282FB1C1B03320081957A /* gps_track_collection.cpp */, @@ -1008,7 +999,6 @@ F6B283081C1B03320081957A /* gps_track_storage.hpp in Headers */, 3DD1166B21888AAD007A2ED4 /* notification_manager.hpp in Headers */, 3D4F44BB21345D270005E765 /* tips_api.hpp in Headers */, - 675346671A4054E800A0A8C3 /* ge0_parser.hpp in Headers */, 675346A21A4054E800A0A8C3 /* user_mark.hpp in Headers */, 454649F21F2728CE00EF4064 /* local_ads_mark.hpp in Headers */, 39E3C60323312BA800FB0C37 /* features_fetcher.hpp in Headers */, @@ -1201,7 +1191,6 @@ 67F183761BD5045700AB1840 /* bookmarks_test.cpp in Sources */, 671ED38B20D403B300D4317E /* booking_availability_cache_test.cpp in Sources */, BB421D6C1E8C0031005BFA4D /* transliteration_test.cpp in Sources */, - 67F183771BD5045700AB1840 /* ge0_parser_tests.cpp in Sources */, 679624B21D1017DB00AE4E3C /* mwm_set_test.cpp in Sources */, 3D4F4582213552AD0005E765 /* tips_tests.cpp in Sources */, 67F183781BD5045700AB1840 /* geourl_test.cpp in Sources */, @@ -1271,7 +1260,6 @@ 45201E931CE4AC90008A4842 /* api_mark_point.cpp in Sources */, 451E692A21494C2700764A97 /* purchase.cpp in Sources */, F6FC3CB61FC323430001D929 /* discovery_manager.cpp in Sources */, - 675346661A4054E800A0A8C3 /* ge0_parser.cpp in Sources */, 3D62CBD920FF6C8B00E7BB6E /* discovery_search.cpp in Sources */, BBA014AD2073C784007402E4 /* bookmark_helpers.cpp in Sources */, 3D4F44BC21345D270005E765 /* tips_api.cpp in Sources */,