blob: d96a74827037904c1c360e2dafe627f5aadbb20f [file] [log] [blame]
Lei YUb53425d2019-02-22 11:38:40 +08001#pragma once
2
3#include "activation.hpp"
4
Lei YU2b2d2292019-03-18 15:22:56 +08005#include <filesystem>
Andrew Geisslerab139ce2020-05-16 13:22:09 -05006#include <string>
Lei YU2b2d2292019-03-18 15:22:56 +08007
Lei YUb53425d2019-02-22 11:38:40 +08008namespace openpower
9{
10namespace software
11{
12namespace updater
13{
14
Lei YU2b2d2292019-03-18 15:22:56 +080015namespace fs = std::filesystem;
16
Lei YUb53425d2019-02-22 11:38:40 +080017/** @class ActivationStatic
18 * @brief Implementation for static PNOR layout
19 */
20class ActivationStatic : public Activation
21{
22 public:
23 using Activation::Activation;
24 ~ActivationStatic() = default;
Lei YUa2e67162019-02-22 17:35:24 +080025 Activations activation(Activations value) override;
Lei YUb53425d2019-02-22 11:38:40 +080026
27 private:
Patrick Williams0dea1992022-07-22 19:26:52 -050028 void unitStateChange(sdbusplus::message_t& msg) override;
Lei YUb53425d2019-02-22 11:38:40 +080029 void startActivation() override;
30 void finishActivation() override;
Lei YUa2e67162019-02-22 17:35:24 +080031
32 std::string pnorUpdateUnit;
Lei YU2b2d2292019-03-18 15:22:56 +080033
34 fs::path pnorFilePath;
Lei YUb53425d2019-02-22 11:38:40 +080035};
36
37} // namespace updater
38} // namespace software
39} // namespace openpower