cleanup: Move probe and scan into their own files
Moving the code into separate files and grouping them by namespace
improves 'separation of concern'. Increases maintainability.
Tested:
Changes have been tested in QEMU/Yosemite35 machine with Yosemite4
Image and adapted configfile, where Probe statement set to true.
Service runs and places the information in the inventory
```
root@yosemite4:~# busctl tree xyz.openbmc_project.EntityManager
`- /xyz
`- /xyz/openbmc_project
|- /xyz/openbmc_project/EntityManager
`- /xyz/openbmc_project/inventory
`- /xyz/openbmc_project/inventory/system
`- /xyz/openbmc_project/inventory/system/board
`- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/All_Fan
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P0V6_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P12V_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P1V0_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P1V2_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P1V8_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P2V5_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P3V3_RGM_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P3V3_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P3V_BAT_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P5V_USB_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_ADC_P5V_VOLT_V
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/MGNT_TEMP_C
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/PID_NIC_TEMP
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/Stepwise_MGNT_TEMP
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/Stepwise_NIC_TEMP
|- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/Stepwise_SENTINEL_DOME_SLOT_PRESENT_PERCENTAGE
`- /xyz/openbmc_project/inventory/system/board/Yosemite_4_Management_Board/Zone_1
```
Change-Id: I0ae0cb14b054ac1a964c5a8e1164811384a4f31b
Signed-off-by: Christopher Meis <christopher.meis@9elements.com>
diff --git a/src/perform_scan.cpp b/src/perform_scan.cpp
index 73df57d..d05312d 100644
--- a/src/perform_scan.cpp
+++ b/src/perform_scan.cpp
@@ -14,7 +14,10 @@
// limitations under the License.
*/
/// \file perform_scan.cpp
+#include "perform_scan.hpp"
+
#include "entity_manager.hpp"
+#include "perform_probe.hpp"
#include <boost/algorithm/string/predicate.hpp>
#include <boost/asio/steady_timer.hpp>
@@ -48,8 +51,8 @@
void getInterfaces(
const DBusInterfaceInstance& instance,
- const std::vector<std::shared_ptr<PerformProbe>>& probeVector,
- const std::shared_ptr<PerformScan>& scan, size_t retries = 5)
+ const std::vector<std::shared_ptr<probe::PerformProbe>>& probeVector,
+ const std::shared_ptr<scan::PerformScan>& scan, size_t retries = 5)
{
if (retries == 0U)
{
@@ -109,8 +112,8 @@
}
static void processDbusObjects(
- std::vector<std::shared_ptr<PerformProbe>>& probeVector,
- const std::shared_ptr<PerformScan>& scan,
+ std::vector<std::shared_ptr<probe::PerformProbe>>& probeVector,
+ const std::shared_ptr<scan::PerformScan>& scan,
const GetSubTreeType& interfaceSubtree)
{
for (const auto& [path, object] : interfaceSubtree)
@@ -137,10 +140,10 @@
// Populates scan->dbusProbeObjects with all interfaces and properties
// for the paths that own the interfaces passed in.
-void findDbusObjects(std::vector<std::shared_ptr<PerformProbe>>&& probeVector,
- boost::container::flat_set<std::string>&& interfaces,
- const std::shared_ptr<PerformScan>& scan,
- size_t retries = 5)
+void findDbusObjects(
+ std::vector<std::shared_ptr<probe::PerformProbe>>&& probeVector,
+ boost::container::flat_set<std::string>&& interfaces,
+ const std::shared_ptr<scan::PerformScan>& scan, size_t retries = 5)
{
// Filter out interfaces already obtained.
for (const auto& [path, probeInterfaces] : scan->dbusProbeObjects)
@@ -221,11 +224,11 @@
return std::to_string(std::hash<std::string>{}(probeName + device.dump()));
}
-PerformScan::PerformScan(nlohmann::json& systemConfiguration,
- nlohmann::json& missingConfigurations,
- std::list<nlohmann::json>& configurations,
- sdbusplus::asio::object_server& objServerIn,
- std::function<void()>&& callback) :
+scan::PerformScan::PerformScan(nlohmann::json& systemConfiguration,
+ nlohmann::json& missingConfigurations,
+ std::list<nlohmann::json>& configurations,
+ sdbusplus::asio::object_server& objServerIn,
+ std::function<void()>&& callback) :
_systemConfiguration(systemConfiguration),
_missingConfigurations(missingConfigurations),
_configurations(configurations), objServer(objServerIn),
@@ -449,9 +452,9 @@
return copyIt.value();
}
-void PerformScan::updateSystemConfiguration(const nlohmann::json& recordRef,
- const std::string& probeName,
- FoundDevices& foundDevices)
+void scan::PerformScan::updateSystemConfiguration(
+ const nlohmann::json& recordRef, const std::string& probeName,
+ FoundDevices& foundDevices)
{
_passed = true;
passedProbes.push_back(probeName);
@@ -564,10 +567,10 @@
}
}
-void PerformScan::run()
+void scan::PerformScan::run()
{
boost::container::flat_set<std::string> dbusProbeInterfaces;
- std::vector<std::shared_ptr<PerformProbe>> dbusProbePointers;
+ std::vector<std::shared_ptr<probe::PerformProbe>> dbusProbePointers;
for (auto it = _configurations.begin(); it != _configurations.end();)
{
@@ -611,7 +614,7 @@
// store reference to this to children to makes sure we don't get
// destroyed too early
auto thisRef = shared_from_this();
- auto probePointer = std::make_shared<PerformProbe>(
+ auto probePointer = std::make_shared<probe::PerformProbe>(
recordRef, probeCommand, probeName, thisRef);
// parse out dbus probes by discarding other probe types, store in a
@@ -624,7 +627,7 @@
std::cerr << "Probe statement wasn't a string, can't parse";
continue;
}
- if (findProbeType(*probe))
+ if (probe::findProbeType(*probe))
{
continue;
}
@@ -643,7 +646,7 @@
std::move(dbusProbeInterfaces), shared_from_this());
}
-PerformScan::~PerformScan()
+scan::PerformScan::~PerformScan()
{
if (_passed)
{