sdbusplus: object: don't use 'bool' argument constructor
`sdbusplus::server::object_t` has long had an enum-based parameter for
signal action, but maintained a backwards compatible boolean mapping.
It is time to remove this boolean to make it more observable which
actions are being used in applications. Map all `true` occurrences to
`action::defer_emit` or `action::emit_no_signals` as appropriate.
- Value: defer_emit (primary object)
- Others: emit_no_signals (secondary objects)
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I892a1c953231123aa5407b388ff9133882d80feb
diff --git a/sensor.cpp b/sensor.cpp
index ddca883..add4617 100644
--- a/sensor.cpp
+++ b/sensor.cpp
@@ -121,8 +121,6 @@
ObjectInfo& info,
TimedoutMap& timedoutMap)
{
- static constexpr bool deferSignals = true;
-
// Get the initial value for the value interface.
auto& bus = *std::get<sdbusplus::bus::bus*>(info);
auto& obj = std::get<InterfaceMap>(info);
@@ -180,8 +178,8 @@
#endif
}
- auto iface =
- std::make_shared<ValueObject>(bus, objPath.c_str(), deferSignals);
+ auto iface = std::make_shared<ValueObject>(bus, objPath.c_str(),
+ ValueObject::action::defer_emit);
hwmon::Attributes attrs;
if (hwmon::getAttributes(_sensor.first, attrs))
@@ -253,10 +251,10 @@
}
}
- static constexpr bool deferSignals = true;
auto& bus = *std::get<sdbusplus::bus::bus*>(info);
- iface = std::make_shared<StatusObject>(bus, objPath.c_str(), deferSignals);
+ iface = std::make_shared<StatusObject>(
+ bus, objPath.c_str(), StatusObject::action::emit_no_signals);
// Set functional property
iface->functional(functional);