Activation: Add activationBlocksTransition
Use activationBlocksTransition during PSU code update, which prevent
host from powering on during the activation.
Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: Ie303a99d9bbfee49c949884f16dbca0c5b08ee6e
diff --git a/src/activation.cpp b/src/activation.cpp
index 2230d0f..131e480 100644
--- a/src/activation.cpp
+++ b/src/activation.cpp
@@ -58,7 +58,7 @@
}
else
{
- // TODO
+ activationBlocksTransition.reset();
}
return SoftwareActivation::activation(value);
@@ -104,6 +104,12 @@
void Activation::startActivation()
{
+ if (!activationBlocksTransition)
+ {
+ activationBlocksTransition =
+ std::make_unique<ActivationBlocksTransition>(bus, path);
+ }
+
// TODO: for now only update one psu, future commits shall handle update
// multiple psus
auto psuPaths = utils::getPSUInventoryPath(bus);
@@ -122,6 +128,8 @@
void Activation::finishActivation()
{
+ activationBlocksTransition.reset();
+
// TODO: delete the old software object
// TODO: create related associations
deleteImageManagerObject();