topology: schema rework: implementation
Implementation code for the schema change done in [1]. This change
enables entity-manager to consume the new schema and create associations
based on it.
Tested: next patch
References:
[1] https://gerrit.openbmc.org/c/openbmc/entity-manager/+/82817
Change-Id: If227949ab7bb216c2365241c307fe752b0a4cd93
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
diff --git a/src/entity_manager/topology.hpp b/src/entity_manager/topology.hpp
index cab4533..a55b995 100644
--- a/src/entity_manager/topology.hpp
+++ b/src/entity_manager/topology.hpp
@@ -25,6 +25,8 @@
bool operator<(const AssocName& other) const;
};
+extern const std::vector<AssocName> supportedAssocs;
+
class Topology
{
public:
@@ -57,9 +59,12 @@
BoardPathsView boardPaths, const Path& upstream, const Path& downstream,
const AssocName& assocName);
+ void addConfiguredPort(const Path& path, const nlohmann::json& exposesItem);
void addPort(const PortType& port, const Path& path,
const AssocName& assocName);
+ static std::optional<AssocName> getAssocByName(const std::string& name);
+
// Maps the port name to the participating paths.
// each path also has their role(s) in the association.
// For example a PSU path which is part of "MB Upstream Port"