Skip to content

Commit a2283b9

Browse files
committed
osi: Return reference to osi3::SensorData instead of shared_ptr
1 parent 4bbac1d commit a2283b9

File tree

2 files changed

+13
-16
lines changed

2 files changed

+13
-16
lines changed

osi/include/cloe/component/osi_sensor.hpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ class OsiSensor : public Component {
4040
/**
4141
* Return OSI-SensorData
4242
*/
43-
[[nodiscard]] virtual const std::shared_ptr<osi3::SensorData>& get() const = 0;
44-
[[nodiscard]] virtual std::shared_ptr<osi3::SensorData>& get() = 0;
43+
[[nodiscard]] virtual const osi3::SensorData& get() const = 0;
4544
};
4645

4746
} // namespace cloe

osi/src/cloe/component/osi_sensor_test.cpp

+12-14
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,18 @@
2929
class TestOsiSensor : public ::cloe::OsiSensor {
3030
public:
3131
using OsiSensor::OsiSensor;
32-
TestOsiSensor() : OsiSensor("nop_osi_sensor") {}
32+
TestOsiSensor(const osi3::SensorData& sdata) : OsiSensor("nop_osi_sensor") {
33+
sensor_data_ = std::make_shared<osi3::SensorData>(sdata);
34+
}
3335
TestOsiSensor(const TestOsiSensor&) = default;
3436
TestOsiSensor(TestOsiSensor&&) = delete;
3537
TestOsiSensor& operator=(const TestOsiSensor&) = default;
3638
TestOsiSensor& operator=(TestOsiSensor&&) = delete;
3739
~TestOsiSensor() noexcept override = default;
3840

39-
[[nodiscard]] const std::shared_ptr<osi3::SensorData>& get() const override {
40-
return sensor_data_;
41+
[[nodiscard]] const osi3::SensorData& get() const override {
42+
return *sensor_data_;
4143
};
42-
std::shared_ptr<osi3::SensorData>& get() override { return sensor_data_; }
4344

4445
void reset() override {
4546
OsiSensor::reset();
@@ -57,14 +58,11 @@ class TestOsiSensor : public ::cloe::OsiSensor {
5758
};
5859

5960
TEST(cloe_osi_sensor, sensor_data) {
60-
TestOsiSensor sensor;
61-
{
62-
osi3::SensorData sd;
63-
sd.mutable_version()->set_version_major(3);
64-
sd.mutable_timestamp()->set_seconds(1);
65-
sensor.get() = std::make_shared<osi3::SensorData>(sd);
66-
}
67-
ASSERT_TRUE(sensor.get()->has_version());
68-
ASSERT_TRUE(sensor.get()->has_timestamp());
69-
ASSERT_FALSE(sensor.get()->has_mounting_position());
61+
osi3::SensorData sd;
62+
sd.mutable_version()->set_version_major(3);
63+
sd.mutable_timestamp()->set_seconds(1);
64+
TestOsiSensor sensor(sd);
65+
ASSERT_TRUE(sensor.get().has_version());
66+
ASSERT_TRUE(sensor.get().has_timestamp());
67+
ASSERT_FALSE(sensor.get().has_mounting_position());
7068
}

0 commit comments

Comments
 (0)