blob: 29697194226eb6e0d46e797e0b8247db19f157f8 [file] [log] [blame]
Lei YU7f2a2152019-09-16 16:50:18 +08001#pragma once
2
3#include <string>
4
5class 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
Lei YUa8b966f2020-03-18 10:32:24 +080024 /** @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
Lei YU7f2a2152019-09-16 16:50:18 +080031 /** @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};