diff --git a/example/example.cpp b/example/example.cpp index a6bb6af04..3ad13e6b2 100644 --- a/example/example.cpp +++ b/example/example.cpp @@ -34,7 +34,7 @@ int main(int argc, const char *argv[]) config.use_shared_memory = false; // Routing machine with several services (such as Route, Table, Nearest, Trip, Match) - OSRM osrm{config}; + const OSRM osrm{config}; // The following shows how to use the Route service; configure this service RouteParameters params; diff --git a/include/engine/engine.hpp b/include/engine/engine.hpp index 634ece66f..d2c153173 100644 --- a/include/engine/engine.hpp +++ b/include/engine/engine.hpp @@ -55,7 +55,7 @@ class Engine final // Needs to be public struct EngineLock; - explicit Engine(EngineConfig &config); + explicit Engine(const EngineConfig &config); Engine(Engine &&) noexcept; Engine &operator=(Engine &&) noexcept; @@ -63,12 +63,12 @@ class Engine final // Impl. in cpp since for unique_ptr of incomplete types ~Engine(); - Status Route(const api::RouteParameters ¶meters, util::json::Object &result); - Status Table(const api::TableParameters ¶meters, util::json::Object &result); - Status Nearest(const api::NearestParameters ¶meters, util::json::Object &result); - Status Trip(const api::TripParameters ¶meters, util::json::Object &result); - Status Match(const api::MatchParameters ¶meters, util::json::Object &result); - Status Tile(const api::TileParameters ¶meters, std::string &result); + Status Route(const api::RouteParameters ¶meters, util::json::Object &result) const; + Status Table(const api::TableParameters ¶meters, util::json::Object &result) const; + Status Nearest(const api::NearestParameters ¶meters, util::json::Object &result) const; + Status Trip(const api::TripParameters ¶meters, util::json::Object &result) const; + Status Match(const api::MatchParameters ¶meters, util::json::Object &result) const; + Status Tile(const api::TileParameters ¶meters, std::string &result) const; private: std::unique_ptr lock; diff --git a/include/osrm/osrm.hpp b/include/osrm/osrm.hpp index 1de8610a3..0bbc175d0 100644 --- a/include/osrm/osrm.hpp +++ b/include/osrm/osrm.hpp @@ -83,7 +83,7 @@ class OSRM final * \return Status indicating success for the query or failure * \see Status, RouteParameters and json::Object */ - Status Route(const RouteParameters ¶meters, json::Object &result); + Status Route(const RouteParameters ¶meters, json::Object &result) const; /** * Distance tables for coordinates. @@ -92,7 +92,7 @@ class OSRM final * \return Status indicating success for the query or failure * \see Status, TableParameters and json::Object */ - Status Table(const TableParameters ¶meters, json::Object &result); + Status Table(const TableParameters ¶meters, json::Object &result) const; /** * Nearest street segment for coordinate. @@ -101,7 +101,7 @@ class OSRM final * \return Status indicating success for the query or failure * \see Status, NearestParameters and json::Object */ - Status Nearest(const NearestParameters ¶meters, json::Object &result); + Status Nearest(const NearestParameters ¶meters, json::Object &result) const; /** * Trip: shortest round trip between coordinates. @@ -110,7 +110,7 @@ class OSRM final * \return Status indicating success for the query or failure * \see Status, TripParameters and json::Object */ - Status Trip(const TripParameters ¶meters, json::Object &result); + Status Trip(const TripParameters ¶meters, json::Object &result) const; /** * Match: snaps noisy coordinate traces to the road network @@ -119,7 +119,7 @@ class OSRM final * \return Status indicating success for the query or failure * \see Status, MatchParameters and json::Object */ - Status Match(const MatchParameters ¶meters, json::Object &result); + Status Match(const MatchParameters ¶meters, json::Object &result) const; /** * Tile: vector tiles with internal graph representation @@ -128,7 +128,7 @@ class OSRM final * \return Status indicating success for the query or failure * \see Status, TileParameters and json::Object */ - Status Tile(const TileParameters ¶meters, std::string &result); + Status Tile(const TileParameters ¶meters, std::string &result) const; private: std::unique_ptr engine_; diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 7b621b853..df0db5738 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -124,7 +124,7 @@ namespace osrm namespace engine { -Engine::Engine(EngineConfig &config) +Engine::Engine(const EngineConfig &config) { if (config.use_shared_memory) { @@ -157,32 +157,32 @@ Engine::~Engine() = default; Engine::Engine(Engine &&) noexcept = default; Engine &Engine::operator=(Engine &&) noexcept = default; -Status Engine::Route(const api::RouteParameters ¶ms, util::json::Object &result) +Status Engine::Route(const api::RouteParameters ¶ms, util::json::Object &result) const { return RunQuery(lock, *query_data_facade, params, *route_plugin, result); } -Status Engine::Table(const api::TableParameters ¶ms, util::json::Object &result) +Status Engine::Table(const api::TableParameters ¶ms, util::json::Object &result) const { return RunQuery(lock, *query_data_facade, params, *table_plugin, result); } -Status Engine::Nearest(const api::NearestParameters ¶ms, util::json::Object &result) +Status Engine::Nearest(const api::NearestParameters ¶ms, util::json::Object &result) const { return RunQuery(lock, *query_data_facade, params, *nearest_plugin, result); } -Status Engine::Trip(const api::TripParameters ¶ms, util::json::Object &result) +Status Engine::Trip(const api::TripParameters ¶ms, util::json::Object &result) const { return RunQuery(lock, *query_data_facade, params, *trip_plugin, result); } -Status Engine::Match(const api::MatchParameters ¶ms, util::json::Object &result) +Status Engine::Match(const api::MatchParameters ¶ms, util::json::Object &result) const { return RunQuery(lock, *query_data_facade, params, *match_plugin, result); } -Status Engine::Tile(const api::TileParameters ¶ms, std::string &result) +Status Engine::Tile(const api::TileParameters ¶ms, std::string &result) const { return RunQuery(lock, *query_data_facade, params, *tile_plugin, result); } diff --git a/src/osrm/osrm.cpp b/src/osrm/osrm.cpp index f9add44fc..a474eb1aa 100644 --- a/src/osrm/osrm.cpp +++ b/src/osrm/osrm.cpp @@ -21,32 +21,32 @@ OSRM &OSRM::operator=(OSRM &&) noexcept = default; // Forward to implementation -engine::Status OSRM::Route(const engine::api::RouteParameters ¶ms, util::json::Object &result) +engine::Status OSRM::Route(const engine::api::RouteParameters ¶ms, util::json::Object &result) const { return engine_->Route(params, result); } -engine::Status OSRM::Table(const engine::api::TableParameters ¶ms, json::Object &result) +engine::Status OSRM::Table(const engine::api::TableParameters ¶ms, json::Object &result) const { return engine_->Table(params, result); } -engine::Status OSRM::Nearest(const engine::api::NearestParameters ¶ms, json::Object &result) +engine::Status OSRM::Nearest(const engine::api::NearestParameters ¶ms, json::Object &result) const { return engine_->Nearest(params, result); } -engine::Status OSRM::Trip(const engine::api::TripParameters ¶ms, json::Object &result) +engine::Status OSRM::Trip(const engine::api::TripParameters ¶ms, json::Object &result) const { return engine_->Trip(params, result); } -engine::Status OSRM::Match(const engine::api::MatchParameters ¶ms, json::Object &result) +engine::Status OSRM::Match(const engine::api::MatchParameters ¶ms, json::Object &result) const { return engine_->Match(params, result); } -engine::Status OSRM::Tile(const engine::api::TileParameters ¶ms, std::string &result) +engine::Status OSRM::Tile(const engine::api::TileParameters ¶ms, std::string &result) const { return engine_->Tile(params, result); }