rename JSON namespace to osrm::json to avoid namespace clash with V8

This commit is contained in:
Dennis Luxen 2015-02-18 10:46:40 +01:00
parent 9e09168597
commit 79b9bdf7ce
24 changed files with 109 additions and 98 deletions

View File

@ -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);

View File

@ -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 */

View File

@ -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)
{

View File

@ -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; }

View File

@ -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;
};

View File

@ -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;
}
};

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);
}

View File

@ -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);

View File

@ -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;
}

View File

@ -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 &current_hint : routeParameters.hints)
{

View File

@ -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;

View File

@ -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 /

View File

@ -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;
}

View File

@ -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();

View File

@ -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))
{

View File

@ -92,7 +92,7 @@ void RequestHandler::handle_request(const http::request &current_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 &current_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 &current_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 &current_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 &current_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\"");

View File

@ -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 &current_exception)
{

View File

@ -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

View File

@ -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,

View File

@ -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