Passed ResultT down to engine plugins, so now they can form replies in different formats.
This commit is contained in:
@@ -32,7 +32,7 @@ class MatchPlugin : public BasePlugin
|
||||
|
||||
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,
|
||||
const api::MatchParameters ¶meters,
|
||||
util::json::Object &json_result) const;
|
||||
osrm::engine::api::ResultT &json_result) const;
|
||||
|
||||
private:
|
||||
const int max_locations_map_matching;
|
||||
|
||||
@@ -21,7 +21,7 @@ class NearestPlugin final : public BasePlugin
|
||||
|
||||
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,
|
||||
const api::NearestParameters ¶ms,
|
||||
util::json::Object &result) const;
|
||||
osrm::engine::api::ResultT &result) const;
|
||||
|
||||
private:
|
||||
const int max_results;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define BASE_PLUGIN_HPP
|
||||
|
||||
#include "engine/api/base_parameters.hpp"
|
||||
#include "engine/api/base_result.hpp"
|
||||
#include "engine/datafacade/datafacade_base.hpp"
|
||||
#include "engine/phantom_node.hpp"
|
||||
#include "engine/routing_algorithms.hpp"
|
||||
@@ -39,7 +40,7 @@ class BasePlugin
|
||||
|
||||
bool CheckAlgorithms(const api::BaseParameters ¶ms,
|
||||
const RoutingAlgorithmsInterface &algorithms,
|
||||
util::json::Object &result) const
|
||||
osrm::engine::api::ResultT &result) const
|
||||
{
|
||||
if (algorithms.IsValid())
|
||||
{
|
||||
@@ -64,8 +65,10 @@ class BasePlugin
|
||||
|
||||
Status Error(const std::string &code,
|
||||
const std::string &message,
|
||||
util::json::Object &json_result) const
|
||||
osrm::engine::api::ResultT &result) const
|
||||
{
|
||||
result = util::json::Object();
|
||||
auto& json_result = result.get<util::json::Object>();
|
||||
json_result.values["code"] = code;
|
||||
json_result.values["message"] = message;
|
||||
return Status::Error;
|
||||
|
||||
@@ -22,7 +22,7 @@ class TablePlugin final : public BasePlugin
|
||||
|
||||
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,
|
||||
const api::TableParameters ¶ms,
|
||||
util::json::Object &result) const;
|
||||
osrm::engine::api::ResultT &result) const;
|
||||
|
||||
private:
|
||||
const int max_locations_distance_table;
|
||||
|
||||
@@ -28,7 +28,7 @@ class TilePlugin final : public BasePlugin
|
||||
public:
|
||||
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,
|
||||
const api::TileParameters ¶meters,
|
||||
std::string &pbf_buffer) const;
|
||||
osrm::engine::api::ResultT &pbf_buffer) const;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ class TripPlugin final : public BasePlugin
|
||||
|
||||
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,
|
||||
const api::TripParameters ¶meters,
|
||||
util::json::Object &json_result) const;
|
||||
osrm::engine::api::ResultT &json_result) const;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ class ViaRoutePlugin final : public BasePlugin
|
||||
|
||||
Status HandleRequest(const RoutingAlgorithmsInterface &algorithms,
|
||||
const api::RouteParameters &route_parameters,
|
||||
util::json::Object &json_result) const;
|
||||
osrm::engine::api::ResultT &json_result) const;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user