summaryrefslogtreecommitdiffstats
path: root/presence/psensor.hpp
diff options
context:
space:
mode:
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