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 Remove the associations from the provided software image path
25      *
26      * @param[in]  path - The path to remove the association from.
27      */
28     virtual void removeAssociation(const std::string& path) = 0;
29 };
30