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