1 #pragma once 2 3 #include <string> 4 5 class AssociationInterface 6 { 7 public: 8 virtual ~AssociationInterface() = default; 9 10 /** @brief Create an active association to the 11 * newly active software image 12 * 13 * @param[in] path - The path to create the association to. 14 */ 15 virtual void createActiveAssociation(const std::string& path) = 0; 16 17 /** @brief Add the functional association to the 18 * new "running" PSU images 19 * 20 * @param[in] path - The path to add the association to. 21 */ 22 virtual void addFunctionalAssociation(const std::string& path) = 0; 23 24 /** @brief Add the updateable association to the 25 * "running" PSU software image 26 * 27 * @param[in] path - The path to create the association. 28 */ 29 virtual void addUpdateableAssociation(const std::string& path) = 0; 30 31 /** @brief Remove the associations from the provided software image path 32 * 33 * @param[in] path - The path to remove the association from. 34 */ 35 virtual void removeAssociation(const std::string& path) = 0; 36 }; 37