1*f106a2c8SAndrew Jeffery #include "fw-update/activation.hpp" 2*f106a2c8SAndrew Jeffery 3*f106a2c8SAndrew Jeffery #include "fw-update/update_manager.hpp" 4*f106a2c8SAndrew Jeffery 5*f106a2c8SAndrew Jeffery namespace pldm 6*f106a2c8SAndrew Jeffery { 7*f106a2c8SAndrew Jeffery namespace fw_update 8*f106a2c8SAndrew Jeffery { 9*f106a2c8SAndrew Jeffery 10*f106a2c8SAndrew Jeffery ActivationIntf::Activations activation(ActivationIntf::Activations value)11*f106a2c8SAndrew Jeffery Activation::activation(ActivationIntf::Activations value) 12*f106a2c8SAndrew Jeffery { 13*f106a2c8SAndrew Jeffery if (value == ActivationIntf::Activations::Activating) 14*f106a2c8SAndrew Jeffery { 15*f106a2c8SAndrew Jeffery deleteImpl.reset(); 16*f106a2c8SAndrew Jeffery updateManager->activatePackage(); 17*f106a2c8SAndrew Jeffery } 18*f106a2c8SAndrew Jeffery else if (value == ActivationIntf::Activations::Active || 19*f106a2c8SAndrew Jeffery value == ActivationIntf::Activations::Failed) 20*f106a2c8SAndrew Jeffery { 21*f106a2c8SAndrew Jeffery if (!deleteImpl) 22*f106a2c8SAndrew Jeffery { 23*f106a2c8SAndrew Jeffery deleteImpl = std::make_unique<Delete>(bus, objPath, updateManager); 24*f106a2c8SAndrew Jeffery } 25*f106a2c8SAndrew Jeffery } 26*f106a2c8SAndrew Jeffery 27*f106a2c8SAndrew Jeffery return ActivationIntf::activation(value); 28*f106a2c8SAndrew Jeffery } 29*f106a2c8SAndrew Jeffery delete_()30*f106a2c8SAndrew Jefferyvoid Delete::delete_() 31*f106a2c8SAndrew Jeffery { 32*f106a2c8SAndrew Jeffery updateManager->clearActivationInfo(); 33*f106a2c8SAndrew Jeffery } 34*f106a2c8SAndrew Jeffery } // namespace fw_update 35*f106a2c8SAndrew Jeffery } // namespace pldm 36