entity-manager: extract function for AddObject API
extract `addObject` function for the implementation of "AddObject" DBus
API.
The reduced indentation enhances readability and helps with further
refactoring.
Additionally the feature is decoupled from its DBus method name,
allowing easier unit-testing.
Tested: next patches in series
Change-Id: I9722d7b4c6baf53f1b833f81671e9bd6d8b71f17
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
diff --git a/src/entity_manager/dbus_interface.hpp b/src/entity_manager/dbus_interface.hpp
index babc854..3e24768 100644
--- a/src/entity_manager/dbus_interface.hpp
+++ b/src/entity_manager/dbus_interface.hpp
@@ -14,6 +14,11 @@
namespace dbus_interface
{
+using JsonVariantType =
+ std::variant<std::vector<std::string>, std::vector<double>, std::string,
+ int64_t, uint64_t, double, int32_t, uint32_t, int16_t,
+ uint16_t, uint8_t, bool>;
+
class EMDBusInterface
{
public:
@@ -45,6 +50,11 @@
nlohmann::json& systemConfiguration);
private:
+ void addObject(
+ const std::flat_map<std::string, JsonVariantType, std::less<>>& data,
+ nlohmann::json& systemConfiguration, const std::string& jsonPointerPath,
+ const std::string& path, const std::string& board);
+
boost::asio::io_context& io;
sdbusplus::asio::object_server& objServer;