1 #pragma once 2 3 #include "base_device.hpp" 4 5 #include <unordered_set> 6 7 namespace phosphor::modbus::rtu::device 8 { 9 10 namespace config 11 { 12 13 struct DeviceFactoryConfig; 14 15 } // namespace config 16 17 class ReservoirPumpUnit : public BaseDevice 18 { 19 public: 20 explicit ReservoirPumpUnit(sdbusplus::async::context& ctx, 21 const config::Config& config, 22 PortIntf& serialPort, EventIntf::Events& events); 23 24 static auto getInterfaces() -> std::unordered_set<std::string>; 25 26 static auto getConfig(sdbusplus::async::context& ctx, 27 const sdbusplus::message::object_path& objectPath, 28 const std::string& interfaceName) 29 -> sdbusplus::async::task<std::optional<config::DeviceFactoryConfig>>; 30 }; 31 32 } // namespace phosphor::modbus::rtu::device 33