NVMeSensorMain: Define provideRootBusContext()
Continue lifting code from the lambda to simplify its implementation.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I4919a13658d5e96b71ed45d38e8db74ad7da2c90
diff --git a/src/NVMeSensorMain.cpp b/src/NVMeSensorMain.cpp
index 1b48248..cae7eb3 100644
--- a/src/NVMeSensorMain.cpp
+++ b/src/NVMeSensorMain.cpp
@@ -95,6 +95,27 @@
return std::stoi(rootName.substr(0, dash));
}
+static std::shared_ptr<NVMeContext>
+ provideRootBusContext(boost::asio::io_service& io, NVMEMap& map,
+ int rootBus)
+{
+ auto findRoot = map.find(rootBus);
+ if (findRoot != map.end())
+ {
+ return findRoot->second;
+ }
+
+ std::shared_ptr<NVMeContext> context =
+#if HAVE_NVME_MI_MCTP
+ std::make_shared<NVMeMCTPContext>(io, rootBus);
+#else
+ std::make_shared<NVMeBasicContext>(io, rootBus);
+#endif
+ map[rootBus] = context;
+
+ return context;
+}
+
static void handleSensorConfigurations(
boost::asio::io_service& io, sdbusplus::asio::object_server& objectServer,
std::shared_ptr<sdbusplus::asio::connection>& dbusConnection,
@@ -160,21 +181,8 @@
continue;
}
- std::shared_ptr<NVMeContext> context;
- auto findRoot = nvmeDeviceMap.find(*rootBus);
- if (findRoot != nvmeDeviceMap.end())
- {
- context = findRoot->second;
- }
- else
- {
-#if HAVE_NVME_MI_MCTP
- context = std::make_shared<NVMeMCTPContext>(io, *rootBus);
-#else
- context = std::make_shared<NVMeBasicContext>(io, *rootBus);
-#endif
- nvmeDeviceMap[*rootBus] = context;
- }
+ std::shared_ptr<NVMeContext> context =
+ provideRootBusContext(io, nvmeDeviceMap, *rootBus);
std::shared_ptr<NVMeSensor> sensorPtr = std::make_shared<NVMeSensor>(
objectServer, io, dbusConnection, *sensorName,