summaryrefslogtreecommitdiffstats
path: root/presence/psensor.hpp
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2017-07-25 19:02:15 -0400
committerPatrick Williams <patrick@stwcx.xyz>2017-08-02 20:18:19 +0000
commit617495111eae22fe82f1e430ad69697675635595 (patch)
tree1df7e49a013b05871168e93ad64ea781ab2dbf9b /presence/psensor.hpp
parentd516c61b6fa55edc6ed55bd685686b12d5c876ac (diff)
downloadphosphor-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.hpp20
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
OpenPOWER on IntegriCloud