From e466cbe0ce869f5e533d87feb942fbc68c17ee34 Mon Sep 17 00:00:00 2001 From: "Daniel J. Hofmann" Date: Wed, 17 Feb 2016 15:20:53 -0800 Subject: [PATCH] Plugin grammar skeletons --- .../server/api/match_parameter_grammar.hpp | 41 +++++++++++++++++++ .../server/api/nearest_parameter_grammar.hpp | 41 +++++++++++++++++++ .../server/api/route_parameters_grammar.hpp | 5 ++- .../server/api/table_parameter_grammar.hpp | 3 +- include/server/api/trip_parameter_grammar.hpp | 41 +++++++++++++++++++ 5 files changed, 128 insertions(+), 3 deletions(-) create mode 100644 include/server/api/match_parameter_grammar.hpp create mode 100644 include/server/api/nearest_parameter_grammar.hpp create mode 100644 include/server/api/trip_parameter_grammar.hpp diff --git a/include/server/api/match_parameter_grammar.hpp b/include/server/api/match_parameter_grammar.hpp new file mode 100644 index 000000000..17af73bcc --- /dev/null +++ b/include/server/api/match_parameter_grammar.hpp @@ -0,0 +1,41 @@ +#ifndef MATCH_PARAMETERS_GRAMMAR_HPP +#define MATCH_PARAMETERS_GRAMMAR_HPP + +#include "engine/api/match_parameters.hpp" + +#include "server/api/base_parameters_grammar.hpp" + +#include +#include +#include +#include +#include + +namespace osrm +{ +namespace server +{ +namespace api +{ + +namespace qi = boost::spirit::qi; + +struct MatchParametersGrammar final : public BaseParametersGrammar +{ + using Iterator = std::string::iterator; + + MatchParametersGrammar() : BaseParametersGrammar(root_rule, parameters) + { + root_rule = "TODO(daniel-j-h)"; + } + + engine::api::MatchParameters parameters; + + private: + qi::rule root_rule, match_rule; +}; +} +} +} + +#endif diff --git a/include/server/api/nearest_parameter_grammar.hpp b/include/server/api/nearest_parameter_grammar.hpp new file mode 100644 index 000000000..a21089da1 --- /dev/null +++ b/include/server/api/nearest_parameter_grammar.hpp @@ -0,0 +1,41 @@ +#ifndef NEAREST_PARAMETERS_GRAMMAR_HPP +#define NEAREST_PARAMETERS_GRAMMAR_HPP + +#include "engine/api/nearest_parameters.hpp" + +#include "server/api/base_parameters_grammar.hpp" + +#include +#include +#include +#include +#include + +namespace osrm +{ +namespace server +{ +namespace api +{ + +namespace qi = boost::spirit::qi; + +struct NearestParametersGrammar final : public BaseParametersGrammar +{ + using Iterator = std::string::iterator; + + NearestParametersGrammar() : BaseParametersGrammar(root_rule, parameters) + { + root_rule = "TODO(daniel-j-h)"; + } + + engine::api::NearestParameters parameters; + + private: + qi::rule root_rule, nearest_rule; +}; +} +} +} + +#endif diff --git a/include/server/api/route_parameters_grammar.hpp b/include/server/api/route_parameters_grammar.hpp index 321609fc1..18517d748 100644 --- a/include/server/api/route_parameters_grammar.hpp +++ b/include/server/api/route_parameters_grammar.hpp @@ -19,6 +19,7 @@ namespace api { namespace qi = boost::spirit::qi; + struct RouteParametersGrammar : public BaseParametersGrammar { using Iterator = std::string::iterator; @@ -28,8 +29,7 @@ struct RouteParametersGrammar : public BaseParametersGrammar using OverviewT = engine::api::RouteParameters::OverviewType; using UturnsT = std::vector>; - RouteParametersGrammar() - : BaseParametersGrammar(root_rule, parameters) + RouteParametersGrammar() : BaseParametersGrammar(root_rule, parameters) { const auto set_geojson_type = [this]() { @@ -79,6 +79,7 @@ struct RouteParametersGrammar : public BaseParametersGrammar } engine::api::RouteParameters parameters; + private: qi::rule root_rule, route_rule, geometries_rule, overview_rule; qi::rule uturns_rule; diff --git a/include/server/api/table_parameter_grammar.hpp b/include/server/api/table_parameter_grammar.hpp index 80ee43bbb..24424b2b8 100644 --- a/include/server/api/table_parameter_grammar.hpp +++ b/include/server/api/table_parameter_grammar.hpp @@ -19,7 +19,8 @@ namespace api { namespace qi = boost::spirit::qi; -struct TableParametersGrammar : public BaseParametersGrammar + +struct TableParametersGrammar final : public BaseParametersGrammar { using Iterator = std::string::iterator; using SourcesT = std::vector; diff --git a/include/server/api/trip_parameter_grammar.hpp b/include/server/api/trip_parameter_grammar.hpp new file mode 100644 index 000000000..e82af0b2d --- /dev/null +++ b/include/server/api/trip_parameter_grammar.hpp @@ -0,0 +1,41 @@ +#ifndef TRIP_PARAMETERS_GRAMMAR_HPP +#define TRIP_PARAMETERS_GRAMMAR_HPP + +#include "engine/api/trip_parameters.hpp" + +#include "server/api/base_parameters_grammar.hpp" + +#include +#include +#include +#include +#include + +namespace osrm +{ +namespace server +{ +namespace api +{ + +namespace qi = boost::spirit::qi; + +struct TripParametersGrammar final : public BaseParametersGrammar +{ + using Iterator = std::string::iterator; + + TripParametersGrammar() : BaseParametersGrammar(root_rule, parameters) + { + root_rule = "TODO(daniel-j-h)"; + } + + engine::api::TripParameters parameters; + + private: + qi::rule root_rule, trip_rule; +}; +} +} +} + +#endif