diff options
author | Sergey Yershov <yershov@corp.mail.ru> | 2014-12-11 21:37:16 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 02:35:24 +0300 |
commit | b79ade75a8885d627646c474bbc5f04c268de5ef (patch) | |
tree | 3ecde383c0958389e1078b0bde7ba66510ebb237 /generator/feature_generator.cpp | |
parent | f6576ce2aa557fb53fffd3ebdeaee0af29af6e41 (diff) |
Add generator_tool options for work with file instead stdin
Diffstat (limited to 'generator/feature_generator.cpp')
-rw-r--r-- | generator/feature_generator.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/generator/feature_generator.cpp b/generator/feature_generator.cpp index b75a45164e..c41ddc5730 100644 --- a/generator/feature_generator.cpp +++ b/generator/feature_generator.cpp @@ -419,7 +419,7 @@ public: } template <class TNodesHolder> -bool GenerateImpl(GenerateInfo & info) + bool GenerateImpl(GenerateInfo & info, std::string const &osm_filename=std::string()) { try { @@ -435,7 +435,14 @@ bool GenerateImpl(GenerateInfo & info) info.m_makeCoasts ? classif().GetCoastType() : 0, info.m_addressFile); - ParseXMLFromStdIn(parser); + if(osm_filename.empty()) + { + ParseXMLFromStdIn(parser); + } + else + { + ParseXMLFromFile(parser, osm_filename); + } // Stop if coasts are not merged and FLAG_fail_on_coasts is set if (!bucketer.Finish()) @@ -451,12 +458,12 @@ bool GenerateImpl(GenerateInfo & info) return true; } -bool GenerateFeatures(GenerateInfo & info, bool lightNodes) +bool GenerateFeatures(GenerateInfo & info, bool lightNodes, std::string const &osm_filename) { if (lightNodes) - return GenerateImpl<points_in_map>(info); + return GenerateImpl<points_in_map>(info, osm_filename); else - return GenerateImpl<points_in_file>(info); + return GenerateImpl<points_in_file>(info, osm_filename); } } |