Fix CI unused variable error
"checkAndListenPldmService" API which was being called as a part of bios
handler construction has been moved out and called explicitly to avoid
unused variable error for bios handler object in manager main cpp file.
Change-Id: Ibbc77b6f340ae793b6daf4a4f53ecc6c5326f882
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
diff --git a/vpd-manager/src/manager_main.cpp b/vpd-manager/src/manager_main.cpp
index ab1d374..0f8424f 100644
--- a/vpd-manager/src/manager_main.cpp
+++ b/vpd-manager/src/manager_main.cpp
@@ -35,10 +35,28 @@
auto vpdManager = std::make_shared<vpd::Manager>(
io_con, interface, progressInf, connection);
- // TODO: Take this under conditional compilation for IBM
- auto biosHandler =
- std::make_shared<vpd::BiosHandler<vpd::IbmBiosHandler>>(
- connection, vpdManager);
+ try
+ {
+ // TODO: Take this under conditional compilation for IBM
+ auto biosHandler =
+ std::make_shared<vpd::BiosHandler<vpd::IbmBiosHandler>>(
+ connection, vpdManager);
+ biosHandler->checkAndListenPldmService();
+ }
+ catch (const std::exception& l_ex)
+ {
+ // Cathcing exception here explicitly to let VPD-Manager service
+ // continue even when bios handler fails.
+ const std::string& l_errMsg =
+ "Instantiation of BIOS Handler failed. { " +
+ std::string(l_ex.what()) + std::string(" }");
+
+ vpd::EventLogger::createSyncPel(
+ vpd::types::ErrorType::FirmwareError,
+ vpd::types::SeverityType::Warning, __FILE__, __FUNCTION__, 0,
+ l_errMsg, std::nullopt, std::nullopt, std::nullopt,
+ std::nullopt);
+ }
interface->initialize();
progressInf->initialize();