summaryrefslogtreecommitdiffstats
path: root/src/associations.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/associations.hpp')
-rw-r--r--src/associations.hpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/associations.hpp b/src/associations.hpp
index 8ebef43..d926006 100644
--- a/src/associations.hpp
+++ b/src/associations.hpp
@@ -58,3 +58,21 @@ void removeAssociation(const std::string& sourcePath, const std::string& owner,
sdbusplus::asio::object_server& server,
AssociationOwnersType& assocOwners,
AssociationInterfaces& assocInterfaces);
+
+/** @brief Remove input paths from endpoints of an association
+ *
+ * If the last endpoint was removed, then remove the whole
+ * association object, otherwise just set the property
+ *
+ * @param[in] objectServer - sdbus system object
+ * @param[in] assocPath - Path of the object that contains the
+ * org.openbmc.Associations
+ * @param[in] endpointsToRemove - Endpoints to remove
+ * @param[in,out] assocInterfaces - Associations endpoints
+ *
+ * @return Void, objectServer and assocInterfaces updated if needed
+ */
+void removeAssociationEndpoints(
+ sdbusplus::asio::object_server& objectServer, const std::string& assocPath,
+ const boost::container::flat_set<std::string>& endpointsToRemove,
+ AssociationInterfaces& assocInterfaces);
OpenPOWER on IntegriCloud