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