summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Spinler <spinler@us.ibm.com>2017-09-27 16:24:45 -0500
committerMatt Spinler <spinler@us.ibm.com>2017-10-02 13:06:48 -0500
commit6fa181c781e59961e61f9cf5755ed220c2428c16 (patch)
tree9aa5e46d141601d91e3737e57eea654483d1a6b2
parent4c04a016faa989bbc1ad4334b164535f017954b1 (diff)
downloadphosphor-fan-presence-6fa181c781e59961e61f9cf5755ed220c2428c16.tar.gz
phosphor-fan-presence-6fa181c781e59961e61f9cf5755ed220c2428c16.zip
monitor: Move timer ops into TachSensor
Upcoming commits will touch the TachSensor timer outside of the Fan class, and it will be cleaner to encapsulate the operations in TachSensor. Change-Id: I8584c44eb5dbe6bb93191a006d20dfc37596eeb3 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
-rw-r--r--monitor/fan.cpp8
-rw-r--r--monitor/tach_sensor.hpp27
2 files changed, 27 insertions, 8 deletions
diff --git a/monitor/fan.cpp b/monitor/fan.cpp
index 054c67d..a2e0386 100644
--- a/monitor/fan.cpp
+++ b/monitor/fan.cpp
@@ -27,7 +27,6 @@ namespace monitor
{
using namespace phosphor::logging;
-using TimerType = phosphor::fan::util::Timer::TimerType;
constexpr auto INVENTORY_PATH = "/xyz/openbmc_project/inventory";
constexpr auto INVENTORY_INTF = "xyz.openbmc_project.Inventory.Manager";
@@ -90,8 +89,7 @@ void Fan::tachChanged()
void Fan::tachChanged(TachSensor& sensor)
{
- auto& timer = sensor.getTimer();
- auto running = timer.running();
+ auto running = sensor.timerRunning();
//If this sensor is out of range at this moment, start
//its timer, at the end of which the inventory
@@ -103,7 +101,7 @@ void Fan::tachChanged(TachSensor& sensor)
{
if (sensor.functional() && !running)
{
- timer.start(sensor.getTimeout(), TimerType::oneshot);
+ sensor.startTimer();
}
}
else
@@ -115,7 +113,7 @@ void Fan::tachChanged(TachSensor& sensor)
if (running)
{
- timer.stop();
+ sensor.stopTimer();
}
//If the fan was nonfunctional and enough sensors are now OK,
diff --git a/monitor/tach_sensor.hpp b/monitor/tach_sensor.hpp
index 4691d1e..60a55e3 100644
--- a/monitor/tach_sensor.hpp
+++ b/monitor/tach_sensor.hpp
@@ -101,11 +101,32 @@ class TachSensor
}
/**
- * Returns the timer object for this sensor
+ * @brief Says if the timer is running or not
+ *
+ * @return bool - if timer is currently running
+ */
+ inline bool timerRunning()
+ {
+ return _timer.running();
+ }
+
+ /**
+ * @brief Starts the timer for the amount of time
+ * specified in the constructor
+ */
+ inline void startTimer()
+ {
+ _timer.start(
+ getTimeout(),
+ phosphor::fan::util::Timer::TimerType::oneshot);
+ }
+
+ /**
+ * @brief Stops the timer
*/
- inline phosphor::fan::util::Timer& getTimer()
+ inline void stopTimer()
{
- return _timer;
+ _timer.stop();
}
/**
OpenPOWER on IntegriCloud