Add Activation interface to HSBP version object
Add activation interface to HSBP version object to represent the
'active' state of firmware.
Tested:
Flashed and check HSBP object for activation status.
Tested:
1. Verified in Redfish using below URL.
GET: https://<BMC-IP>/redfish/v1/UpdateService/FirmwareInventory/
J85894_HSBP_1
Response:
{
"@odata.context": "/redfish/v1/$metadata#SoftwareInventory.
SoftwareInventory",
"@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/
J85894_HSBP_1",
"@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory",
"Description": "HSBP image",
"Id": "J85894_HSBP_1",
"Name": "Software Inventory",
"Status": {
"Health": "OK",
"HealthRollup": "OK",
"State": "Enabled"
},
"Updateable": false,
"Version": "00.02.01"
}
Change-Id: I28e2c36594e2d1c889b3a31391f57212b045a741
Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
diff --git a/hsbp-manager/src/hsbp_manager.cpp b/hsbp-manager/src/hsbp_manager.cpp
index 04e85ab..56d0d24 100644
--- a/hsbp-manager/src/hsbp_manager.cpp
+++ b/hsbp-manager/src/hsbp_manager.cpp
@@ -382,6 +382,22 @@
std::string(
"xyz.openbmc_project.Software.Version.VersionPurpose.HSBP"));
versionIface->initialize();
+
+ auto activationIface =
+ objServer.add_interface("/xyz/openbmc_project/software/" + dbusName,
+ "xyz.openbmc_project.Software.Activation");
+
+ activationIface->register_property(
+ "Activation",
+ std::string(
+ "xyz.openbmc_project.Software.Activation.Activations.Active"));
+ activationIface->register_property(
+ "RequestedActivation",
+ std::string("xyz.openbmc_project.Software.Activation."
+ "RequestedActivations.None"));
+
+ activationIface->initialize();
+
getPresence(presence);
getIFDET(ifdet);