diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2017-07-25 19:02:15 -0400 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2017-08-02 20:18:19 +0000 |
commit | 617495111eae22fe82f1e430ad69697675635595 (patch) | |
tree | 1df7e49a013b05871168e93ad64ea781ab2dbf9b /presence/psensor.hpp | |
parent | d516c61b6fa55edc6ed55bd685686b12d5c876ac (diff) | |
download | phosphor-fan-presence-617495111eae22fe82f1e430ad69697675635595.tar.gz phosphor-fan-presence-617495111eae22fe82f1e430ad69697675635595.zip |
presence: Add sensor comparison
Add a basic comparison operator for presence sensors.
Change-Id: Ib147fd24f6e9ea1daf5f2b0b71943e0b4c96a8b7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'presence/psensor.hpp')
-rw-r--r-- | presence/psensor.hpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/presence/psensor.hpp b/presence/psensor.hpp index 096c96c..7afbd75 100644 --- a/presence/psensor.hpp +++ b/presence/psensor.hpp @@ -1,4 +1,5 @@ #pragma once +#include <cstdint> namespace phosphor { @@ -26,7 +27,10 @@ class PresenceSensor PresenceSensor(PresenceSensor&&) = default; PresenceSensor& operator=(PresenceSensor&&) = default; virtual ~PresenceSensor() = default; - PresenceSensor() = default; + PresenceSensor() : id(nextId) + { + nextId++; + } /** * @brief start @@ -70,8 +74,22 @@ class PresenceSensor * Provide a default noop implementation. */ virtual void fail() {} + + friend bool operator==(const PresenceSensor& l, const PresenceSensor& r); + + private: + /** @brief Unique sensor ID. */ + std::size_t id; + + /** @brief The next unique sensor ID. */ + static std::size_t nextId; }; +inline bool operator==(const PresenceSensor& l, const PresenceSensor &r) +{ + return l.id == r.id; +} + } // namespace presence } // namespace fan } // namespace phosphor |