Skip to content
Snippets Groups Projects
Commit 0e80917f authored by René Paris's avatar René Paris
Browse files

Merge branch 'bugfix/propagate_constness' into 'master'

Bugfix/propagate constness

See merge request eclipse/simopenpass/scenario_api!72
parents 3d7829b2 1b011d0b
No related branches found
No related tags found
No related merge requests found
...@@ -70,8 +70,10 @@ public: ...@@ -70,8 +70,10 @@ public:
virtual const IGeometryHelper* GetGeometryHelper() const = 0; virtual const IGeometryHelper* GetGeometryHelper() const = 0;
virtual IEntityRepository& GetEntityRepository() = 0; virtual IEntityRepository& GetEntityRepository() = 0;
virtual const IEntityRepository& GetEntityRepository() const = 0;
virtual IControllerRepository& GetControllerRepository() = 0; virtual IControllerRepository& GetControllerRepository() = 0;
virtual const IControllerRepository& GetControllerRepository() const = 0;
/// @brief DateTime in UTC (converted from RFC 3339 standard) /// @brief DateTime in UTC (converted from RFC 3339 standard)
virtual void SetDateTime(mantle_api::Time time) = 0; virtual void SetDateTime(mantle_api::Time time) = 0;
......
...@@ -38,7 +38,9 @@ public: ...@@ -38,7 +38,9 @@ public:
virtual IVehicle& GetHost() = 0; virtual IVehicle& GetHost() = 0;
virtual std::optional<std::reference_wrapper<IEntity>> Get(const std::string& name) = 0; virtual std::optional<std::reference_wrapper<IEntity>> Get(const std::string& name) = 0;
virtual std::optional<std::reference_wrapper<const IEntity>> Get(const std::string& name) const = 0;
virtual std::optional<std::reference_wrapper<IEntity>> Get(UniqueId id) = 0; virtual std::optional<std::reference_wrapper<IEntity>> Get(UniqueId id) = 0;
virtual std::optional<std::reference_wrapper<const IEntity>> Get(UniqueId id) const = 0;
virtual bool Contains(UniqueId id) const = 0; virtual bool Contains(UniqueId id) const = 0;
virtual void Delete(const std::string& name) = 0; virtual void Delete(const std::string& name) = 0;
......
...@@ -318,6 +318,12 @@ public: ...@@ -318,6 +318,12 @@ public:
(const std::string& name), (const std::string& name),
()); ());
MOCK_METHOD(mantle_api::IEntity*,
GetImpl,
(const std::string& name),
(const));
std::optional<std::reference_wrapper<IEntity>> Get(const std::string& name) override std::optional<std::reference_wrapper<IEntity>> Get(const std::string& name) override
{ {
if (auto* entity = GetImpl(name)) if (auto* entity = GetImpl(name))
...@@ -327,12 +333,27 @@ public: ...@@ -327,12 +333,27 @@ public:
return test_vehicle_; return test_vehicle_;
} }
std::optional<std::reference_wrapper<const IEntity>> Get(const std::string& name) const override
{
if (auto* entity = GetImpl(name))
{
return *entity;
}
return test_vehicle_;
}
std::optional<std::reference_wrapper<IEntity>> Get(mantle_api::UniqueId id) override std::optional<std::reference_wrapper<IEntity>> Get(mantle_api::UniqueId id) override
{ {
std::ignore = id; std::ignore = id;
return test_vehicle_; return test_vehicle_;
} }
std::optional<std::reference_wrapper<const IEntity>> Get(mantle_api::UniqueId id) const override
{
std::ignore = id;
return test_vehicle_;
}
mantle_api::IVehicle& GetHost() override { return test_vehicle_; } mantle_api::IVehicle& GetHost() override { return test_vehicle_; }
const std::vector<std::unique_ptr<mantle_api::IEntity>>& GetEntities() const override { return entities_; } const std::vector<std::unique_ptr<mantle_api::IEntity>>& GetEntities() const override { return entities_; }
...@@ -444,8 +465,12 @@ public: ...@@ -444,8 +465,12 @@ public:
mantle_api::IEntityRepository& GetEntityRepository() override { return entity_repository_; } mantle_api::IEntityRepository& GetEntityRepository() override { return entity_repository_; }
const mantle_api::IEntityRepository& GetEntityRepository() const override { return entity_repository_; }
MockControllerRepository& GetControllerRepository() override { return controller_repository_; } MockControllerRepository& GetControllerRepository() override { return controller_repository_; }
const MockControllerRepository& GetControllerRepository() const override { return controller_repository_; }
void SetRoadCondition(std::vector<mantle_api::FrictionPatch> friction_patches) override void SetRoadCondition(std::vector<mantle_api::FrictionPatch> friction_patches) override
{ {
std::ignore = friction_patches; std::ignore = friction_patches;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment