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);