Update overall VPD collection status
This commit adds code to use xyz.openbmc_project.Common.Progress
interface instead of the com.ibm.VPD.Manager to update overall VPD
collection status of the system.
Output:
```
Collection status updates when FRUs VPD gets collected
root@p11bmc:~# busctl get-property com.ibm.VPD.Manager /com/ibm/VPD/Manager xyz.openbmc_project.Common.Progress Status
s "xyz.openbmc_project.Common.Progress.OperationStatus.NotStarted"
root@p11bmc:~# busctl get-property com.ibm.VPD.Manager /com/ibm/VPD/Manager xyz.openbmc_project.Common.Progress Status
s "xyz.openbmc_project.Common.Progress.OperationStatus.InProgress"
root@p11bmc:~# busctl get-property com.ibm.VPD.Manager /com/ibm/VPD/Manager xyz.openbmc_project.Common.Progress Status
s "xyz.openbmc_project.Common.Progress.OperationStatus.Completed"
```
Change-Id: I8fc12e5c3ee89092405b6a270cf3eaafa70d41d2
Signed-off-by: Anupama B R <anupama.b.r1@ibm.com>
diff --git a/vpd-manager/include/manager.hpp b/vpd-manager/include/manager.hpp
index 88e328b..c43f52f 100644
--- a/vpd-manager/include/manager.hpp
+++ b/vpd-manager/include/manager.hpp
@@ -33,11 +33,14 @@
*
* @param[in] ioCon - IO context.
* @param[in] iFace - interface to implement.
+ * @param[in] progressiFace - Interface to track collection progress.
* @param[in] connection - Dbus Connection.
*/
- Manager(const std::shared_ptr<boost::asio::io_context>& ioCon,
- const std::shared_ptr<sdbusplus::asio::dbus_interface>& iFace,
- const std::shared_ptr<sdbusplus::asio::connection>& asioConnection);
+ Manager(
+ const std::shared_ptr<boost::asio::io_context>& ioCon,
+ const std::shared_ptr<sdbusplus::asio::dbus_interface>& iFace,
+ const std::shared_ptr<sdbusplus::asio::dbus_interface>& progressiFace,
+ const std::shared_ptr<sdbusplus::asio::connection>& asioConnection);
/**
* @brief Destructor.
@@ -250,6 +253,9 @@
// Shared pointer to Dbus interface class.
const std::shared_ptr<sdbusplus::asio::dbus_interface>& m_interface;
+ // Shared pointer to collection progress interface class.
+ const std::shared_ptr<sdbusplus::asio::dbus_interface>& m_progressInterface;
+
// Shared pointer to bus connection.
const std::shared_ptr<sdbusplus::asio::connection>& m_asioConnection;
@@ -260,7 +266,7 @@
std::shared_ptr<GpioMonitor> m_gpioMonitor;
// Variable to hold current collection status
- std::string m_vpdCollectionStatus = "NotStarted";
+ std::string m_vpdCollectionStatus{constants::vpdCollectionNotStarted};
// Shared pointer to backup and restore class
std::shared_ptr<BackupAndRestore> m_backupAndRestoreObj;