pseq: Delete DeviceFinder class
Delete the DeviceFinder class that was previously used by the
phosphor-power-sequencer application.
This class is no longer needed since the device information is now
stored in the new JSON config file format.
Tested:
* Ran automated tests
Change-Id: Ice0dcc8edbeb17143668c128251f120163152e34
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
diff --git a/phosphor-power-sequencer/src/device_finder.cpp b/phosphor-power-sequencer/src/device_finder.cpp
deleted file mode 100644
index f01bc8e..0000000
--- a/phosphor-power-sequencer/src/device_finder.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * Copyright © 2024 IBM Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "device_finder.hpp"
-
-#include <phosphor-logging/lg2.hpp>
-
-#include <exception>
-#include <format>
-#include <stdexcept>
-#include <utility>
-#include <variant>
-#include <vector>
-
-namespace phosphor::power::sequencer
-{
-
-const std::string deviceInterfacesService = "xyz.openbmc_project.EntityManager";
-
-const std::vector<std::string> deviceInterfaces{
- "xyz.openbmc_project.Configuration.UCD90160",
- "xyz.openbmc_project.Configuration.UCD90320"};
-
-const std::string typeProperty = "Type";
-const std::string nameProperty = "Name";
-const std::string busProperty = "Bus";
-const std::string addressProperty = "Address";
-
-DeviceFinder::DeviceFinder(sdbusplus::bus_t& bus, Callback callback) :
- callback{std::move(callback)}
-{
- interfacesFinder = std::make_unique<DBusInterfacesFinder>(
- bus, deviceInterfacesService, deviceInterfaces,
- std::bind_front(&DeviceFinder::interfaceFoundCallback, this));
-}
-
-void DeviceFinder::interfaceFoundCallback(
- [[maybe_unused]] const std::string& path, const std::string& interface,
- const DbusPropertyMap& properties)
-{
- try
- {
- DeviceProperties device{};
-
- auto value = getPropertyValue(properties, typeProperty);
- device.type = std::get<std::string>(value);
-
- value = getPropertyValue(properties, nameProperty);
- device.name = std::get<std::string>(value);
-
- value = getPropertyValue(properties, busProperty);
- device.bus = static_cast<uint8_t>(std::get<uint64_t>(value));
-
- value = getPropertyValue(properties, addressProperty);
- device.address = static_cast<uint16_t>(std::get<uint64_t>(value));
-
- callback(device);
- }
- catch (const std::exception& e)
- {
- lg2::error(
- "Unable to obtain properties of interface {INTERFACE}: {ERROR}",
- "INTERFACE", interface, "ERROR", e);
- }
-}
-
-const DbusVariant& DeviceFinder::getPropertyValue(
- const DbusPropertyMap& properties, const std::string& propertyName)
-{
- auto it = properties.find(propertyName);
- if (it == properties.end())
- {
- throw std::runtime_error{
- std::format("{} property not found", propertyName)};
- }
- return it->second;
-}
-
-} // namespace phosphor::power::sequencer
diff --git a/phosphor-power-sequencer/src/device_finder.hpp b/phosphor-power-sequencer/src/device_finder.hpp
deleted file mode 100644
index 52fc1c6..0000000
--- a/phosphor-power-sequencer/src/device_finder.hpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/**
- * Copyright © 2024 IBM Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#pragma once
-
-#include "dbus_interfaces_finder.hpp"
-#include "utility.hpp"
-
-#include <sdbusplus/bus.hpp>
-
-#include <cstdint>
-#include <functional>
-#include <memory>
-#include <string>
-
-namespace phosphor::power::sequencer
-{
-
-using DbusVariant = phosphor::power::util::DbusVariant;
-using DbusPropertyMap = phosphor::power::util::DbusPropertyMap;
-using DBusInterfacesFinder = phosphor::power::util::DBusInterfacesFinder;
-
-/**
- * Power sequencer device properties.
- */
-struct DeviceProperties
-{
- std::string type;
- std::string name;
- uint8_t bus;
- uint16_t address;
-};
-
-/**
- * @class DeviceFinder
- *
- * Class that finds power sequencer devices in the system.
- *
- * When a device is found, the callback function specified in the constructor is
- * called. This function will be called multiple times if multiple devices are
- * found.
- */
-class DeviceFinder
-{
- public:
- // Specify which compiler-generated methods we want
- DeviceFinder() = delete;
- DeviceFinder(const DeviceFinder&) = delete;
- DeviceFinder(DeviceFinder&&) = delete;
- DeviceFinder& operator=(const DeviceFinder&) = delete;
- DeviceFinder& operator=(DeviceFinder&&) = delete;
- ~DeviceFinder() = default;
-
- /**
- * Callback function that is called when a power sequencer device is found.
- *
- * @param device Device that was found
- */
- using Callback = std::function<void(const DeviceProperties& device)>;
-
- /**
- * Constructor.
- *
- * Note: The callback function may be called immediately by this
- * constructor. For this reason, do not use this constructor in the
- * initialization list of constructors in other classes. Otherwise the
- * callback may be called before the other class is fully initialized,
- * leading to unpredictable behavior.
- *
- * @param bus D-Bus bus object
- * @param callback Callback function that is called each time a power
- * sequencer device is found
- */
- explicit DeviceFinder(sdbusplus::bus_t& bus, Callback callback);
-
- /**
- * Callback function that is called when a D-Bus interface is found that
- * contains power sequencer device properties.
- *
- * @param path D-Bus object path that implements the interface
- * @param interface D-Bus interface that was found
- * @param properties Properties of the D-Bus interface
- */
- void interfaceFoundCallback(const std::string& path,
- const std::string& interface,
- const DbusPropertyMap& properties);
-
- private:
- /**
- * Returns the value of the D-Bus property with the specified name.
- *
- * Throws an exception if the property was not found.
- *
- * @param properties D-Bus interface properties
- * @param propertyName D-Bus property name
- * @return Property value
- */
- const DbusVariant& getPropertyValue(const DbusPropertyMap& properties,
- const std::string& propertyName);
-
- /**
- * Callback function that is called each time a power sequencer device is
- * found.
- */
- Callback callback;
-
- /**
- * Class used to find D-Bus interfaces that contain power sequencer device
- * properties.
- */
- std::unique_ptr<DBusInterfacesFinder> interfacesFinder;
-};
-
-} // namespace phosphor::power::sequencer
diff --git a/phosphor-power-sequencer/src/meson.build b/phosphor-power-sequencer/src/meson.build
index 68a8da8..c2de97b 100644
--- a/phosphor-power-sequencer/src/meson.build
+++ b/phosphor-power-sequencer/src/meson.build
@@ -3,7 +3,6 @@
phosphor_power_sequencer_library = static_library(
'phosphor-power-sequencer',
'config_file_parser.cpp',
- 'device_finder.cpp',
'pmbus_driver_device.cpp',
'rail.cpp',
'services.cpp',