rename JSON namespace to osrm::json to avoid namespace clash with V8
This commit is contained in:
parent
9e09168597
commit
79b9bdf7ce
@ -32,21 +32,21 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include <osrm/coordinate.hpp>
|
||||
|
||||
JSON::String
|
||||
osrm::json::String
|
||||
PolylineFormatter::printEncodedString(const std::vector<SegmentInformation> &polyline) const
|
||||
{
|
||||
return JSON::String(PolylineCompressor().get_encoded_string(polyline));
|
||||
return osrm::json::String(PolylineCompressor().get_encoded_string(polyline));
|
||||
}
|
||||
|
||||
JSON::Array
|
||||
osrm::json::Array
|
||||
PolylineFormatter::printUnencodedString(const std::vector<SegmentInformation> &polyline) const
|
||||
{
|
||||
JSON::Array json_geometry_array;
|
||||
osrm::json::Array json_geometry_array;
|
||||
for (const auto &segment : polyline)
|
||||
{
|
||||
if (segment.necessary)
|
||||
{
|
||||
JSON::Array json_coordinate;
|
||||
osrm::json::Array json_coordinate;
|
||||
json_coordinate.values.push_back(segment.location.lat / COORDINATE_PRECISION);
|
||||
json_coordinate.values.push_back(segment.location.lon / COORDINATE_PRECISION);
|
||||
json_geometry_array.values.push_back(json_coordinate);
|
||||
|
@ -37,9 +37,9 @@ struct SegmentInformation;
|
||||
|
||||
struct PolylineFormatter
|
||||
{
|
||||
JSON::String printEncodedString(const std::vector<SegmentInformation> &polyline) const;
|
||||
osrm::json::String printEncodedString(const std::vector<SegmentInformation> &polyline) const;
|
||||
|
||||
JSON::Array printUnencodedString(const std::vector<SegmentInformation> &polyline) const;
|
||||
osrm::json::Array printUnencodedString(const std::vector<SegmentInformation> &polyline) const;
|
||||
};
|
||||
|
||||
#endif /* POLYLINE_FORMATTER_HPP */
|
||||
|
@ -98,7 +98,7 @@ void DescriptionFactory::AppendSegment(const FixedPointCoordinate &coordinate,
|
||||
turn, path_point.travel_mode);
|
||||
}
|
||||
|
||||
JSON::Value DescriptionFactory::AppendGeometryString(const bool return_encoded)
|
||||
osrm::json::Value DescriptionFactory::AppendGeometryString(const bool return_encoded)
|
||||
{
|
||||
if (return_encoded)
|
||||
{
|
||||
|
@ -85,7 +85,7 @@ class DescriptionFactory
|
||||
void SetEndSegment(const PhantomNode &start_phantom,
|
||||
const bool traversed_in_reverse,
|
||||
const bool is_via_location = false);
|
||||
JSON::Value AppendGeometryString(const bool return_encoded);
|
||||
osrm::json::Value AppendGeometryString(const bool return_encoded);
|
||||
std::vector<unsigned> const &GetViaIndices() const;
|
||||
|
||||
double get_entire_length() const { return entire_length; }
|
||||
|
@ -78,7 +78,7 @@ template <class DataFacadeT> class BaseDescriptor
|
||||
BaseDescriptor() {}
|
||||
// Maybe someone can explain the pure virtual destructor thing to me (dennis)
|
||||
virtual ~BaseDescriptor() {}
|
||||
virtual void Run(const InternalRouteResult &raw_route, JSON::Object &json_result) = 0;
|
||||
virtual void Run(const InternalRouteResult &raw_route, osrm::json::Object &json_result) = 0;
|
||||
virtual void SetConfig(const DescriptorConfig &c) = 0;
|
||||
};
|
||||
|
||||
|
@ -41,11 +41,11 @@ template <class DataFacadeT> class GPXDescriptor final : public BaseDescriptor<D
|
||||
DescriptorConfig config;
|
||||
DataFacadeT *facade;
|
||||
|
||||
void AddRoutePoint(const FixedPointCoordinate &coordinate, JSON::Array &json_route)
|
||||
void AddRoutePoint(const FixedPointCoordinate &coordinate, osrm::json::Array &json_route)
|
||||
{
|
||||
JSON::Object json_lat;
|
||||
JSON::Object json_lon;
|
||||
JSON::Array json_row;
|
||||
osrm::json::Object json_lat;
|
||||
osrm::json::Object json_lon;
|
||||
osrm::json::Array json_row;
|
||||
|
||||
std::string tmp;
|
||||
|
||||
@ -57,7 +57,7 @@ template <class DataFacadeT> class GPXDescriptor final : public BaseDescriptor<D
|
||||
|
||||
json_row.values.push_back(json_lat);
|
||||
json_row.values.push_back(json_lon);
|
||||
JSON::Object entry;
|
||||
osrm::json::Object entry;
|
||||
entry.values["rtept"] = json_row;
|
||||
json_route.values.push_back(entry);
|
||||
}
|
||||
@ -67,9 +67,9 @@ template <class DataFacadeT> class GPXDescriptor final : public BaseDescriptor<D
|
||||
|
||||
virtual void SetConfig(const DescriptorConfig &c) final { config = c; }
|
||||
|
||||
virtual void Run(const InternalRouteResult &raw_route, JSON::Object &json_result) final
|
||||
virtual void Run(const InternalRouteResult &raw_route, osrm::json::Object &json_result) final
|
||||
{
|
||||
JSON::Array json_route;
|
||||
osrm::json::Array json_route;
|
||||
if (raw_route.shortest_path_length != INVALID_EDGE_WEIGHT)
|
||||
{
|
||||
AddRoutePoint(raw_route.segment_end_coordinates.front().source_phantom.location,
|
||||
@ -87,7 +87,7 @@ template <class DataFacadeT> class GPXDescriptor final : public BaseDescriptor<D
|
||||
AddRoutePoint(raw_route.segment_end_coordinates.back().target_phantom.location,
|
||||
json_route);
|
||||
}
|
||||
// JSON::gpx_render(reply.content, json_route);
|
||||
// osrm::json::gpx_render(reply.content, json_route);
|
||||
json_result.values["route"] = json_route;
|
||||
}
|
||||
};
|
||||
|
@ -100,14 +100,15 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
return added_element_count;
|
||||
}
|
||||
|
||||
virtual void Run(const InternalRouteResult &raw_route, JSON::Object &json_result) override final
|
||||
virtual void Run(const InternalRouteResult &raw_route,
|
||||
osrm::json::Object &json_result) override final
|
||||
{
|
||||
if (INVALID_EDGE_WEIGHT == raw_route.shortest_path_length)
|
||||
{
|
||||
// We do not need to do much, if there is no route ;-)
|
||||
json_result.values["status"] = 207;
|
||||
json_result.values["status_message"] = "Cannot find route between points";
|
||||
// JSON::render(reply.content, json_result);
|
||||
// osrm::json::render(reply.content, json_result);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -139,20 +140,20 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
|
||||
if (config.geometry)
|
||||
{
|
||||
JSON::Value route_geometry =
|
||||
osrm::json::Value route_geometry =
|
||||
description_factory.AppendGeometryString(config.encode_geometry);
|
||||
json_result.values["route_geometry"] = route_geometry;
|
||||
}
|
||||
if (config.instructions)
|
||||
{
|
||||
JSON::Array json_route_instructions;
|
||||
osrm::json::Array json_route_instructions;
|
||||
BuildTextualDescription(description_factory, json_route_instructions,
|
||||
raw_route.shortest_path_length, shortest_path_segments);
|
||||
json_result.values["route_instructions"] = json_route_instructions;
|
||||
}
|
||||
description_factory.BuildRouteSummary(description_factory.get_entire_length(),
|
||||
raw_route.shortest_path_length);
|
||||
JSON::Object json_route_summary;
|
||||
osrm::json::Object json_route_summary;
|
||||
json_route_summary.values["total_distance"] = description_factory.summary.distance;
|
||||
json_route_summary.values["total_time"] = description_factory.summary.duration;
|
||||
json_route_summary.values["start_point"] =
|
||||
@ -163,8 +164,8 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
|
||||
BOOST_ASSERT(!raw_route.segment_end_coordinates.empty());
|
||||
|
||||
JSON::Array json_via_points_array;
|
||||
JSON::Array json_first_coordinate;
|
||||
osrm::json::Array json_via_points_array;
|
||||
osrm::json::Array json_first_coordinate;
|
||||
json_first_coordinate.values.push_back(
|
||||
raw_route.segment_end_coordinates.front().source_phantom.location.lat /
|
||||
COORDINATE_PRECISION);
|
||||
@ -175,7 +176,7 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
for (const PhantomNodes &nodes : raw_route.segment_end_coordinates)
|
||||
{
|
||||
std::string tmp;
|
||||
JSON::Array json_coordinate;
|
||||
osrm::json::Array json_coordinate;
|
||||
json_coordinate.values.push_back(nodes.target_phantom.location.lat /
|
||||
COORDINATE_PRECISION);
|
||||
json_coordinate.values.push_back(nodes.target_phantom.location.lon /
|
||||
@ -184,7 +185,7 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
}
|
||||
json_result.values["via_points"] = json_via_points_array;
|
||||
|
||||
JSON::Array json_via_indices_array;
|
||||
osrm::json::Array json_via_indices_array;
|
||||
|
||||
std::vector<unsigned> const &shortest_leg_end_indices = description_factory.GetViaIndices();
|
||||
json_via_indices_array.values.insert(json_via_indices_array.values.end(),
|
||||
@ -195,7 +196,7 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
// only one alternative route is computed at this time, so this is hardcoded
|
||||
if (INVALID_EDGE_WEIGHT != raw_route.alternative_path_length)
|
||||
{
|
||||
json_result.values["found_alternative"] = JSON::True();
|
||||
json_result.values["found_alternative"] = osrm::json::True();
|
||||
BOOST_ASSERT(!raw_route.alt_source_traversed_in_reverse.empty());
|
||||
alternate_description_factory.SetStartSegment(
|
||||
raw_route.segment_end_coordinates.front().source_phantom,
|
||||
@ -213,15 +214,15 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
|
||||
if (config.geometry)
|
||||
{
|
||||
JSON::Value alternate_geometry_string =
|
||||
osrm::json::Value alternate_geometry_string =
|
||||
alternate_description_factory.AppendGeometryString(config.encode_geometry);
|
||||
JSON::Array json_alternate_geometries_array;
|
||||
osrm::json::Array json_alternate_geometries_array;
|
||||
json_alternate_geometries_array.values.push_back(alternate_geometry_string);
|
||||
json_result.values["alternative_geometries"] = json_alternate_geometries_array;
|
||||
}
|
||||
// Generate instructions for each alternative (simulated here)
|
||||
JSON::Array json_alt_instructions;
|
||||
JSON::Array json_current_alt_instructions;
|
||||
osrm::json::Array json_alt_instructions;
|
||||
osrm::json::Array json_current_alt_instructions;
|
||||
if (config.instructions)
|
||||
{
|
||||
BuildTextualDescription(
|
||||
@ -234,8 +235,8 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
alternate_description_factory.get_entire_length(),
|
||||
raw_route.alternative_path_length);
|
||||
|
||||
JSON::Object json_alternate_route_summary;
|
||||
JSON::Array json_alternate_route_summary_array;
|
||||
osrm::json::Object json_alternate_route_summary;
|
||||
osrm::json::Array json_alternate_route_summary_array;
|
||||
json_alternate_route_summary.values["total_distance"] =
|
||||
alternate_description_factory.summary.distance;
|
||||
json_alternate_route_summary.values["total_time"] =
|
||||
@ -249,7 +250,7 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
|
||||
std::vector<unsigned> const &alternate_leg_end_indices =
|
||||
alternate_description_factory.GetViaIndices();
|
||||
JSON::Array json_altenative_indices_array;
|
||||
osrm::json::Array json_altenative_indices_array;
|
||||
json_altenative_indices_array.values.insert(json_altenative_indices_array.values.end(),
|
||||
alternate_leg_end_indices.begin(),
|
||||
alternate_leg_end_indices.end());
|
||||
@ -257,30 +258,30 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
}
|
||||
else
|
||||
{
|
||||
json_result.values["found_alternative"] = JSON::False();
|
||||
json_result.values["found_alternative"] = osrm::json::False();
|
||||
}
|
||||
|
||||
// Get Names for both routes
|
||||
RouteNames route_names =
|
||||
GenerateRouteNames(shortest_path_segments, alternative_path_segments, facade);
|
||||
JSON::Array json_route_names;
|
||||
osrm::json::Array json_route_names;
|
||||
json_route_names.values.push_back(route_names.shortest_path_name_1);
|
||||
json_route_names.values.push_back(route_names.shortest_path_name_2);
|
||||
json_result.values["route_name"] = json_route_names;
|
||||
|
||||
if (INVALID_EDGE_WEIGHT != raw_route.alternative_path_length)
|
||||
{
|
||||
JSON::Array json_alternate_names_array;
|
||||
JSON::Array json_alternate_names;
|
||||
osrm::json::Array json_alternate_names_array;
|
||||
osrm::json::Array json_alternate_names;
|
||||
json_alternate_names.values.push_back(route_names.alternative_path_name_1);
|
||||
json_alternate_names.values.push_back(route_names.alternative_path_name_2);
|
||||
json_alternate_names_array.values.push_back(json_alternate_names);
|
||||
json_result.values["alternative_names"] = json_alternate_names_array;
|
||||
}
|
||||
|
||||
JSON::Object json_hint_object;
|
||||
osrm::json::Object json_hint_object;
|
||||
json_hint_object.values["checksum"] = facade->GetCheckSum();
|
||||
JSON::Array json_location_hint_array;
|
||||
osrm::json::Array json_location_hint_array;
|
||||
std::string hint;
|
||||
for (const auto i : osrm::irange<std::size_t>(0, raw_route.segment_end_coordinates.size()))
|
||||
{
|
||||
@ -296,14 +297,14 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
|
||||
// render the content to the output array
|
||||
// TIMER_START(route_render);
|
||||
// JSON::render(reply.content, json_result);
|
||||
// osrm::json::render(reply.content, json_result);
|
||||
// TIMER_STOP(route_render);
|
||||
// SimpleLogger().Write(logDEBUG) << "rendering took: " << TIMER_MSEC(route_render);
|
||||
}
|
||||
|
||||
// TODO: reorder parameters
|
||||
inline void BuildTextualDescription(DescriptionFactory &description_factory,
|
||||
JSON::Array &json_instruction_array,
|
||||
osrm::json::Array &json_instruction_array,
|
||||
const int route_length,
|
||||
std::vector<Segment> &route_segments_list)
|
||||
{
|
||||
@ -317,7 +318,7 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
// Fetch data from Factory and generate a string from it.
|
||||
for (const SegmentInformation &segment : description_factory.path_description)
|
||||
{
|
||||
JSON::Array json_instruction_row;
|
||||
osrm::json::Array json_instruction_row;
|
||||
TurnInstruction current_instruction = segment.turn_instruction;
|
||||
entered_restricted_area_count += (current_instruction != segment.turn_instruction);
|
||||
if (TurnInstructionsClass::TurnIsNecessary(current_instruction))
|
||||
@ -377,7 +378,7 @@ template <class DataFacadeT> class JSONDescriptor final : public BaseDescriptor<
|
||||
}
|
||||
}
|
||||
|
||||
JSON::Array json_last_instruction_row;
|
||||
osrm::json::Array json_last_instruction_row;
|
||||
temp_instruction = cast::integral_to_string(
|
||||
cast::enum_to_underlying(TurnInstruction::ReachedYourDestination));
|
||||
json_last_instruction_row.values.push_back(temp_instruction);
|
||||
|
@ -31,6 +31,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include <boost/filesystem.hpp>
|
||||
|
||||
#include <exception>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
try
|
||||
|
@ -28,8 +28,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
// based on
|
||||
// https://svn.apache.org/repos/asf/mesos/tags/release-0.9.0-incubating-RC0/src/common/json.hpp
|
||||
|
||||
#ifndef JSON_CONTAINER_H
|
||||
#define JSON_CONTAINER_H
|
||||
#ifndef JSON_CONTAINER_HPP
|
||||
#define JSON_CONTAINER_HPP
|
||||
|
||||
#include <variant/variant.hpp>
|
||||
|
||||
@ -38,7 +38,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
|
||||
namespace JSON
|
||||
namespace osrm
|
||||
{
|
||||
namespace json
|
||||
{
|
||||
|
||||
struct Object;
|
||||
@ -90,5 +92,5 @@ struct Array
|
||||
};
|
||||
|
||||
} // namespace JSON
|
||||
|
||||
#endif // JSON_CONTAINER_H
|
||||
} // namespace osrm
|
||||
#endif // JSON_CONTAINER_HPP
|
||||
|
@ -35,10 +35,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
class OSRM_impl;
|
||||
struct RouteParameters;
|
||||
|
||||
namespace JSON
|
||||
namespace osrm
|
||||
{
|
||||
namespace json
|
||||
{
|
||||
struct Object;
|
||||
}
|
||||
}
|
||||
|
||||
class OSRM
|
||||
{
|
||||
@ -48,7 +51,7 @@ class OSRM
|
||||
public:
|
||||
explicit OSRM(libosrm_config &lib_config);
|
||||
~OSRM();
|
||||
int RunQuery(RouteParameters &route_parameters, JSON::Object &json_result);
|
||||
int RunQuery(RouteParameters &route_parameters, osrm::json::Object &json_result);
|
||||
};
|
||||
|
||||
#endif // OSRM_HPP
|
||||
|
@ -104,7 +104,7 @@ void OSRM_impl::RegisterPlugin(BasePlugin *plugin)
|
||||
plugin_map.emplace(plugin->GetDescriptor(), plugin);
|
||||
}
|
||||
|
||||
int OSRM_impl::RunQuery(RouteParameters &route_parameters, JSON::Object &json_result)
|
||||
int OSRM_impl::RunQuery(RouteParameters &route_parameters, osrm::json::Object &json_result)
|
||||
{
|
||||
const auto &plugin_iterator = plugin_map.find(route_parameters.service);
|
||||
|
||||
@ -172,7 +172,7 @@ OSRM::OSRM(libosrm_config &lib_config) : OSRM_pimpl_(osrm::make_unique<OSRM_impl
|
||||
|
||||
OSRM::~OSRM() { OSRM_pimpl_.reset(); }
|
||||
|
||||
int OSRM::RunQuery(RouteParameters &route_parameters, JSON::Object &json_result)
|
||||
int OSRM::RunQuery(RouteParameters &route_parameters, osrm::json::Object &json_result)
|
||||
{
|
||||
return OSRM_pimpl_->RunQuery(route_parameters, json_result);
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ class OSRM_impl
|
||||
OSRM_impl(libosrm_config &lib_config);
|
||||
OSRM_impl(const OSRM_impl &) = delete;
|
||||
virtual ~OSRM_impl();
|
||||
int RunQuery(RouteParameters &route_parameters, JSON::Object &json_result);
|
||||
int RunQuery(RouteParameters &route_parameters, osrm::json::Object &json_result);
|
||||
|
||||
private:
|
||||
void RegisterPlugin(BasePlugin *plugin);
|
||||
|
@ -68,7 +68,7 @@ template <class DataFacadeT> class DistanceTablePlugin final : public BasePlugin
|
||||
const std::string GetDescriptor() const override final { return descriptor_string; }
|
||||
|
||||
int HandleRequest(const RouteParameters &route_parameters,
|
||||
JSON::Object &json_result) override final
|
||||
osrm::json::Object &json_result) override final
|
||||
{
|
||||
if (!check_all_coordinates(route_parameters.coordinates))
|
||||
{
|
||||
@ -110,18 +110,18 @@ template <class DataFacadeT> class DistanceTablePlugin final : public BasePlugin
|
||||
return 400;
|
||||
}
|
||||
|
||||
JSON::Array json_array;
|
||||
osrm::json::Array json_array;
|
||||
const auto number_of_locations = phantom_node_vector.size();
|
||||
for (const auto row : osrm::irange<std::size_t>(0, number_of_locations))
|
||||
{
|
||||
JSON::Array json_row;
|
||||
osrm::json::Array json_row;
|
||||
auto row_begin_iterator = result_table->begin() + (row * number_of_locations);
|
||||
auto row_end_iterator = result_table->begin() + ((row + 1) * number_of_locations);
|
||||
json_row.values.insert(json_row.values.end(), row_begin_iterator, row_end_iterator);
|
||||
json_array.values.push_back(json_row);
|
||||
}
|
||||
json_result.values["distance_table"] = json_array;
|
||||
// JSON::render(reply.content, json_object);
|
||||
// osrm::json::render(reply.content, json_object);
|
||||
return 200;
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ class HelloWorldPlugin final : public BasePlugin
|
||||
const std::string GetDescriptor() const override final { return descriptor_string; }
|
||||
|
||||
int HandleRequest(const RouteParameters &routeParameters,
|
||||
JSON::Object &json_result) override final
|
||||
osrm::json::Object &json_result) override final
|
||||
{
|
||||
std::string temp_string;
|
||||
json_result.values["title"] = "Hello World";
|
||||
@ -71,12 +71,12 @@ class HelloWorldPlugin final : public BasePlugin
|
||||
temp_string = cast::integral_to_string(routeParameters.coordinates.size());
|
||||
json_result.values["location_count"] = temp_string;
|
||||
|
||||
JSON::Array json_locations;
|
||||
osrm::json::Array json_locations;
|
||||
unsigned counter = 0;
|
||||
for (const FixedPointCoordinate &coordinate : routeParameters.coordinates)
|
||||
{
|
||||
JSON::Object json_location;
|
||||
JSON::Array json_coordinates;
|
||||
osrm::json::Object json_location;
|
||||
osrm::json::Array json_coordinates;
|
||||
|
||||
json_coordinates.values.push_back(
|
||||
static_cast<double>(coordinate.lat / COORDINATE_PRECISION));
|
||||
@ -89,7 +89,7 @@ class HelloWorldPlugin final : public BasePlugin
|
||||
json_result.values["locations"] = json_locations;
|
||||
json_result.values["hint_count"] = routeParameters.hints.size();
|
||||
|
||||
JSON::Array json_hints;
|
||||
osrm::json::Array json_hints;
|
||||
counter = 0;
|
||||
for (const std::string ¤t_hint : routeParameters.hints)
|
||||
{
|
||||
|
@ -45,7 +45,7 @@ template <class DataFacadeT> class LocatePlugin final : public BasePlugin
|
||||
const std::string GetDescriptor() const override final { return descriptor_string; }
|
||||
|
||||
int HandleRequest(const RouteParameters &route_parameters,
|
||||
JSON::Object &json_result) override final
|
||||
osrm::json::Object &json_result) override final
|
||||
{
|
||||
// check number of parameters
|
||||
if (route_parameters.coordinates.empty() ||
|
||||
@ -63,7 +63,7 @@ template <class DataFacadeT> class LocatePlugin final : public BasePlugin
|
||||
else
|
||||
{
|
||||
json_result.values["status"] = 0;
|
||||
JSON::Array json_coordinate;
|
||||
osrm::json::Array json_coordinate;
|
||||
json_coordinate.values.push_back(result.lat / COORDINATE_PRECISION);
|
||||
json_coordinate.values.push_back(result.lon / COORDINATE_PRECISION);
|
||||
json_result.values["mapped_coordinate"] = json_coordinate;
|
||||
|
@ -50,7 +50,7 @@ template <class DataFacadeT> class NearestPlugin final : public BasePlugin
|
||||
const std::string GetDescriptor() const override final { return descriptor_string; }
|
||||
|
||||
int HandleRequest(const RouteParameters &route_parameters,
|
||||
JSON::Object &json_result) override final
|
||||
osrm::json::Object &json_result) override final
|
||||
{
|
||||
// check number of parameters
|
||||
if (route_parameters.coordinates.empty() ||
|
||||
@ -75,14 +75,14 @@ template <class DataFacadeT> class NearestPlugin final : public BasePlugin
|
||||
|
||||
if (number_of_results > 1)
|
||||
{
|
||||
JSON::Array results;
|
||||
osrm::json::Array results;
|
||||
|
||||
auto vector_length = phantom_node_vector.size();
|
||||
for (const auto i :
|
||||
osrm::irange<std::size_t>(0, std::min(number_of_results, vector_length)))
|
||||
{
|
||||
JSON::Array json_coordinate;
|
||||
JSON::Object result;
|
||||
osrm::json::Array json_coordinate;
|
||||
osrm::json::Object result;
|
||||
json_coordinate.values.push_back(phantom_node_vector.at(i).location.lat /
|
||||
COORDINATE_PRECISION);
|
||||
json_coordinate.values.push_back(phantom_node_vector.at(i).location.lon /
|
||||
@ -97,7 +97,7 @@ template <class DataFacadeT> class NearestPlugin final : public BasePlugin
|
||||
}
|
||||
else
|
||||
{
|
||||
JSON::Array json_coordinate;
|
||||
osrm::json::Array json_coordinate;
|
||||
json_coordinate.values.push_back(phantom_node_vector.front().location.lat /
|
||||
COORDINATE_PRECISION);
|
||||
json_coordinate.values.push_back(phantom_node_vector.front().location.lon /
|
||||
|
@ -42,16 +42,15 @@ class BasePlugin
|
||||
// Maybe someone can explain the pure virtual destructor thing to me (dennis)
|
||||
virtual ~BasePlugin() {}
|
||||
virtual const std::string GetDescriptor() const = 0;
|
||||
virtual int HandleRequest(const RouteParameters &, JSON::Object &) = 0;
|
||||
virtual bool check_all_coordinates(const std::vector<FixedPointCoordinate> &coordinates) const final
|
||||
virtual int HandleRequest(const RouteParameters &, osrm::json::Object &) = 0;
|
||||
virtual bool
|
||||
check_all_coordinates(const std::vector<FixedPointCoordinate> &coordinates) const final
|
||||
{
|
||||
if (2 > coordinates.size() ||
|
||||
std::any_of(std::begin(coordinates),
|
||||
std::end(coordinates),
|
||||
[](const FixedPointCoordinate &coordinate)
|
||||
{
|
||||
return !coordinate.is_valid();
|
||||
}))
|
||||
if (2 > coordinates.size() || std::any_of(std::begin(coordinates), std::end(coordinates),
|
||||
[](const FixedPointCoordinate &coordinate)
|
||||
{
|
||||
return !coordinate.is_valid();
|
||||
}))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ template <class DataFacadeT> class TimestampPlugin final : public BasePlugin
|
||||
}
|
||||
const std::string GetDescriptor() const override final { return descriptor_string; }
|
||||
int HandleRequest(const RouteParameters &route_parameters,
|
||||
JSON::Object &json_result) override final
|
||||
osrm::json::Object &json_result) override final
|
||||
{
|
||||
json_result.values["status"] = 0;
|
||||
const std::string timestamp = facade->GetTimestamp();
|
||||
|
@ -72,7 +72,7 @@ template <class DataFacadeT> class ViaRoutePlugin final : public BasePlugin
|
||||
const std::string GetDescriptor() const override final { return descriptor_string; }
|
||||
|
||||
int HandleRequest(const RouteParameters &route_parameters,
|
||||
JSON::Object &json_result) override final
|
||||
osrm::json::Object &json_result) override final
|
||||
{
|
||||
if (!check_all_coordinates(route_parameters.coordinates))
|
||||
{
|
||||
|
@ -92,7 +92,7 @@ void RequestHandler::handle_request(const http::request ¤t_request,
|
||||
const bool result =
|
||||
boost::spirit::qi::parse(api_iterator, request_string.end(), api_parser);
|
||||
|
||||
JSON::Object json_result;
|
||||
osrm::json::Object json_result;
|
||||
// check if the was an error with the request
|
||||
if (!result || (api_iterator != request_string.end()))
|
||||
{
|
||||
@ -104,7 +104,7 @@ void RequestHandler::handle_request(const http::request ¤t_request,
|
||||
std::string message = "Query string malformed close to position ";
|
||||
message += cast::integral_to_string(position);
|
||||
json_result.values["status_message"] = message;
|
||||
JSON::render(current_reply.content, json_result);
|
||||
osrm::json::render(current_reply.content, json_result);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -124,7 +124,7 @@ void RequestHandler::handle_request(const http::request ¤t_request,
|
||||
json_result.values["status"] = 400;
|
||||
std::string message = "Bad Request";
|
||||
json_result.values["status_message"] = message;
|
||||
JSON::render(current_reply.content, json_result);
|
||||
osrm::json::render(current_reply.content, json_result);
|
||||
return;
|
||||
}
|
||||
// set headers
|
||||
@ -132,7 +132,7 @@ void RequestHandler::handle_request(const http::request ¤t_request,
|
||||
cast::integral_to_string(current_reply.content.size()));
|
||||
if ("gpx" == route_parameters.output_format)
|
||||
{ // gpx file
|
||||
JSON::gpx_render(current_reply.content, json_result.values["route"]);
|
||||
osrm::json::gpx_render(current_reply.content, json_result.values["route"]);
|
||||
current_reply.headers.emplace_back("Content-Type",
|
||||
"application/gpx+xml; charset=UTF-8");
|
||||
current_reply.headers.emplace_back("Content-Disposition",
|
||||
@ -140,14 +140,14 @@ void RequestHandler::handle_request(const http::request ¤t_request,
|
||||
}
|
||||
else if (route_parameters.jsonp_parameter.empty())
|
||||
{ // json file
|
||||
JSON::render(current_reply.content, json_result);
|
||||
osrm::json::render(current_reply.content, json_result);
|
||||
current_reply.headers.emplace_back("Content-Type", "application/json; charset=UTF-8");
|
||||
current_reply.headers.emplace_back("Content-Disposition",
|
||||
"inline; filename=\"response.json\"");
|
||||
}
|
||||
else
|
||||
{ // jsonp
|
||||
JSON::render(current_reply.content, json_result);
|
||||
osrm::json::render(current_reply.content, json_result);
|
||||
current_reply.headers.emplace_back("Content-Type", "text/javascript; charset=UTF-8");
|
||||
current_reply.headers.emplace_back("Content-Disposition",
|
||||
"inline; filename=\"response.js\"");
|
||||
|
@ -81,10 +81,10 @@ int main(int argc, const char *argv[])
|
||||
// target_coordinate
|
||||
route_parameters.coordinates.emplace_back(52.513191 * COORDINATE_PRECISION,
|
||||
13.415852 * COORDINATE_PRECISION);
|
||||
JSON::Object json_result;
|
||||
osrm::json::Object json_result;
|
||||
const int result_code = routing_machine.RunQuery(route_parameters, json_result);
|
||||
SimpleLogger().Write() << "http code: " << result_code;
|
||||
JSON::render(SimpleLogger().Write(), json_result);
|
||||
osrm::json::render(SimpleLogger().Write(), json_result);
|
||||
}
|
||||
catch (std::exception ¤t_exception)
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
|
||||
Copyright (c) 2014, Project OSRM, Dennis Luxen, others
|
||||
Copyright (c) 2015, Project OSRM, Dennis Luxen, others
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
@ -35,7 +35,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include <osrm/json_container.hpp>
|
||||
|
||||
namespace JSON
|
||||
namespace osrm
|
||||
{
|
||||
namespace json
|
||||
{
|
||||
|
||||
struct Renderer : mapbox::util::static_visitor<>
|
||||
@ -179,6 +181,6 @@ inline void render(std::vector<char> &out, const Object &object)
|
||||
mapbox::util::apply_visitor(ArrayRenderer(out), value);
|
||||
}
|
||||
|
||||
} // namespace JSON
|
||||
|
||||
} // namespace json
|
||||
} // namespace osrm
|
||||
#endif // JSON_RENDERER_HPP
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
|
||||
Copyright (c) 2013, Project OSRM, Dennis Luxen, others
|
||||
Copyright (c) 2015, Project OSRM, Dennis Luxen, others
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
|
@ -32,7 +32,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include <osrm/json_container.hpp>
|
||||
|
||||
namespace JSON
|
||||
namespace osrm
|
||||
{
|
||||
namespace json
|
||||
{
|
||||
|
||||
struct XMLToArrayRenderer : mapbox::util::static_visitor<>
|
||||
@ -135,6 +137,6 @@ template <class JSONObject> inline void gpx_render(std::vector<char> &out, const
|
||||
const std::string footer{"</rte></gpx>"};
|
||||
out.insert(out.end(), footer.begin(), footer.end());
|
||||
}
|
||||
} // namespace JSON
|
||||
|
||||
} // namespace json
|
||||
} // namespace osrm
|
||||
#endif // XML_RENDERER_HPP
|
||||
|
Loading…
Reference in New Issue
Block a user