Lei YU | 7f2a215 | 2019-09-16 16:50:18 +0800 | [diff] [blame] | 1 | #pragma once |
| 2 | |
| 3 | #include <string> |
| 4 | |
| 5 | class AssociationInterface |
| 6 | { |
| 7 | public: |
George Liu | 66a54ad | 2024-08-23 13:53:39 +0800 | [diff] [blame] | 8 | AssociationInterface() = default; |
| 9 | AssociationInterface(const AssociationInterface&) = delete; |
| 10 | AssociationInterface& operator=(const AssociationInterface&) = delete; |
| 11 | AssociationInterface(AssociationInterface&&) = delete; |
| 12 | AssociationInterface& operator=(AssociationInterface&&) = delete; |
| 13 | |
Lei YU | 7f2a215 | 2019-09-16 16:50:18 +0800 | [diff] [blame] | 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 | |
Lei YU | a8b966f | 2020-03-18 10:32:24 +0800 | [diff] [blame] | 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 | |
Lei YU | 7f2a215 | 2019-09-16 16:50:18 +0800 | [diff] [blame] | 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 | }; |