Pass discrete type/ID values into addThreshold
The ID has to be looked up separately in some cases
so can't always be the ID specified in the key_type object.
Change-Id: I7f5b395ec3db2182fe84df24047bfae64fcee479
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
diff --git a/thresholds.hpp b/thresholds.hpp
index 5639615..3bb3f7a 100644
--- a/thresholds.hpp
+++ b/thresholds.hpp
@@ -72,13 +72,16 @@
*
* @tparam T - The threshold type.
*
- * @param[in] sensor - A sensor type and name.
+ * @param[in] sensorType - sensor type, like 'temp'
+ * @param[in] sensorID - sensor ID, like '5'
* @param[in] value - The sensor reading.
* @param[in] info - The sdbusplus server connection and interfaces.
*/
template <typename T>
-auto addThreshold(const SensorSet::key_type& sensor,
- int64_t value, ObjectInfo& info)
+auto addThreshold(const std::string& sensorType,
+ const std::string& sensorID,
+ int64_t value,
+ ObjectInfo& info)
{
static constexpr bool deferSignals = true;
@@ -86,8 +89,9 @@
auto& objPath = std::get<std::string>(info);
auto& obj = std::get<Object>(info);
std::shared_ptr<T> iface;
- auto tLo = getEnv(Thresholds<T>::envLo, sensor);
- auto tHi = getEnv(Thresholds<T>::envHi, sensor);
+
+ auto tLo = getEnv(Thresholds<T>::envLo, sensorType, sensorID);
+ auto tHi = getEnv(Thresholds<T>::envHi, sensorType, sensorID);
if (!tLo.empty() && !tHi.empty())
{
iface = std::make_shared<T>(bus, objPath.c_str(), deferSignals);