diff options
Diffstat (limited to 'monitor')
-rw-r--r-- | monitor/fan.cpp | 2 | ||||
-rw-r--r-- | monitor/fan.hpp | 2 | ||||
-rw-r--r-- | monitor/nonzero_speed_trust.hpp | 2 | ||||
-rw-r--r-- | monitor/trust_group.hpp | 17 | ||||
-rw-r--r-- | monitor/trust_manager.hpp | 2 |
5 files changed, 12 insertions, 13 deletions
diff --git a/monitor/fan.cpp b/monitor/fan.cpp index 637a3ca..256d0cb 100644 --- a/monitor/fan.cpp +++ b/monitor/fan.cpp @@ -47,7 +47,7 @@ Fan::Fan(Mode mode, try { _sensors.emplace_back( - std::make_unique<TachSensor>( + std::make_shared<TachSensor>( mode, bus, *this, diff --git a/monitor/fan.hpp b/monitor/fan.hpp index 0b0c047..fb87b66 100644 --- a/monitor/fan.hpp +++ b/monitor/fan.hpp @@ -190,7 +190,7 @@ class Fan /** * The sensor objects for the fan */ - std::vector<std::unique_ptr<TachSensor>> _sensors; + std::vector<std::shared_ptr<TachSensor>> _sensors; /** * The tach trust manager object diff --git a/monitor/nonzero_speed_trust.hpp b/monitor/nonzero_speed_trust.hpp index 3d14adf..93fce7d 100644 --- a/monitor/nonzero_speed_trust.hpp +++ b/monitor/nonzero_speed_trust.hpp @@ -53,7 +53,7 @@ class NonzeroSpeed : public Group _sensors.end(), [](const auto& s) { - return s.get()->getInput() != 0; + return s->getInput() != 0; }); } }; diff --git a/monitor/trust_group.hpp b/monitor/trust_group.hpp index e0db5c9..ff60508 100644 --- a/monitor/trust_group.hpp +++ b/monitor/trust_group.hpp @@ -57,7 +57,7 @@ class Group * * @param[in] sensor - the TachSensor to register */ - void registerSensor(std::unique_ptr<monitor::TachSensor>& sensor) + void registerSensor(std::shared_ptr<monitor::TachSensor>& sensor) { auto found = std::find_if( _names.begin(), @@ -89,7 +89,7 @@ class Group _sensors.end(), [&sensor](const auto& s) { - return sensor.name() == s.get()->name(); + return sensor.name() == s->name(); }) != _sensors.end()); } @@ -107,7 +107,7 @@ class Group _sensors.end(), [](const auto& s) { - s.get()->stopTimer(); + s->stopTimer(); }); } @@ -126,11 +126,11 @@ class Group { //If a sensor isn't functional, then its timer //already expired so don't bother starting it again - if (s.get()->functional() && - static_cast<uint64_t>(s.get()->getInput()) != - s.get()->getTarget()) + if (s->functional() && + static_cast<uint64_t>(s->getInput()) != + s->getTarget()) { - s.get()->startTimer(); + s->startTimer(); } }); } @@ -194,8 +194,7 @@ class Group * * Added by registerSensor(). */ - std::vector<std::reference_wrapper< - std::unique_ptr<monitor::TachSensor>>> _sensors; + std::vector<std::shared_ptr<monitor::TachSensor>> _sensors; private: diff --git a/monitor/trust_manager.hpp b/monitor/trust_manager.hpp index d78e647..031d890 100644 --- a/monitor/trust_manager.hpp +++ b/monitor/trust_manager.hpp @@ -122,7 +122,7 @@ class Manager * @param[in] sensor - the sensor to register */ void registerSensor( - std::unique_ptr<monitor::TachSensor>& sensor) + std::shared_ptr<monitor::TachSensor>& sensor) { std::for_each( groups.begin(), |