blob: 9d25b9bb2f9dbb24b8e659f571a4f7dcf64b393a [file] [log] [blame]
#pragma once
#include <string>
class AssociationInterface
{
public:
AssociationInterface() = default;
AssociationInterface(const AssociationInterface&) = delete;
AssociationInterface& operator=(const AssociationInterface&) = delete;
AssociationInterface(AssociationInterface&&) = delete;
AssociationInterface& operator=(AssociationInterface&&) = delete;
virtual ~AssociationInterface() = default;
/** @brief Create an active association to the
* newly active software image
*
* @param[in] path - The path to create the association to.
*/
virtual void createActiveAssociation(const std::string& path) = 0;
/** @brief Add the functional association to the
* new "running" PSU images
*
* @param[in] path - The path to add the association to.
*/
virtual void addFunctionalAssociation(const std::string& path) = 0;
/** @brief Add the updateable association to the
* "running" PSU software image
*
* @param[in] path - The path to create the association.
*/
virtual void addUpdateableAssociation(const std::string& path) = 0;
/** @brief Remove the associations from the provided software image path
*
* @param[in] path - The path to remove the association from.
*/
virtual void removeAssociation(const std::string& path) = 0;
};