Add Sensor.Threshold server bindings
Temporarily add the server bindings for xyz.openbmc_project.Sensor.Threshold
until they are available elsewhere.
Change-Id: I476d0ee3abbc5a93a6720eedc4ecfa8ae0cc3d0c
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/xyz.openbmc_project.Sensor.Threshold.Warning.cpp b/xyz.openbmc_project.Sensor.Threshold.Warning.cpp
new file mode 100644
index 0000000..4e06927
--- /dev/null
+++ b/xyz.openbmc_project.Sensor.Threshold.Warning.cpp
@@ -0,0 +1,360 @@
+#include <algorithm>
+#include <sdbusplus/server.hpp>
+#include <sdbusplus/exception.hpp>
+#include <xyz/openbmc_project/Sensor/Threshold/Warning/server.hpp>
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Sensor
+{
+namespace Threshold
+{
+namespace server
+{
+
+Warning::Warning(bus::bus& bus, const char* path)
+ : _xyz_openbmc_project_Sensor_Threshold_Warning_interface(
+ bus, path, _interface, _vtable, this)
+{
+}
+
+
+
+auto Warning::warningHigh() const ->
+ int64_t
+{
+ return _warningHigh;
+}
+
+int Warning::_callback_get_WarningHigh(
+ sd_bus* bus, const char* path, const char* interface,
+ const char* property, sd_bus_message* reply, void* context,
+ sd_bus_error* error)
+{
+ using sdbusplus::server::binding::details::convertForMessage;
+
+ try
+ {
+ auto m = message::message(sd_bus_message_ref(reply));
+
+ auto o = static_cast<Warning*>(context);
+ m.append(convertForMessage(o->warningHigh()));
+ }
+ catch(sdbusplus::internal_exception_t& e)
+ {
+ sd_bus_error_set_const(error, e.name(), e.description());
+ return -EINVAL;
+ }
+
+ return true;
+}
+
+auto Warning::warningHigh(int64_t value) ->
+ int64_t
+{
+ if (_warningHigh != value)
+ {
+ _warningHigh = value;
+ _xyz_openbmc_project_Sensor_Threshold_Warning_interface.property_changed("WarningHigh");
+ }
+
+ return _warningHigh;
+}
+
+int Warning::_callback_set_WarningHigh(
+ sd_bus* bus, const char* path, const char* interface,
+ const char* property, sd_bus_message* value, void* context,
+ sd_bus_error* error)
+{
+ try
+ {
+ auto m = message::message(sd_bus_message_ref(value));
+
+ auto o = static_cast<Warning*>(context);
+
+ int64_t v{};
+ m.read(v);
+ o->warningHigh(v);
+ }
+ catch(sdbusplus::internal_exception_t& e)
+ {
+ sd_bus_error_set_const(error, e.name(), e.description());
+ return -EINVAL;
+ }
+
+ return true;
+}
+
+namespace details
+{
+namespace Warning
+{
+static const auto _property_WarningHigh =
+ utility::tuple_to_array(message::types::type_id<
+ int64_t>());
+}
+}
+auto Warning::warningLow() const ->
+ int64_t
+{
+ return _warningLow;
+}
+
+int Warning::_callback_get_WarningLow(
+ sd_bus* bus, const char* path, const char* interface,
+ const char* property, sd_bus_message* reply, void* context,
+ sd_bus_error* error)
+{
+ using sdbusplus::server::binding::details::convertForMessage;
+
+ try
+ {
+ auto m = message::message(sd_bus_message_ref(reply));
+
+ auto o = static_cast<Warning*>(context);
+ m.append(convertForMessage(o->warningLow()));
+ }
+ catch(sdbusplus::internal_exception_t& e)
+ {
+ sd_bus_error_set_const(error, e.name(), e.description());
+ return -EINVAL;
+ }
+
+ return true;
+}
+
+auto Warning::warningLow(int64_t value) ->
+ int64_t
+{
+ if (_warningLow != value)
+ {
+ _warningLow = value;
+ _xyz_openbmc_project_Sensor_Threshold_Warning_interface.property_changed("WarningLow");
+ }
+
+ return _warningLow;
+}
+
+int Warning::_callback_set_WarningLow(
+ sd_bus* bus, const char* path, const char* interface,
+ const char* property, sd_bus_message* value, void* context,
+ sd_bus_error* error)
+{
+ try
+ {
+ auto m = message::message(sd_bus_message_ref(value));
+
+ auto o = static_cast<Warning*>(context);
+
+ int64_t v{};
+ m.read(v);
+ o->warningLow(v);
+ }
+ catch(sdbusplus::internal_exception_t& e)
+ {
+ sd_bus_error_set_const(error, e.name(), e.description());
+ return -EINVAL;
+ }
+
+ return true;
+}
+
+namespace details
+{
+namespace Warning
+{
+static const auto _property_WarningLow =
+ utility::tuple_to_array(message::types::type_id<
+ int64_t>());
+}
+}
+auto Warning::warningAlarmHigh() const ->
+ bool
+{
+ return _warningAlarmHigh;
+}
+
+int Warning::_callback_get_WarningAlarmHigh(
+ sd_bus* bus, const char* path, const char* interface,
+ const char* property, sd_bus_message* reply, void* context,
+ sd_bus_error* error)
+{
+ using sdbusplus::server::binding::details::convertForMessage;
+
+ try
+ {
+ auto m = message::message(sd_bus_message_ref(reply));
+
+ auto o = static_cast<Warning*>(context);
+ m.append(convertForMessage(o->warningAlarmHigh()));
+ }
+ catch(sdbusplus::internal_exception_t& e)
+ {
+ sd_bus_error_set_const(error, e.name(), e.description());
+ return -EINVAL;
+ }
+
+ return true;
+}
+
+auto Warning::warningAlarmHigh(bool value) ->
+ bool
+{
+ if (_warningAlarmHigh != value)
+ {
+ _warningAlarmHigh = value;
+ _xyz_openbmc_project_Sensor_Threshold_Warning_interface.property_changed("WarningAlarmHigh");
+ }
+
+ return _warningAlarmHigh;
+}
+
+int Warning::_callback_set_WarningAlarmHigh(
+ sd_bus* bus, const char* path, const char* interface,
+ const char* property, sd_bus_message* value, void* context,
+ sd_bus_error* error)
+{
+ try
+ {
+ auto m = message::message(sd_bus_message_ref(value));
+
+ auto o = static_cast<Warning*>(context);
+
+ bool v{};
+ m.read(v);
+ o->warningAlarmHigh(v);
+ }
+ catch(sdbusplus::internal_exception_t& e)
+ {
+ sd_bus_error_set_const(error, e.name(), e.description());
+ return -EINVAL;
+ }
+
+ return true;
+}
+
+namespace details
+{
+namespace Warning
+{
+static const auto _property_WarningAlarmHigh =
+ utility::tuple_to_array(message::types::type_id<
+ bool>());
+}
+}
+auto Warning::warningAlarmLow() const ->
+ bool
+{
+ return _warningAlarmLow;
+}
+
+int Warning::_callback_get_WarningAlarmLow(
+ sd_bus* bus, const char* path, const char* interface,
+ const char* property, sd_bus_message* reply, void* context,
+ sd_bus_error* error)
+{
+ using sdbusplus::server::binding::details::convertForMessage;
+
+ try
+ {
+ auto m = message::message(sd_bus_message_ref(reply));
+
+ auto o = static_cast<Warning*>(context);
+ m.append(convertForMessage(o->warningAlarmLow()));
+ }
+ catch(sdbusplus::internal_exception_t& e)
+ {
+ sd_bus_error_set_const(error, e.name(), e.description());
+ return -EINVAL;
+ }
+
+ return true;
+}
+
+auto Warning::warningAlarmLow(bool value) ->
+ bool
+{
+ if (_warningAlarmLow != value)
+ {
+ _warningAlarmLow = value;
+ _xyz_openbmc_project_Sensor_Threshold_Warning_interface.property_changed("WarningAlarmLow");
+ }
+
+ return _warningAlarmLow;
+}
+
+int Warning::_callback_set_WarningAlarmLow(
+ sd_bus* bus, const char* path, const char* interface,
+ const char* property, sd_bus_message* value, void* context,
+ sd_bus_error* error)
+{
+ try
+ {
+ auto m = message::message(sd_bus_message_ref(value));
+
+ auto o = static_cast<Warning*>(context);
+
+ bool v{};
+ m.read(v);
+ o->warningAlarmLow(v);
+ }
+ catch(sdbusplus::internal_exception_t& e)
+ {
+ sd_bus_error_set_const(error, e.name(), e.description());
+ return -EINVAL;
+ }
+
+ return true;
+}
+
+namespace details
+{
+namespace Warning
+{
+static const auto _property_WarningAlarmLow =
+ utility::tuple_to_array(message::types::type_id<
+ bool>());
+}
+}
+
+
+const vtable::vtable_t Warning::_vtable[] = {
+ vtable::start(),
+ vtable::property("WarningHigh",
+ details::Warning::_property_WarningHigh
+ .data(),
+ _callback_get_WarningHigh,
+ _callback_set_WarningHigh,
+ vtable::property_::emits_change),
+ vtable::property("WarningLow",
+ details::Warning::_property_WarningLow
+ .data(),
+ _callback_get_WarningLow,
+ _callback_set_WarningLow,
+ vtable::property_::emits_change),
+ vtable::property("WarningAlarmHigh",
+ details::Warning::_property_WarningAlarmHigh
+ .data(),
+ _callback_get_WarningAlarmHigh,
+ _callback_set_WarningAlarmHigh,
+ vtable::property_::emits_change),
+ vtable::property("WarningAlarmLow",
+ details::Warning::_property_WarningAlarmLow
+ .data(),
+ _callback_get_WarningAlarmLow,
+ _callback_set_WarningAlarmLow,
+ vtable::property_::emits_change),
+ vtable::end()
+};
+
+} // namespace server
+} // namespace Threshold
+} // namespace Sensor
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+