Skip to content

Commit

Permalink
Provide default implementations for HttpWrapper::get_leg_*.
Browse files Browse the repository at this point in the history
  • Loading branch information
jcoupey committed Nov 7, 2024
1 parent f1d523c commit d919455
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 32 deletions.
12 changes: 10 additions & 2 deletions src/routing/http_wrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,17 @@ class HttpWrapper : public Wrapper {
virtual const rapidjson::Value&
get_legs(const rapidjson::Value& result) const = 0;

virtual UserDuration get_leg_duration(const rapidjson::Value& leg) const = 0;
virtual UserDuration get_leg_duration(const rapidjson::Value& leg) const {
// Same implementation for both OSRM and ORS.
assert(leg.HasMember("duration"));
return utils::round<UserDuration>(leg["duration"].GetDouble());
}

virtual UserDistance get_leg_distance(const rapidjson::Value& leg) const = 0;
virtual UserDistance get_leg_distance(const rapidjson::Value& leg) const {
// Same implementation for both OSRM and ORS.
assert(leg.HasMember("distance"));
return utils::round<UserDistance>(leg["distance"].GetDouble());
}

virtual std::string get_geometry(rapidjson::Value& result) const {
// Same implementation for both OSRM and ORS.
Expand Down
10 changes: 0 additions & 10 deletions src/routing/ors_wrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,4 @@ OrsWrapper::get_legs(const rapidjson::Value& result) const {
return result["routes"][0]["segments"];
}

UserDuration OrsWrapper::get_leg_duration(const rapidjson::Value& leg) const {
assert(leg.HasMember("duration"));
return utils::round<UserDuration>(leg["duration"].GetDouble());
}

UserDistance OrsWrapper::get_leg_distance(const rapidjson::Value& leg) const {
assert(leg.HasMember("distance"));
return utils::round<UserDistance>(leg["distance"].GetDouble());
}

} // namespace vroom::routing
4 changes: 0 additions & 4 deletions src/routing/ors_wrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,6 @@ class OrsWrapper : public HttpWrapper {
const rapidjson::Value&
get_legs(const rapidjson::Value& result) const override;

UserDuration get_leg_duration(const rapidjson::Value& leg) const override;

UserDistance get_leg_distance(const rapidjson::Value& leg) const override;

public:
OrsWrapper(const std::string& profile, const Server& server);
};
Expand Down
12 changes: 0 additions & 12 deletions src/routing/osrm_routed_wrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,16 +94,4 @@ OsrmRoutedWrapper::get_legs(const rapidjson::Value& result) const {
return result["routes"][0]["legs"];
}

UserDuration
OsrmRoutedWrapper::get_leg_duration(const rapidjson::Value& leg) const {
assert(leg.HasMember("duration"));
return utils::round<UserDuration>(leg["duration"].GetDouble());
}

UserDistance
OsrmRoutedWrapper::get_leg_distance(const rapidjson::Value& leg) const {
assert(leg.HasMember("distance"));
return utils::round<UserDistance>(leg["distance"].GetDouble());
}

} // namespace vroom::routing
4 changes: 0 additions & 4 deletions src/routing/osrm_routed_wrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,6 @@ class OsrmRoutedWrapper : public HttpWrapper {
const rapidjson::Value&
get_legs(const rapidjson::Value& result) const override;

UserDuration get_leg_duration(const rapidjson::Value& leg) const override;

UserDistance get_leg_distance(const rapidjson::Value& leg) const override;

public:
OsrmRoutedWrapper(const std::string& profile, const Server& server);
};
Expand Down

0 comments on commit d919455

Please sign in to comment.